Поиск…


элементы

Элементы с угловыми скобками являются наиболее заметным строительным блоком XML.

Элементы могут быть пустыми, и в этом случае они состоят из пустой метки (обратите внимание на конечную косую черту):

<an-empty-element/>

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

<a-non-empty-element>Content</a-non-empty-element>

Элементы могут входить (но только между открывающими и закрывающими тегами):

<parent-element>
  <child-element/>
  <another-child-element>
    Some more content.
  </another-child-element>
</parent-element>

Имена элементов называются QNames (квалифицированные имена). Все вышеперечисленные элементы не имеют пространства имен, но имена элементов также могут быть определены в пространствах имен с использованием таких префиксов:

<my-namespace:parent-element xmlns:my-namespace="http://www.example.com/">
  <my-namespace:child-element/>
  <my-namespace:another-child-element>
    Some more content.
  </my-namespace:another-child-element>
</my-namespace:parent-element>

Пространства имен и имена элементов более подробно описаны в этом разделе документации .

Атрибуты

Атрибуты - это пары имя-значение, связанные с элементом.

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

<document>
  <anElement foo="bar" abc='xyz'><!-- some content --></anElement>
  <anotherElement a="1"/>
</document>

Атрибуты не упорядочены (в отличие от элементов). Следующие два элемента имеют одинаковые атрибуты:

<foo alpha="1" beta="2"/>

<foo beta="2" alpha="1"/>

Атрибуты не могут повторяться в одном и том же элементе (в отличие от элементов). Следующий документ не является корректным: <foo a="x" a="y"/> поскольку атрибут a появляется дважды в одном элементе.

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

<foo a="x" b="x"/> 

Атрибуты не могут быть вложенными (в отличие от элементов).

Текст

Текст состоит из всех символов за пределами любой разметки (теги открывающего элемента, теги закрывающего элемента и т. Д.).

<?xml version="1.0"?>
<document>
  This is some text and <b>this is some more text</b>.
</document>

Точная XML-терминология для текста - это символьные данные . Спецификация XML фактически использует текст слова для всего документа XML или анализируемого объекта, поскольку он определяет XML на синтаксическом уровне. Однако некоторые модели данных, такие как XDM (XQuery и модель данных XPath), которые представляют XML-документы в виде деревьев, относятся к символьным данным как текстовые узлы , так что текст часто понимается как синоним символьных данных на практике.

Символьные данные могут не содержать символ < character - это будет интерпретироваться как первый символ тега элемента открытия - и он не может содержать последовательность символов ]]> . Соответствующие символы должны быть экранированы с помощью ссылки на сущность.

<?xml version="1.0"?>
<document>
  It is fine to escape the &lt; character, as well as ]]&gt;.
</document>

Для удобства можно также избежать большей части текста с разделом CDATA (но последовательность ]]> по понятным причинам все еще не разрешено):

<?xml version="1.0"?>
<document>
  <![CDATA[
    In a CDATA section, it is fine to write < or even & and entity references
    such as &amp; are not resolved.
  ]]>
</document>

Комментарии

Комментарии в XML выглядят так:

<!-- This is a comment -->

Они могут отображаться в содержимом элемента или на верхнем уровне:

<?xml version="1.0"?>
<!-- a comment at the top-level -->
<document>
  <!-- a comment inside the document -->
</document>

Комментарии не могут отображаться внутри тегов или внутренних атрибутов:

<element <!-- comment with -- inside --> />

или же

<element attr="<!-- comment with -- inside -->"/>

не являются хорошо сформированными.

Последовательность символов -- не может появляться в середине комментария. Это не правильно сформированный XML:

<!-- comment with -- inside -->

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

Инструкции по обработке

Команда обработки используется для непосредственного передачи некоторой информации или инструкции в приложение через синтаксический анализатор.

<?my-application some instructions ?>

Токен после начального вопросительного знака (здесь my-application ) называется целевым и идентифицирует приложение, в котором нацелена инструкция. Дальнейшее это не уточняется, и приложение может интерпретировать его. Ссылки на объекты и символы не распознаются.

Он может отображаться на верхнем уровне или в содержимом элемента.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow