Элементы XML
Элементы XML расширяемы и взаимосвязаны
Элементы XML имеют простые правила именования
Элементы XML расширяемы
XML элементы могут быть расширены, чтобы хранить больше информации.
Посмотрите на пример записки в формате XML:
<note><to>Сергей</to>
<from>Наталья</from>
<body>Не забудь про наши планы на эти выходные!</body>
</note>
Давайте представим, что мы сделали программу, которая анализирует XML файл, изымает из него данные, содержащиеся в тегах <to>, <from> и <body> и представляет эту информацию в виде:
Кому: Сергей
От кого: Наталья
Не забудь про наши планы на эти выходные!
А теперь давайте представим, что автор XML документа добавил в него некоторую уточняющую информацию:
<note><date>2002–08–01</date>
<to>Сергей</to>
<from>Наталья</from>
<heading>Напоминание</heading>
<body>Не забудь про наши планы на эти выходные!</body>
</note>
Что тогда произойдет с программой? Её нужно переписывать?
Нет, не нужно! При анализе XML файла программа будет искать содержимое тегов <to>, <from>, и <body> и она, по прежнему ,будет выводить на экран такое же напоминание.
В этом и есть суть того, что называется расширяемостью языка XML.
XML элементы взаимосвязаны
Элементы имеют родственные наследственные связи.
Для понимания XML терминологии вы должны знать, как называются отношения между XML элементами, и как описывается содержание XML элементов.
Например, у нас есть описание книги:
XML с нуляВведение в XML
* Что такое HTML
* Что такое XML
Синтакс XML
* Элементы должны иметь закрывающий тег
* Элементы должны быть строго вложенными
А теперь представим, что XML документ описывает эту книгу:
<book><title>XML с нуля</title>
<prod id="33–657" media="paper"></prod>
<chapter>Введение в XML
<para>Что такое HTML</para>
<para>Что такое XML</para>
</chapter>
<chapter>Синтакс XML
<para>Элементы должны иметь закрывающий тег</para>
<para>Элементы должны быть строго вложенными</para>
</chapter>
</book>
Book (книга) — это корневой элемент. Title, prod, и chapter — потомки элемента book. Book — это родитель для title, prod и chapter. Title, prod, и chapter — это родственники (сестринские элементы), поскольку у них общий родитель.
У элементов есть содержание
Содержимое элементов делится на несколько типов
XML элемент начинается с открывающего тега (включая сам тег), и заканчивается закрывающим тегом (включая закрывающий тег).
Элемент может иметь элементное содержимое, смешанное содержимое, простое содержимое, или пустое содержимое. У элемента также могут быть атрибуты.
В предыдущем примере book имеет >элементное содержимое, потому что содержит другие элементы. Chapter имеет смешанное содержимое, поскольку содержит как текст, так и другие элементы. Para имеет простое содержимое, поскольку в нем содержится только текст. Prod имеет пустое содержимое, поскольку внутри тегов его конструкции ничего нет.
В этом же примере у элемента prod есть атрибуты. Атрибут называется id и имеет значение 33–657. Атрибут, названный media имеет значение paper.
Именование элементов
XML элементы должны именоваться в соответствии со следующими правилами:
- Имена могут состоять из букв цифр и других символов
- Имена не могут начинаться с цифры или знака препинания
- Имена не должны начинаться со последовательности xml (или XML, или Xml и т. д.)
- Имена не могут содержать пробелов
Когда вы придумываете имена своим XML элементам, придерживайтесь следующих простых правил:
Для имен нет ограничений, и у вас есть полная свобода, но важно, чтобы ваши имена элементов было лекго понять. Имена с символом подчеркивания в качестве разделителя — это хороший стиль.
Например: <first_name>, <last_name>.
Избегайте использования символов «-» и «.» в именах. Например, если элементу вы дали название «first-name», вполне вероятна ошибка, что часть программ попытается от first вычесть name. В случае если же вы назвали элемент «first.name», некоторые программы могут воспринять это имя как «параметр name элемента first».
Длина имени не ограничена, но этим не следует злоупотреблять. Имена должны быть короктими и простыми, как <book_title>, а не как <the_title_of_the_book>.
XML документы часто привязаны к какой-либо существующей базе данных, в которой элементы базы соответствуют элементам XML документа. Хорошим тоном считается давать имена XML элементам в соответствии с именами, существующими в базе данных.
В спецификации XML разрешается использовать кириллицу для имен элементов, но лучше избегать этого, поскольку различное ПО может неправильно обрабатывать документы, имена в которых написаны не английским алфавитом.
В именах не следует использовать символ «:», поскольку он зарезервирован для пространств имен, о которых можно узнать в более подробных учебниках.
Далее — урок 5. Атрибуты XML.