Вы здесь

XML элементы

XML документ состоит из XML элементов.

Что такое XML элемент?

XML элемент — это все от (и включая) начального тега элемента до (и включая) конечного тега элемента.

Элемент может содержать:

  • другие элементы
  • текст
  • атрибуты
  • или набор из всего выше названного

<bookstore>
   <book category="CHILDREN">
      <title>Harry Potter</title>
      <author>J K. Rowling</author>
      <year>2005</year>
      <price>29.99</price>
   </book>
   <book category="WEB">
      <title>Learning XML</title>
      <author>Erik T. Ray</author>
      <year>2003</year>
      <price>39.95</price>
   </book>
</bookstore>

В приведенном выше примере <bookstore> и <book> содержат элементный контент, состоящий из других элементов. Также, у <book> есть атрибут (category="CHILDREN"). У элементов <title>, <author>, <year> и <price> есть текстовый контент.

Пустые XML элементы

При написании элементов без контента можно использовать альтернативный синтаксис.

Вместо того, чтобы писать пустой элемент в виде:


<book></book>

Можно написать:


<book />

Такой синтаксис элемента называется самозакрывающийся.

Правила написания имен XML

XML элементы должны следовать следующим правилам написания имен:

  • Имена могут содержать буквы, числа и другие символы
  • Имена не могут начинаться с цифры или символа пунктуации
  • Имена не могут начинаться с сочетания "xml" (или XML, или Xml и т.п.)
  • Имена не могут содержать пробельные символы

В качестве имен можно использовать любые слова. Нет зарезервированных слов.

Хорошая практика составления имен

Старайтесь придумать описательные имена: <first_name>, <last_name>.

Имена следует составлять короткие и простые, вроде: <book_title>; а не: <the_title_of_the_book>.

Избегайте символ "-". Если вы напишите нечто вроде "first-name", то некоторые приложения могут решить, что вы вычитаете имя "name" из имени "first".

Избегайте символ ".". Если вы напишите нечто вроде "first.name", то некоторые приложения могут решить, что "name" это свойство объекта "first".

Избегайте символ ":". Двоеточие зарезервировано для механизма пространства имен.

Не-латинские символы, вроде, éòá вполне легальны в XML, однако, если некое приложение их не поддерживает, то возникнут проблемы.

Стили написания имен

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

СтильПримерОписание
Нижний регистр<firstname>Все буквы в нижнем регистре
Верхний регистр<FIRSTNAME>Все буквы в верхнем регистре
С символом подчеркивания<first_name>Слова разделяются символом подчеркивания
В стиле Pascal<FirstName>Первые буквы всех слов в верхнем регистре
"Верблюжий горб"<firstName>Первые буквы всех слов за исключением первого в верхнем регистре

Если вы выбрали какой-либо стиль написания имен, то следует последовательно придерживаться его!

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

Расширяемость XML элементов

XML элементы могут быть расширены, чтобы нести больше информации.

Взгляните на следующий пример:

<note>
   <to>Tove</to>
   <from>Jani</from>
   <body>Не забудь про меня в эти выходные!</body>
</note>

Давайте представим, что мы создали приложение, которое извлекает элементы <to>, <from> и <body> из XML документа и формирует следующее сообщение:

СООБЩЕНИЕ
Кому: Tove
От: Jani
Не забудь про меня в эти выходные!

Представьте, что автор XML документа добавил некоторую дополнительную информацию:

<note>
   <date>2008-01-10</date>
   <to>Tove</to>
   <from>Jani</from>
   <heading>Напоминание</heading>
   <body>Не забудь про меня в эти выходные!</body>
</note>

Прервется ли работа нашего приложения?

Нет. Приложение все равно будет способно отыскать элементы <to>, <from> и <body> и сформировать тот же самый вывод.

Одно из главных достоинств XML состоит в том, что XML документ можно легко расширять не влияя на работу исходного приложения.