Поделиться через


Элементы

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

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

Имена элементов

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

ms256085.note(ru-ru,VS.100).gifПримечание
Двоеточия зарезервированы для использования с пространствами имен.Дополнительные сведения о том, какие символы Юникод являются допустимыми буквами и цифрами, см. в приложении Б спецификации XML.

Начальные, конечные и пустые теги

Теги устанавливают границы вокруг содержимого элемента, если таковое имеется.

Начальные теги показывают, где начинается элемент, и используют следующую синтаксическую конструкцию:

<elementName att1Name="att1Value" att2Name="att2Value"...>

Для элементов, не имеющих атрибутов, можно использовать сокращенный вариант начального тега:

<elementName>

Конечные теги показывают, где кончается элемент. Они не могут содержать атрибутов. Конечные теги всегда имеют следующий вид:

</elementName>

Обычно считается, что элемент включает в себя начальный тег, конечный тег и все, что расположено между ними.

<person><givenName>Peter</givenName> <familyName>Kress</familyName></person>

В данном случае элемент <person> содержит два других элемента, <givenName> и <familyName>, а также разделяющий их пробел. Элемент <givenName> содержит текст Peter, а элемент <familyName> — текст Kress.

Пустые теги используются для указания элементов, которые не содержат текста, но могут иметь атрибуты. Элементы HTML img и br представляют собой примеры пустых элементов. Пустые теги можно использовать как сокращения, если между начальным и конечным тегами документа содержимое отсутствует. Пустые теги выглядят как начальные, но содержат косую черту (/) перед закрывающей скобкой >.

<elementName att1Name="att1Value" att2Name="att2Value".../>

В XML можно задать пустой элемент с помощью начального и конечного тега, не помещая между ними ни пробелов, ни содержимого, например: <giggle></giggle>; можно использовать пустой тег, например, <giggle/>. Синтаксический анализатор XML выдаст идентичный результат для обеих конструкций.

Отношения между элементами

Отношения между элементами описываются с помощью метафор родственных отношений или с помощью метафор дерева. XML-документы содержат один и только один корневой элемент. Как перед корневым элементом, так и после него может содержаться другая разметка: объявления, инструкции по обработке, комментарии и пробелы; однако корневой элемент должен включать в себя все содержимое, которое входит в собственно документ. Приведенный далее пример кода может быть XML-документом, содержащим элемент <person> в качестве корневого элемента.

<person><givenName>Stephanie</givenName> <familyName>Bourne</familyName></person>

Приведенный далее фрагмент не может быть XML-документом, поскольку содержит несколько корневых элементов.

<givenName>Stephanie</givenName>
<familyName>Bourne</familyName>
ms256085.note(ru-ru,VS.100).gifПримечание
Фрагменты документа могут быть полезными как части XML-документа, но их не следует передавать синтаксическому анализатору по отдельности.Обнаружив второй элемент или текст снаружи элемента, синтаксический анализатор выдаст сообщение об ошибке.

При использовании метафор дерева листьями называются элементы, не содержащие никаких других элементов, как листья на конце ветви. Элементы-листья обычно содержат только текст или вообще ничего; листовые узлы обычно представляют собой пустые элементы или содержат текст. В схеме документа весь текст, описывающий книги, содержится в элементах-листьях; сам текст представляет собой листовой узел.

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

<a>
 <b>
   <c>
    <d/><e/><f/>
   </c>
 </b>
</a>

Элемент <a> содержит элемент <b>, который содержит элемент <c>, который содержит элементы <d>, <e> и <f>. Используя метафоры дерева, можно сказать, что <a> - корневой элемент, а <d>, <e> и <f> — элементы-листья. В принципе элементы <b> и <c> можно было бы назвать стволом или ветвями, но так обычно не делают.

Метафоры семейных отношений предоставляют больше различных уровней для описания отношений. Единственные узлы-сестры — <d>, <e> и <f>; все они содержатся в элементе <c>. Элемент <c> является родителем для элементов <d>, <e> и <f>; элементы <d>, <e> и <f> являются дочерними для элемента <c>. Точно так же, элемент <b> — родитель элемента <c>, а элемент <c> — дочерний для элемента <b>, в то время как элемент <a> является родителем элемента <b>, а элемент <b> — дочерним элементом для элемента <a>.

Предки и потомки определяются подобно родителям и детям, с той разницей, что непосредственного включения не требуется. Элемент <a> является родителем элемента <b> и предком всех элементов, содержащихся в документе. Элементы <d>, <e> и <f> являются потомками для элементов <a>, <b> и <c>.

См. также

Основные понятия

Схема документа