В этой главе мы обсудим простые правила синтаксиса для написания XML-документа. Ниже приведен полный документ XML —
<?xml version = "1.0"?> <contact-info> <name>Tanmay Patil</name> <company>TutorialsPoint</company> <phone>(011) 123-4567</phone> </contact-info>
Вы можете заметить, что в приведенном выше примере есть два вида информации:
-
Разметка, вроде <контактная информация>
-
Текст или символьные данные, Tutorials Point и (040) 123-4567 .
Разметка, вроде <контактная информация>
Текст или символьные данные, Tutorials Point и (040) 123-4567 .
Следующая диаграмма изображает правила синтаксиса для записи разметки и текста разного типа в XML-документе.
Давайте рассмотрим каждый компонент вышеприведенной диаграммы в деталях.
Декларация XML
XML-документ может дополнительно иметь декларацию XML. Это написано следующим образом —
<?xml version = "1.0" encoding = "UTF-8"?>
Где версия — это версия XML, а кодировка указывает кодировку символов, используемую в документе.
Синтаксические правила для декларации XML
-
Декларация XML чувствительна к регистру и должна начинаться с « <? Xml> », где « xml » пишется строчными буквами.
-
Если документ содержит декларацию XML, то он строго должен быть первым утверждением документа XML.
-
Декларация XML строго должна быть первым утверждением в документе XML.
-
Протокол HTTP может переопределить значение кодировки, которое вы указали в объявлении XML.
Декларация XML чувствительна к регистру и должна начинаться с « <? Xml> », где « xml » пишется строчными буквами.
Если документ содержит декларацию XML, то он строго должен быть первым утверждением документа XML.
Декларация XML строго должна быть первым утверждением в документе XML.
Протокол HTTP может переопределить значение кодировки, которое вы указали в объявлении XML.
Теги и элементы
Файл XML структурирован несколькими XML-элементами, также называемыми XML-узлами или XML-тегами. Имена XML-элементов заключены в треугольные скобки <>, как показано ниже —
<element>
Синтаксические правила для тегов и элементов
Синтаксис элемента — каждый XML-элемент должен быть закрыт либо начальным, либо конечным элементом, как показано ниже —
<element>....</element>
или в простых случаях, просто так —
<element/>
Вложенность элементов — XML-элемент может содержать несколько XML-элементов в качестве своих дочерних элементов, но дочерние элементы не должны перекрываться. т. е. конечный тег элемента должен иметь то же имя, что и у самого последнего непревзойденного начального тега.
В следующем примере показаны неверные вложенные теги.
<?xml version = "1.0"?> <contact-info> <company>TutorialsPoint <contact-info> </company>
В следующем примере показаны правильные вложенные теги —
<?xml version = "1.0"?> <contact-info> <company>TutorialsPoint</company> <contact-info>
Корневой элемент — XML-документ может иметь только один корневой элемент. Например, следующее не является правильным XML-документом, поскольку элементы x и y находятся на верхнем уровне без корневого элемента —
<x>...</x> <y>...</y>
В следующем примере показан правильно сформированный документ XML:
<root> <x>...</x> <y>...</y> </root>
Чувствительность к регистру — Имена XML-элементов чувствительны к регистру. Это означает, что имя начального и конечного элементов должно быть точно в одном и том же случае.
Например, <контактная информация> отличается от <контактная информация>
Атрибуты XML
Атрибут задает одно свойство для элемента, используя пару имя / значение. XML-элемент может иметь один или несколько атрибутов. Например —
<a href = "http://www.tutorialspoint.com/">Tutorialspoint!</a>
Здесь href — имя атрибута, а http://www.tutorialspoint.com/ — значение атрибута.
Синтаксические правила для атрибутов XML
-
Имена атрибутов в XML (в отличие от HTML) чувствительны к регистру. То есть HREF и href считаются двумя различными атрибутами XML.
-
Один и тот же атрибут не может иметь два значения в синтаксисе. В следующем примере показан неверный синтаксис, поскольку атрибут b указан дважды
—
Имена атрибутов в XML (в отличие от HTML) чувствительны к регистру. То есть HREF и href считаются двумя различными атрибутами XML.
Один и тот же атрибут не может иметь два значения в синтаксисе. В следующем примере показан неверный синтаксис, поскольку атрибут b указан дважды
<a b = "x" c = "y" b = "z">....</a>
-
Имена атрибутов определяются без кавычек, тогда как значения атрибутов всегда должны появляться в кавычках. Следующий пример демонстрирует неправильный синтаксис XML
—
Имена атрибутов определяются без кавычек, тогда как значения атрибутов всегда должны появляться в кавычках. Следующий пример демонстрирует неправильный синтаксис XML
<a b = x>....</a>
В приведенном выше синтаксисе значение атрибута не определено в кавычках.
XML ссылки
Ссылки обычно позволяют добавлять или включать дополнительный текст или разметку в документ XML. Ссылки всегда начинаются с символа «&», который является зарезервированным символом, и заканчиваются символом «;». XML имеет два типа ссылок:
-
Ссылки на сущности — ссылка на сущность содержит имя между начальным и конечным разделителями. Например, & amp; где amp это имя . Имя относится к предварительно определенной строке текста и / или разметки.
-
Ссылки на символы — они содержат ссылки, такие как & # 65; , содержит хеш-знак («#»), за которым следует число. Число всегда относится к коду Unicode символа. В этом случае 65 относится к алфавиту «А».
Ссылки на сущности — ссылка на сущность содержит имя между начальным и конечным разделителями. Например, & amp; где amp это имя . Имя относится к предварительно определенной строке текста и / или разметки.
Ссылки на символы — они содержат ссылки, такие как & # 65; , содержит хеш-знак («#»), за которым следует число. Число всегда относится к коду Unicode символа. В этом случае 65 относится к алфавиту «А».
Текст XML
Имена XML-элементов и XML-атрибутов чувствительны к регистру, что означает, что имена начальных и конечных элементов должны быть записаны в одном и том же регистре. Чтобы избежать проблем с кодировкой символов, все файлы XML должны быть сохранены как файлы Unicode UTF-8 или UTF-16.
Пробельные символы, такие как пробелы, табуляции и разрывы строк между XML-элементами и между XML-атрибутами, будут игнорироваться.
Некоторые символы зарезервированы самим синтаксисом XML. Следовательно, они не могут быть использованы напрямую. Для их использования используются некоторые замещающие объекты, которые перечислены ниже: