В этом разделе мы говорим об особенностях взаимодействия
шаблонов DMT и карты на базе
XMLNormal.dmf
(то есть с обменным файлом формата
XML).
Отметим, что подход XML+DMT с легкой руки разработчиков вытесняется в пользу XML+DMT+FastReport, становясь частью этой связки. И хотя на сегодня в поставке программы нет ни одного шаблона для “чистой” комбинации XML+DMT, подобный шаблон сравнительно несложно создать на базе шаблона для IN4.
Технология создания шаблонов DMT для XML практически не отличается от изложенной в предыдущем разделе для IN4. Если вы пропустили этот раздел, вам придется к нему вернуться.
Информация из раздела «IN4+DMT»
тем более полезна потому, что шаблоны DMT,
размещенные в пакетах в папке Templates
, которые
работают на упомянутую выше связку
XML+DMT+FastReport и о которых мы еще будем
говорить далее в этой главе, строятся, фактически, по тем же
правилам.
Если отбросить детали, то суть построения шаблона заключается в том, чтобы правильно извлечь информацию из исходной кадастровой карты. В этом смысле основная сложность формата XML в сравнении с IN4 связана с наличием в содержимом параметров служебных тегов языка XML, затрудняющих извлечение данных.
В помощь разработчику шаблона Digitals предлагает пару функций для работы со строками в формате XML. Формальное описание этих функций опять-таки находится в разделе «Производные параметры» в Гл.6, «Классификатор», а здесь мы дадим примеры использования.
Возвращает название области из параметра ID7000500 “Місце розташування земельної ділянки”.
Более сложный пример. Извлекает фамилию владельца из параметра “Блок опису усіх власників або користувачів земельної ділянки”. Здесь пришлось указывать полный XPath-путь к элементу данных.
Пути извлечения данных могут быть довольно длинными. Чтобы спокойно разобраться с путями, скопируйте содержимое анализируемого параметра в какой-нибудь текстовый редактор, например, тот же Блокнот.
Из-за своей длины формулы с применением функции XPT смотрятся в шаблоне довольно неряшливо. Рассмотрите возможность их замены функциями SEF или FFF, “спрятав” длинные формулы во внешний файл.
Данная функция извлекает информацию о смежнике и предназначена для использования в таблицах смежников. В скобках задается смежник по умолчанию, который будет выведен, если функция ничего не найдет.
Вот как должна выглядеть таблица смежников, размещенная в шаблоне документов:
Від А до Б XMP(Землі загального користування) Від А до Б XMP(Землі загального користування)