Синтаксис XML
Пустые элементы.
Если в содержимом элемента нет ни одного символа, даже пробела, то закрывающий тег можно не записывать. В этом случае открывающий тег должен заканчиваться символами "/> ".
Таким образом, тег пустого элемента начинается со знака "меньше" (<) за которым следует имя элемента и завершается знаками "косая черта" (/) после которой идет знак "больше" (>):
<имя_элемента/>.
Символьные данные.
Символьные данные - это любой текст, являющийся содержанием элемента или значением атрибута. Если в содержимое элемента нужно вставить некоторые символы, которые используются в служебных целях, например знаки "больше" или "меньше" которые являются ограничителями разметки и могут быть поняты как начало или конец вложенного тега, то эти символы необходимо заменить ссылками или их числовыми кодами.
Ссылки на символы.
Для того что бы вставить в текст документа некоторый символ, который, например, не присутствует в раскладке клавиатуры либо может быть неправильно истолкован анализатором, используют ссылки на символы. Ссылка на символ обязательно начинается со знака "амперсанда" и заканчивается точкой с запятой.
Ссылки на символы записываются в следующем виде:
&#код_символа_в_Unicode;.
Код символа можно записать и в шестнадцатеричном виде. В этом случае перед ним ставится символ "x":
&#xШестнадцатеричный_код_символа;.
Кроме этого существуют именованные подстановки, определенные в спецификации XML, и реализованные во всех совместимых с XML анализаторах, которые делают текст документа более понятным для человека. С помощью этих именованных подстановок можно вставить в текст документа такие символы как:
Ссылки на сущности.
Ссылки на сущности позволяют включать любые строковые константы в содержание элементов или значение атрибутов. Ссылки на сущности, как и ссылки на символы, начинающиеся с амперсанда, после которого идет имя сущности и заканчивающиеся точкой с запятой:
&имя_сущности;.
Ссылки на сущности указывают программе-анализатору подставить вместо них строку символов заранее заданную в определении типа документа.
Комментарии.
Если надо вставить в текст документа комментарий либо сделать какой-то фрагмент "невидимым" для программы-анализатора, то его оформляют следующим образом:
<!--…текст комментария…-->
Комментарии могут появляться в любом месте документа вне другой разметки.
Текст комментария это любая строка символов со следующими ограничениями:
- в комментарии нельзя записывать два дефиса подряд;
- комментарий нельзя завершить дефисом.
Секция CDATA.
Секция CDATA используется, для того чтобы задать область документа, которую при разборе анализатор будет рассматривать как простой текст, игнорируя любые инструкции и специальные символы. Программа-анализатор не разбивает секцию CDATA на элементы, а считает ее просто набором символов. В отличие от комментариев, содержание данной секции не игнорируется, а передается без изменений на выход программы анализатора, благодаря чему его можно использовать в приложении.
Секция CDATA начинается со строки <![CDATA[ после которой записывается содержимое секции. Завершается секция двумя закрывающими квадратными скобками и знаком "больше":
<![CDATA[ содержание секции ]]>
Секция CDATA может содержать любую символьную строку, кроме "]]>".
Секции CDATA можно создать в содержимом любого элемента XML. На секцию налагаются следующие два ограничения:
- внутри секции CDATA нельзя создать новую секцию,
- секции CDATA нельзя вкладывать друг в друга.