XML-компоновщик работает с данными XML, основанными на файле определения XML-схемы XMLBuilderDiagram. Эти XML-данные, могут браться из файлов ввода, указанных при создании или обновлении схем, однако они также могут автоматически создаваться в памяти с помощью внешнего компонента. Содержание схемы, созданной на основе тех же XML-данных, может отличаться в зависимости от свойств, настроенных на странице свойств XML.
Приведенные ниже действия посвящены конфигурации страницы свойств XML-компоновщика.
- Дополнительные сведения об отображении схематической страницы Свойства компоновщика (Builder Properties) см. в документе Редактирование свойств компоновщика схем.
- Дополнительные сведения о создании шаблона схематического представления и определении соответствующего компоновщика схемы см. в документе Создание шаблона схематического представления
При первом отображении страницы свойств XML-компоновщика открывается диалоговое окно Свойства компоновщика (Builder Properties).Диалоговое окно Страница свойств XML-компоновщика (XML Builder Property Page) состоит из четырех разделов.
- В разделе Внешние компоненты (External components) сгруппированы параметры, которые должны определяться только при построении XML-данных внешним компонентом.
- Опции геометрии (Geometry options) — управление вершинами вдоль создаваемых схематических связей объектов.
- Разное (Miscellaneous) — создание новых классов объектов схемы во время создания или обновления схемы.
- Раздел Сопоставление класса объектов схемы (Schematic feature class mapping) предназначен для определения правил сопоставления, если элементы FeatureClassName во входных XML-данных не совпадают с именами классов объектов схемы, связанных с шаблоном схемы.
- Если входные XML-данные, на основе которых будет создаваться содержимое схематических представлений, автоматически строятся внешним компонентом, введите идентификатор ProgID класса COM, который будет использоваться для создания этих XML-данных, в поле Создать (Generate).
Идентификатор ProgID — это строка, состоящая из имени проекта и имени вспомогательного класса.
- Если входные XML-данные, на основе которых будет обновляться содержимое схематических представлений, автоматически строятся внешним компонентом, введите идентификатор ProgID класса COM, который будет использоваться для обновления этих XML-данных, в поле Обновить (Update).
Идентификатор ProgID — это строка, состоящая из имени проекта и имени вспомогательного класса.
- Установите флажок Исходные вершины связей (Initialize links vertices) в разделе Опции геометрии (Geometry options), если необходимо, чтобы XML-компоновщик строил схематические представления, в которых схематические связи будут отображаться вместе с вершинами при наличии элементов вершин во входных XML-данных.
Если этот флажок не установлен (состояние по умолчанию), схематические связи будут отображаться как расстояния по прямой между конечными точками. даже если элементы вершин включены во входные XML-данные.
- Установите флажок Упростить линии (Simplify lines), если необходимо, чтобы XML-компоновщик автоматически упрощал формы схематических связей при наличии во входных XML-данных очень большого количества вершин. Затем следует настроить способ выполнения этого упрощения.
- Укажите значение Максимально допустимый сдвиг (Maximum allowable offset), в рамках которого можно будет удалять вершины.
- В ниспадающем списке справа выберите единицу измерения сдвига.
Упрощение схематических линий задействует тот же алгоритм Дугласа-Пекера, который реализован в инструменте геообработки Упрощение линий (Simplify Line) при настройке последнего для работы с оператором удаления точек. Это упрощение удаляет лишние изгибы и незначительные участки схематической связи, сохраняя при этом основные особенности ее формы. Он сохраняет критические точки, которые образуют главную форму схематической линии и удаляет все остальные точки.
- Установите флажок Автоматическое создание класса объектов схемы (Automatic schematic feature class creation) в разделе Разное (Miscellaneous), если необходимо, чтобы XML-компоновщик автоматически создавал класс объектов для управления различными элементами SchematicFeatureClass, расположенными во входных XML-данных, при условии, что класс объектов схемы еще не существует для шаблона схематического представления.
Если этот флажок не установлен (состояние по умолчанию), новый класс объектов схемы создается при работе XML-компоновщика. Например, если во входных XML-данных присутствуют элементы SchematicFeatureClass, значением которых является Stations (Станции), и в шаблоне схематического представления отсутствует класс объектов схемы для управления этими элементами SchematicFeatureClass, никакие объекты схемы не будут включены в создаваемую схему для этих XML-элементов.
- Если элементы FeatureClassName во входных XML-данных не соответствуют именам классов объектов схемы, связанных с шаблоном схемы, необходимо указать правила соответствия в разделе Сопоставление класса объектов схемы (Schematic feature class mapping).
Если все элементы FeatureClassName, значением которых является FeatureClassNameN_InXMLFile, во входном XML-файле должны автоматически сопоставляться классу объектов схемы, связанному с шаблоном схематического представления, именем которого является SchematicFeatureClassNameN_ForSchDiagTemp, необходимо указать значения в разделе Сопоставление класса объектов схемы (Schematic feature class mapping) следующим образом.
При наличии во входном XML-файле элементов FeatureClassName, для которых следует указать имя сопоставленного класса объектов схемы, необходимо указать правило сопоставления для линии, как показано в следующем примере.FeatureClassNameN_InXMLFile=SchematicFeatureClassNameN_ForSchDiagTemp
FeatureClassName1_InXMLFile=SchematicFeatureClassName1_ForSchDiagTemp FeatureClassName2_InXMLFile=SchematicFeatureClassName2_ForSchDiagTemp FeatureClassNameN_InXMLFile=SchematicFeatureClassNameN_ForSchDiagTemp
Кроме того, в этом разделе можно указать скрипт, который будет отправлять элементы во входящих XML-данных, связанных с определенным элементом FeatureClassNameK_InXMLFile FeatureClass, в несколько классов объектов схемы SchematicFeatureClassNameN_ForSchDiagTemp. Например, при указании следующего скрипта:
Классы объектов схемы StationsFeeder1, StationsFeeder2 и StationsFeeder3 будут автоматически использоваться для XML-элементов FeatureClass станций, для которых значение PropertySetProperty Фидера равно 1, 2, или 3 соответственно.Stations=StationsFeeder1 (Feeder="1") Stations=StationsFeeder2 (Feeder="2") Stations=StationsFeeder3 (Feeder="3")