Skip to content

Template XML basics ru

Alexander Chernyshev edited this page Jun 17, 2022 · 1 revision

XML - eXtensible Markup Language - формат текстовых файлов с довольно строгими требованиями. У формата XML довольно много возможностей, но для задач шаблонов OTLoV нужно только базовое понимание.

Формат файла

Обычно файлы XML хранятся с расширением .xml (OTLoV ищет только файлы .xml) и имеют структуру (пример взять из статьи Microsoft):

<?xml version="1.0" encoding="utf-8"?>
<catalog>
    <book id="bk101">
        <author>Gambardella, Matthew</author>
        <title>XML Developer's Guide</title>
        <genre>Computer</genre>
        <price>44.95</price>
        <publish_date>2000-10-01</publish_date>
        <description>An in-depth look at creating applications 
        with XML.</description>
    </book>
    <book id="bk102">
        <author>Ralls, Kim</author>
        <title>Midnight Rain</title>
        <genre>Fantasy</genre>
        <price>5.95</price>
        <publish_date>2000-12-16</publish_date>
        <description>A former architect battles corporate zombies, 
        an evil sorceress, and her own childhood to become queen 
        of the world.</description>
    </book>
    ...
</catalog>

ВАЖНО: Троеточие ... показывает места пропущеного текста.

Все файлы XML должны начинаться с заголовка:

<?xml version="1.0" encoding="utf-8"?>

Эта строка говорит, что данных файл - файл XML, что используется версия стандарта 1.0, и что кодировка файла - utf-8 (кодировка может быть опущене, но рекомендуется всегда явно указывать).

После заголовка должен идти корневой элемент XML. В формате XML может быть только ОДИН корневой элемент. Нельзя использовать несколько корневых элементов. В примере выше корневой элемент это:

<catalog>
    ...
</catalog>

Имя корневого элемента (как и любых других элементов) может быть произвольным - зависит только от приложения - что ожидает приложение. Для шаблона OTLoV'а используется корневой элемент:

<Template>
    ...
</Template>

XML элементы и атрибуты

Форматирование файла XML основано на элементах и их атрибутах.

Атрибут это простое свойство элемента, как например id="bk101" в первом элементе book. Атрибут всегда указывается как ТЕКСТ в кавычках (или апострофах). Приложение (или схема) может требовать конкретного типа данных в атрибуте. Например, целое число. И тогда текстовое значение атрибута должно быть приводимо к необходимому типу. Например, для целого числа атрибут может быть записан как id="123", а приложение сконвертирует этот текст уже именно в число 123. Если текст атрибута не удастся сконвертировать, то приложение может упасть с ошибкой или проигнорировать значение атрибута.

Для элементов формат XML требует обязательно наличия начала и конца элемента. Это очень важно, особенно с учетом того, что формат XML позволяет строить дерево элементов любой глубины.

Начало элемента всегда форматируется одинаково, но оконание может отличаться немного. В формате XML элемент может быть записан в короткой и полной формах. Например, в примере выше первый элемент book записан в полной форме:

    <book id="bk101">
        <author>Gambardella, Matthew</author>
        <title>XML Developer's Guide</title>
        <genre>Computer</genre>
        <price>44.95</price>
        <publish_date>2000-10-01</publish_date>
        <description>An in-depth look at creating applications 
        with XML.</description>
    </book>

Здесь <book - это начало элемента, а </book> - его окончание. Сам элемент называется book, и это же имя обязано быть одинаково и в начале элемента, и в конце.

Предположим, что нам не нужны детали о книге и нужен только её id. Тогда мы можем использовать короткую форму записи:

    <book id="bk101"/>

Здесь, по прежнему, <book - это начало элемента, но конец элемента отмечен />.

В короткой форме записи у элемента не может быть дочерних элементов (только атрибуты), поэтому если есть необходимость использовать дочерние элементы, то используется полная запись.

XML и специальные символы

Стандард XML резервирует несколько символов под своё форматирование. Помимо этого XML не принимает стандартные подстановки для сиволов, вроде новой строки \n или \t для таба. Такие символы должны быть записаны в специальной форме. Список самых часто используемых замен:

Символ В XML по имени В XML по коду В XML по шестнадцатеричному коду
< less then &lt; &#60; &#x3C;
> greater then &gt; &#62; &#x3E;
& ampersand &amp; &#38; &#x26;
" double-quote &quot; &#34; &#x22;
' apostrophe &apos; &#39; &#x27;
\t tab &#9; &#x9;
\n new line &#10; &#xA;

English Русский

Для пользователя

Разработка шаблонов

Clone this wiki locally