Datos de campos personalizados en XML
El esquema de intercambio de datos XML de Microsoft Office Project 2007 (mspdi_pj12.xsd) cambia la forma en que se representa alguna información de campo personalizada en XML. En este artículo se describe cómo Office Project 2007 representa definiciones de campo personalizadas y valores de campo personalizados en formato XML.
Datos de campo personalizados
Project almacena información sobre campos personalizados como uno de dos tipos:
Definición de campo personalizada Una definición de campo personalizada consta de los datos necesarios para definir un campo personalizado local o empresarial. Project para la web campos personalizados locales se presentan como campos personalizados de empresa. Estos datos incluyen información como el nombre de campo personalizado, el identificador de campo personalizado y el tipo de campo personalizado.
Los elementos XML que se usan para almacenar definiciones de campo personalizadas se definen en la sección Esquema XML para el elemento ExtendedAttributes del esquema de intercambio de datos XML de Project.
Valor de campo personalizado Un valor de campo personalizado son datos necesarios para definir un valor determinado para un campo personalizado y asociarlo a un proyecto, tarea, recurso o asignación. Por ejemplo, puede configurar el campo Personalizado de health enterprise en el valor Late para una tarea determinada.
En este artículo se incluyen las siguientes secciones:
Definiciones de campo personalizadas en XML
Valores de campo personalizados en XML
Definiciones de campo personalizadas en XML
Project 2007 representa todas las definiciones de campos personalizados locales y empresariales de la colección de atributos extendida, que se encuentra en el elemento ExtendedAttributes del archivo de salida XML. Cada definición de campo personalizada se representa mediante un único elemento ExtendedAttribute y sus elementos secundarios.
En el ejemplo siguiente se muestra la representación XML de una colección de atributos extendida que define dos campos personalizados. Text1 es un campo personalizado local, mientras que Health es un campo personalizado de empresa preconfigurado en Project 2007.
<ExtendedAttributes>
<ExtendedAttribute>
<FieldID>188743731</FieldID>
<FieldName>Text1</FieldName>
<Alias>MyLocalCustomField</Alias>
<SecondaryPID>255869028</SecondaryPID>
</ExtendedAttribute>
<ExtendedAttribute>
<FieldID>188776449</FieldID>
<FieldName>Health</FieldName>
<CFType>7</CFType>
<Guid>0000E8D9-65F1-4769-9BD2-819D38036FCC</Guid>
<ElemType>20</ElemType>
<MaxMultiValues>1</MaxMultiValues>
<UserDef>1</UserDef>
<SecondaryPID>255885314</SecondaryPID>
<DefaultGuid>000079D2-4A43-41FC-B264-98D23FADD84B</DefaultGuid>
</ExtendedAttribute>
</ExtendedAttributes>
Al guardar un proyecto como XML, todas las definiciones de campos personalizados locales se escriben en la colección de atributos extendidos. Sin embargo, puede optar por incluir solo los campos personalizados de empresa cargados actualmente en la salida XML. Elegir guardar solo los elementos globales de empresa cargados actualmente puede dar lugar a un archivo XML más pequeño y fácil de administrar.
Para obtener más información sobre cómo guardar proyectos como XML, vea Guardar y abrir proyectos en formato XML.
Valores de campo personalizados en XML
Al configurar un valor específico para un campo personalizado en el nivel de proyecto, tarea, recurso o asignación, Project 2007 escribe información sobre ese valor en la sección de tarea de resumen, tarea, recurso o asignación de la salida XML, respectivamente.
Para representar un valor de campo personalizado en XML, debe cumplir los tres requisitos siguientes:
Asocie el valor de campo personalizado a la entidad Project (proyecto, tarea, recurso o asignación) para la que está configurado.
Asocie el valor de campo personalizado a la definición de campo personalizada a la que pertenece.
Especifique el valor de campo personalizado.
En las secciones siguientes se describe cómo Project 2007 representa los valores de campo personalizados en XML:
Valores de campo personalizados de empresa
Valores de campo personalizados locales
Valores de campo personalizados de empresa
En Project 2007 puede configurar un número ilimitado de campos personalizados de empresa. Esta mejora cambia la forma en que Project 2007 almacena valores de campo personalizados de empresa en XML.
En el ejemplo siguiente se muestra la salida XML pertinente para una tarea que tiene el campo personalizado Health Enterprise configurado para el valor de tabla de búsqueda Según programación.
<Task>
...
<b408001>0000BB21-B2AE-410A-88B6-82C108903823</b408001>
...
</Task>
Este XML satisface los tres requisitos para almacenar un valor de campo personalizado en XML de la siguiente manera:
El valor de campo personalizado se escribe en la sección de tarea de resumen, tarea, recurso o asignación de la salida XML para la que está configurado el valor. Esto asocia el valor de campo personalizado a la entidad project correcta, en este caso una tarea determinada.
El identificador de campo personalizado se usa para vincular el valor de campo personalizado a la definición de campo personalizada. El identificador de campo personalizado se almacena en el elemento FieldID de la definición de campo personalizada. En el campo Personalizado de health enterprise, se 188776449 el identificador de campo personalizado.
El nombre del elemento XML que almacena el valor de campo personalizado, en este caso el elemento b408001, corresponde a la representación hexadecimal del identificador de campo personalizado. Para el campo personalizado health enterprise, el valor hexadecimal 0xb408001 es igual al valor binario 188776449.
El valor del campo personalizado se almacena dentro del elemento b408001. Dado que el campo personalizado health enterprise es una tabla de búsqueda, el valor de campo personalizado de On Schedule es el GUID de ese valor de tabla de búsqueda, 0000BB21-B2AE-410A-88B6-82C108903823.
En la tabla 1 se muestran los intervalos válidos de identificadores de campo personalizados para cada tipo de campo personalizado de empresa.
Tabla 1. Identificadores de campo personalizados de empresa
Configuración del valor de campo personalizado de empresa |
Intervalo de identificadores de campo personalizado (decimal) |
Intervalo de identificadores de campo personalizado (hexadecimal) |
---|---|---|
Nivel de proyecto |
190873600 – 190939135 |
b608000 – b617fff |
Nivel de tarea |
188776448 – 188841983 |
b408000 – b417fff |
Nivel de recurso |
205553664 – 205619199 |
c408000 – c417fff |
Nivel de asignación |
255885312 – 255950847 |
f408000 – f417fff |
Dado que hay 262 140 posibles identificadores de campo personalizados de empresa, hay 262 140 posibles nombres de elemento XML para los valores de campo personalizados. Con fines de rendimiento, los elementos XML que Project 2007 usa para almacenar valores de campo personalizados de empresa no se definen en el esquema de intercambio de datos XML de Project (mspdi_pj12.xsd). En su lugar, estos elementos se definen en los archivos de esquema complementario incluidos en la descarga del SDK de Project 2007. Para obtener un vínculo a la descarga del SDK de Project 2007, consulte Bienvenido al SDK de Microsoft Office Project 2007.
El esquema principal incluye anotaciones con la cadena de búsqueda "##" para indicar la ubicación en la que Project 2007 escribe los elementos de valor de campo personalizado de empresa que no se definen en mspdi_pj12.xsd.
Valores de campo personalizados locales
Project 2007 representa valores de campo personalizados locales en XML de dos maneras. Los valores de campo personalizado local de asignación se escriben en XML en el mismo formato que se usa para los valores de campo personalizados de empresa, mientras que los valores de campo personalizado local de proyecto, tarea y recurso se escriben en XML en el mismo formato usado por Microsoft Office Project 2003.
Las secciones siguientes contienen información más detallada sobre cómo Project 2007 representa los valores de campo personalizados locales en XML:
Asignación de valores de campo personalizados locales en XML
Valores de campo personalizado local de proyecto, tarea y recurso en XML
Asignación de valores de campo personalizados locales en XML
Project 2007 escribe valores de campo personalizados locales de asignación con el mismo formato que los valores de campo personalizados de empresa y satisface los tres requisitos para almacenar un valor de campo personalizado en XML de la misma manera.
En la tabla 2 se muestra el intervalo válido de identificadores de campo personalizados para los campos personalizados locales de asignación. El esquema mspdi_pj12.xsd core define los 200 elementos XML posibles para asignar valores de campo personalizados locales.
Tabla 2. Identificadores de campo personalizados locales de asignación
Configuración del valor de campo personalizado local |
Intervalo de identificadores de campo personalizado (decimal) |
Intervalo de identificadores de campo personalizado (hexadecimal) |
---|---|---|
Nivel de asignación |
255868928 – 255869128 |
f404000 – f4040c8 |
Valores de campo personalizado local de proyecto, tarea y recurso en XML
Project 2007 escribe los valores de campo personalizado local de proyecto, tarea y recurso en el formato que se muestra en el ejemplo siguiente. Este es el mismo formato que usa Project 2003 para todos los valores de campo personalizados.
<Task>
...
<ExtendedAttribute>
<FieldID>188743731</FieldID>
<Value>This is the value of Text1</Value>
</ExtendedAttribute>
...
</Task>
Este XML satisface los tres requisitos para almacenar un valor de campo personalizado en XML de la siguiente manera:
El valor de campo personalizado se escribe en la sección de tarea de resumen, tarea, recurso o asignación de la salida XML para la que está configurado el valor. Esto asocia el valor de campo personalizado a la entidad project correcta, en este caso una tarea determinada.
El identificador de campo personalizado se usa para vincular el valor de campo personalizado a la definición de campo personalizada. El identificador de campo personalizado se almacena en el elemento FieldID del XML que representa tanto la definición de campo personalizado como el valor de campo personalizado.
El valor de campo personalizado se almacena dentro del elemento Value.