Данные пользовательских полей в XML
Схема обмена данными XML Microsoft Office Project 2007 (mspdi_pj12.xsd) изменяет способ представления некоторых пользовательских сведений о полях в ФОРМАТЕ XML. В этой статье описывается, как Office Project 2007 представляет настраиваемые определения полей и значения настраиваемых полей в формате XML.
Данные настраиваемого поля
В project хранятся сведения о настраиваемых полях как один из двух типов:
Определение настраиваемого поля Определение настраиваемого поля состоит из данных, необходимых для определения локального или корпоративного настраиваемого поля. Project в Интернете локальные настраиваемые поля представлены как корпоративные настраиваемые поля. Эти данные включают такие сведения, как имя настраиваемого поля, идентификатор настраиваемого поля и тип настраиваемого поля.
XML-элементы, используемые для хранения настраиваемых определений полей, определяются в разделе XML-схема элемента ExtendedAttributes схемы обмена данными Project XML.
Значение настраиваемого поля Значение настраиваемого поля — это данные, необходимые для определения определенного значения настраиваемого поля и связывания его с проектом, задачей, ресурсом или назначением. Например, можно настроить в настраиваемом поле Health Enterprise значение Поздний для конкретной задачи.
В статье содержатся следующие разделы:
Настраиваемые определения полей в XML
Значения настраиваемых полей в XML
Настраиваемые определения полей в XML
Project 2007 представляет все определения корпоративных и локальных настраиваемых полей в расширенной коллекции атрибутов, которая содержится в элементе ExtendedAttributes в выходном XML-файле. Каждое определение настраиваемого поля представлено одним элементом ExtendedAttribute и его дочерними элементами.
В следующем примере показано XML-представление расширенной коллекции атрибутов, которая определяет два настраиваемых поля. Text1 — это локальное настраиваемое поле, а работоспособность — это корпоративное настраиваемое поле, предварительно настроенное в 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>
При сохранении проекта в формате XML все локальные определения настраиваемых полей записываются в коллекцию расширенных атрибутов. Однако вы можете включить в выходные данные XML только загруженные корпоративные настраиваемые поля. Выбор сохранения только загруженных глобальных корпоративных элементов может привести к созданию XML-файла меньшего размера, более управляемого.
Дополнительные сведения о сохранении проектов в формате XML см. в разделе Сохранение и открытие проектов в формате XML.
Значения настраиваемых полей в XML
При настройке определенного значения для настраиваемого поля на уровне проекта, задачи, ресурса или назначения Project 2007 записывает сведения об этом значении в раздел сводной задачи, задачи, ресурса или назначения выходных данных XML соответственно.
Чтобы представить значение настраиваемого поля в ФОРМАТЕ XML, необходимо выполнить следующие три требования:
Свяжите значение настраиваемого поля с сущностью Project (проект, задача, ресурс или назначение), для которую оно настроено.
Свяжите значение настраиваемого поля с определением настраиваемого поля, к которому оно принадлежит.
Укажите значение настраиваемого поля.
В следующих разделах описывается, как Project 2007 представляет значения настраиваемых полей в ФОРМАТЕ XML:
Корпоративные значения настраиваемых полей
Значения локальных настраиваемых полей
Корпоративные значения настраиваемых полей
В Project 2007 можно настроить неограниченное количество корпоративных настраиваемых полей. Это улучшение изменяет способ, которым Project 2007 сохраняет корпоративные значения настраиваемых полей в XML.
В следующем примере показаны соответствующие выходные данные XML для задачи с настраиваемым полем Работоспособности предприятия, настроенным для значения таблицы подстановки по расписанию.
<Task>
...
<b408001>0000BB21-B2AE-410A-88B6-82C108903823</b408001>
...
</Task>
Этот XML-код удовлетворяет трем требованиям для хранения значения настраиваемого поля в XML следующим образом:
Значение настраиваемого поля записывается в раздел сводной задачи, задачи, ресурса или назначения выходных данных XML, для чего настроено значение. Это связывает значение настраиваемого поля с правильной сущностью Project, в данном случае с определенной задачей.
Идентификатор настраиваемого поля используется для связывания значения настраиваемого поля с определением настраиваемого поля. Идентификатор настраиваемого поля хранится в элементе FieldID в определении настраиваемого поля. Для настраиваемого поля Работоспособности предприятия идентификатор настраиваемого поля 188776449.
Имя XML-элемента, в котором хранится значение настраиваемого поля, в данном случае элемент b408001, соответствует шестнадцатеричным представлениям идентификатора настраиваемого поля. Для настраиваемого поля Health enterprise шестнадцатеричное значение 0xb408001 равно двоичному значению 188776449.
Значение настраиваемого поля хранится внутри элемента b408001. Так как настраиваемое поле Health Enterprise является таблицей подстановки, значение настраиваемого поля для параметра По расписанию — это GUID этого значения таблицы подстановки 0000BB21-B2AE-410A-88B6-82C108903823.
В таблице 1 показаны допустимые диапазоны идентификаторов настраиваемых полей для каждого типа настраиваемого поля предприятия.
Таблица 1. Идентификаторы настраиваемых полей предприятия
Корпоративная конфигурация значений настраиваемого поля |
Диапазон идентификаторов настраиваемого поля (decimal) |
Настраиваемый диапазон идентификаторов поля (шестнадцатеричный) |
---|---|---|
Уровень проекта |
190873600 – 190939135 |
b608000 – b617fff |
Уровень задачи |
188776448 – 188841983 |
b408000 – b417fff |
Уровень ресурсов |
205553664 – 205619199 |
c408000 – c417fff |
Уровень назначения |
255885312 – 255950847 |
f408000 – f417fff |
Так как существует 262 140 возможных корпоративных идентификаторов настраиваемых полей, для значений настраиваемых полей имеется 262 140 возможных имен ЭЛЕМЕНТОВ XML. Для повышения производительности XML-элементы, которые Project 2007 использует для хранения корпоративных значений настраиваемых полей, не определены в базовой схеме обмена данными PROJECT XML (mspdi_pj12.xsd). Вместо этого эти элементы определяются в дополнительных файлах схемы, включенных в пакет SDK для Project 2007. Ссылку на скачивание пакета SDK для Project 2007 см. в разделе Добро пожаловать в пакет SDK для Microsoft Office Project 2007.
Базовая схема включает заметки со строкой поиска "##", чтобы указать расположение, в которое Project 2007 записывает корпоративные элементы значений настраиваемого поля, которые не определены в mspdi_pj12.xsd.
Значения локальных настраиваемых полей
Project 2007 представляет локальные настраиваемые значения полей в XML одним из двух способов. Значения локальных настраиваемых полей присваиваются в XML в том же формате, что и для корпоративных значений настраиваемых полей, а значения локальных настраиваемых полей проекта, задачи и ресурса записываются в XML в том же формате, что и в Microsoft Office Project 2003.
В следующих разделах содержатся более подробные сведения о том, как значения локальных настраиваемых полей представлены в ФОРМАТЕ XML в Project 2007.
Присваивание значений локальных настраиваемых полей в XML
Значения локальных настраиваемых полей проекта, задачи и ресурса в XML
Присваивание значений локальных настраиваемых полей в XML
Project 2007 записывает значения локального настраиваемого поля назначения в том же формате, что и корпоративные значения настраиваемых полей, и удовлетворяет трем требованиям для хранения значения настраиваемого поля в ФОРМАТЕ XML таким же образом.
В таблице 2 показан допустимый диапазон идентификаторов настраиваемых полей для назначения локальных настраиваемых полей. Базовая схема mspdi_pj12.xsd определяет 200 возможных XML-элементов для назначения значений локальных настраиваемых полей.
Табл. 2. Присвоение локальных идентификаторов настраиваемых полей
Конфигурация локальных значений настраиваемого поля |
Диапазон идентификаторов настраиваемого поля (decimal) |
Настраиваемый диапазон идентификаторов поля (шестнадцатеричный) |
---|---|---|
Уровень назначения |
255868928 – 255869128 |
f404000 – f4040c8 |
Значения локальных настраиваемых полей проекта, задачи и ресурса в XML
Project 2007 записывает значения локального настраиваемого поля проекта, задачи и ресурса в формате, показанном в следующем примере. Этот формат используется в Project 2003 для всех значений настраиваемых полей.
<Task>
...
<ExtendedAttribute>
<FieldID>188743731</FieldID>
<Value>This is the value of Text1</Value>
</ExtendedAttribute>
...
</Task>
Этот XML-код удовлетворяет трем требованиям для хранения значения настраиваемого поля в XML следующим образом:
Значение настраиваемого поля записывается в раздел сводной задачи, задачи, ресурса или назначения выходных данных XML, для чего настроено значение. Это связывает значение настраиваемого поля с правильной сущностью Project, в данном случае с определенной задачей.
Идентификатор настраиваемого поля используется для связывания значения настраиваемого поля с определением настраиваемого поля. Идентификатор настраиваемого поля хранится в элементе FieldID в ФОРМАТЕ XML, представляющего как определение настраиваемого поля, так и значение настраиваемого поля.
Значение настраиваемого поля хранится внутри элемента Value.