Структура YMapsML

YMapsML-документы состоят из элементов, принадлежащих пяти пространствам имён: https://maps.yandex.ru/ymaps/1.x, https://maps.yandex.ru/representation/1.x, http://www.opengis.net/gml, https://maps.yandex.ru/attribution/1.x и http://www.w3.org/2005/Atom. Будем полагать, что этим пространствам имён соответствуют префиксы ymaps, repr, gml, attr и atom соответственно, и в дальнейшем будем идентифицировать пространства имён по их префиксам.

Ниже приведена таблица исходных пространств имён:

Namespace URL схемы Определение
ymaps https://maps.yandex.ru/ymaps/1.x Язык для представления географических данных в виде абстрактных географических объектов и их совокупностей — коллекций.
gml http://www.opengis.net/gml GML – стандарт для описания географии.
repr https://maps.yandex.ru/representation/1.x Содержит правила отображения географических объектов на картах Яндекса.
attr https://maps.yandex.ru/attribution/1.x Содержит информацию о поставщиках сведений об организациях, показываемых на картах Яндекса.
atom http://www.w3.org/2005/Atom Atom - формат синдикации, позволяющий описывать наборы веб-ресурсов.

Каждый элемент YMapsML содержит в себе один или несколько элементов из указанных пространств имён либо текст, который в общем случае может включать в себя HTML-код. HTML-разметка всегда «экранируется», то есть отображается в браузере в виде текста. Исключение составляет HTML-код, содержащийся в элементе gml:description и элементе repr:text, находящимся внутри repr:Template. Такой код интерпретируется браузером и выводится в форматированном виде.

Рассмотрим структуру YMapsML-документа.

Корневым элементом документа является элемент ymaps:ymaps. Он может содержать элементы attr:Attribution, один элемент ymaps:GeoObjectCollection и один элемент repr:Representation. Любой из этих элементов может отсутствовать, как могут отсутствовать, впрочем, и все три элемента. Последний случай несколько экзотичен. «Пустой» документ используется обычно в виде заготовки, предполагающей наполнение в дальнейшем.

Элемент ymaps:GeoObjectCollection верхнего уровня представляет собой контейнер всех географических объектов и их коллекций, включённых в документ. Для определения внешнего вида этих объектов, а также для задания параметров карты используется элемент repr:Representation. Элемент attr:Attribution содержит информацию о поставщиках сведений об организациях, показываемых на картах Яндекса.

YMapsML-документ, приведённый в качестве примера в разделе Использование YMapsML, содержит элемент ymaps:GeoObjectCollection, но не содержит элемента repr:Representation. Таким образом, при отображении этого документа средствами JavaScript API параметры отображения карты и внешний вид географических объектов будут определены автоматически.