XML компоновщик работает от любого физического XML - файла или от XML - данных, имеющихся во внутренней памяти, которые могут быть автоматически созданы при помощи внешнего компонента, входных XML - данных в обоих случаях на базе XMLBuilderDiagram XML Schema definition file. Для шаблона схемы на основе XML компоновщика, имена классов объектов схемы, связанные с этим шаблоном схемы, должны соответствовать значениям, указанным для элементов<ОбъектКлассИмя (FeatureClassName)>, которые связаны с каждым из типов УзелОбъект (NodeFeature), СвязьОбъект (LinkFeature), Узел-на-СвязиОбъект (NodeOnLinkFeature) и ПодсвязьОбъект (SubLinkFeature), находящихся во входных XML-данных.
Процесс создания XML компоновщика
При создании диаграммы на основе XML компоновщика последний расселяет (размещает) классы объектов схемы - то есть создает объекты схемы, ожидающиеся в схеме (diagram), следующим образом:
- Для каждого элемента УзелОбъект ( NodeFeature), СвязьОбъект (LinkFeature), Узел-на-связиОбъект (NodeOnLinkFeature) и Под-связьОбъект (SubLinkFeature), находящегося во входных XML-данных, он (XML компоновщик) проверяет, что класс объекта схемы, чье имя соответствует значению, указанному для его тега <FeatureClassName>, существует для шаблона схемы.
Если такой класс объектов схемы для шаблона схемы имеется, то он создает объект схемы, связанный с XML-элементом в памяти, импортирует значения из всех входных XML-тегов в ожидаемые атрибуты схемы, и инициализирует топологию и геометрию.
- Если для связанного шаблона схемы заданы правила схемы (schematic rules), то они будут исполнены на всех объектах схемы, созданных в памяти.
- Если для шаблона схемы имеется настроенный алгоритм компоновки схемы, то алгоритм будет исполнен, и геометрия для всех объектов схемы в памяти будет соответственно обновлена.
- Все объекты схемы в памяти с момента начала процесса создания будут сохранены в классах объектов схемы в наборе схематических данных.
- Все созданные объекты схемы запрашиваются классами объектов схемы, схема отображается.
Далее, в любое время своего жизненного цикла, —то есть до тех пор, пока не будет удалена из набора схематических данных, схема может быть
- Открыта вновь
- Изменена, скомпонована и сохранена
- Обновлена из обновленной версии входных XML-данных, в этом случае изменения передаются в схему
Надлежащие XML-теги/поля класса объектов схемы (schematic feature class fields)
Следующие таблицы показывают, в какое поле класса объектов схемы перемещается в ходе процесса каждый из возможных тегов, имеющихся во входных XML-данных. Теги и названия полей жирным шрифтом являются обязательной информацией во входных XML-данных:
- Информация для любого типа ХОбъекта (XFeature)
Надлежащие XML-теги/поля классов объектов схемы для любого типа ХОбъекта ( XFeature)Тег во входных XML-данных Зависимое поле(я) в классе объектов схемы (<Внешний уникальный ID (ExternalUniqueID)>
SCHEMATICTID
<DatasourceName>
DATASOURCEID
<UCID>
UCID
<UOID>
UOID
<USID>
USID
<RelatedContainerID>
RELATIONOBJECTID и RELATIONCLASSID
- Специальная информация для элементов типа УзелОбъект (NodeFeature)
Надлежащий XML тег/поля класса объектов схемы для типа УзелОбъект (NodeFeature)Тег во входных XML-данных Зависимое поле(я) в классе объектов схемы <InitialX>
INITIALX
<InitialY>
INITIALY
- Специальная информация для элементов типа СвязьОбъект (LinkFeature)
Надлежащие XML теги/поля класса объектов схемы для любого типа СвязьОбъект (LinkFeature)Тег во входных XML-данных Зависимое поле(я) в классе объектов схемы <FromNode>
FROMTID
<ToNode>
TOTID
<Вершины>
SHAPE
- Специальная информация для элемента УзелНаСвязиОбъект (NodeOnLinkFeature)
Надлежащие XML теги/поля классов объектов схемы для типа УзелНаСвязиОбъект (NodeOnLinkFeature)Тег во входных XML-данных Зависимое поле(я) в классе объектов схемы <InitialPosition>
INITIALPOSITION
<ReferenceLink>
REFERENCELINK
- Специальная информация для элемента ПодСвязьОбъект (SubLinkFeature)
Надлежащие XML теги/поля классов объектов схемы для любого типа ПодСвязьОбъект (SubLinkFeature)Тег во входных XML-данных Зависимое поле(я) в классе объектов схемы <FromNode>
FROMTID
<ToNode>
TOTID
<ReferenceLink>
REFERENCELINK
- Данные в теге <PropertySetProperty>
Для данных в теге <PropertySetProperty>, либо (1) поле, имя которого соответствует значению <Key> во входных XML-данных, уже существует в классе объектов схемы и связанное <Значение (Value)> сохранено в этом поле или (2) <Значение (Value)> сохранено в наборе свойств <Key>, созданном в поле PROPERTYSET в ходе процесса.