Правила синтаксиса XML
Синтаксические правила XML очень просты и логичны. Правила просты в освоении и просты в использовании.
XML-документы должны иметь корневой элемент
XML-документы должны содержать один корневой элемент, являющийся родительским для всех остальных элементов:
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
В этом примере <note> является корневым элементом:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
XML-пролог
Эта строка называется прологом XML :
<?xml version="1.0" encoding="UTF-8"?>
Пролог XML является необязательным. Если он существует, он должен стоять первым в документе.
Документы XML могут содержать международные символы, такие как норвежский øæå или французский êèé.
Во избежание ошибок следует указать используемую кодировку или сохранить XML-файлы в формате UTF-8.
UTF-8 — это кодировка символов по умолчанию для XML-документов.
Кодировку символов можно изучить в нашем Учебнике по набору символов .
UTF-8 также является кодировкой по умолчанию для HTML5, CSS, JavaScript, PHP и SQL.
Все элементы XML должны иметь закрывающий тег
В XML запрещено опускать закрывающий тег. Все элементы должны иметь закрывающий тег:
<p>This is a paragraph.</p>
<br />
Примечание. Пролог XML не имеет закрывающего тега! Это не ошибка. Пролог не является частью документа XML.
Теги XML чувствительны к регистру
Теги XML чувствительны к регистру. Тег <Letter> отличается от тега <letter>.
Открывающий и закрывающий теги должны быть написаны с одинаковым регистром:
<message>This is correct</message>
«Открывающие и закрывающие теги» часто называют «начальными и конечными тегами». Используйте все, что вы предпочитаете. Это точно то же самое.
Элементы XML должны быть правильно вложены
В HTML вы можете увидеть неправильно вложенные элементы:
<b><i>This text is bold and italic</b></i>
В XML все элементы должны быть правильно вложены друг в друга:
<b><i>This text is bold and italic</i></b>
В приведенном выше примере «Правильно вложенный» просто означает, что, поскольку элемент <i> открыт внутри элемента <b>, он должен быть закрыт внутри элемента <b>.
Значения атрибутов XML всегда должны заключаться в кавычки
Элементы XML могут иметь атрибуты в парах имя/значение, как и в HTML.
В XML значения атрибутов всегда должны заключаться в кавычки:
<note date="12/11/2007">
<to>Tove</to>
<from>Jani</from>
</note>
Ссылки на объекты
Некоторые символы имеют особое значение в XML.
Если вы поместите такой символ, как «<», внутри элемента XML, это вызовет ошибку, поскольку синтаксический анализатор интерпретирует его как начало нового элемента.
Это вызовет ошибку XML:
<message>salary < 1000</message>
Чтобы избежать этой ошибки, замените символ «<» ссылкой на сущность :
<message>salary < 1000</message>
В XML есть 5 предопределенных ссылок на объекты:
< | < | less than |
> | > | greater than |
& | & | ampersand |
' | ' | apostrophe |
" | " | quotation mark |
Только < и & строго запрещены в XML, но рекомендуется заменять > на > также.
Комментарии в XML
Синтаксис написания комментариев в XML аналогичен HTML:
<!-- This is a comment -->
Два тире в середине комментария не допускаются:
<!-- This is an invalid -- comment -->
Пробел сохраняется в XML
XML не усекает несколько пробелов (HTML усекает несколько пробелов до одного пробела):
XML: | Hello Tove |
HTML: | Hello Tove |
XML сохраняет новую строку как LF
Приложения Windows сохраняют новую строку как: возврат каретки и перевод строки (CR+LF).
Unix и Mac OSX используют LF.
Старые системы Mac используют CR.
XML сохраняет новую строку как LF.
Правильно сформированный XML
XML-документы, которые соответствуют приведенным выше правилам синтаксиса, называются «правильными» XML-документами.