Примеры XML-документов
Пример 1. Записка.
<?xml version="1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
В первой строке этого документа – в XML-декларации – определяется версия XML, используемая в документе. В данном случае документ соответствует спецификации XML 1.0.
В следующей строке описывается корневой элемент документа (в ней как бы сообщается: "Этот документ - записка (note)"):
<note>
В следующих четырех строках описываются четыре дочерних элемента корневого элемента (to, from, heading, и body):
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
И, наконец, в последней строке задается конец корневого элемента:
</note>
Из документа легко понять, что в нем содержится записка (note), адресованная Tove от Jani с заголовком «Напоминание» («Reminder») и содержимым, расположенным между тэгами <body>.
Пример 2. Каталог растений.
<CATALOG>
<PLANT>
<COMMON>Bloodroot</COMMON>
<BOTANICAL>Sanguinaria canadensis</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$2.44</PRICE>
<AVAILABILITY>031599</AVAILABILITY>
</PLANT>
<PLANT>
<COMMON>Columbine</COMMON>
<BOTANICAL>Aquilegia canadensis</BOTANICAL>
<ZONE>3</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>$9.37</PRICE>
<AVAILABILITY>030699</AVAILABILITY>
</PLANT>
<PLANT>
<COMMON>Marsh Marigold</COMMON>
<BOTANICAL>Caltha palustris</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Mostly Sunny</LIGHT>
<PRICE>$6.81</PRICE>
<AVAILABILITY>051799</AVAILABILITY>
</PLANT>
</CATALOG>
Пример 3. Список сотрудников кафедры.
<?xml version="1.0" encoding="utf-8"?>
<cafedra>
<person>
<fio>Федоров Е.Е.</fio>
<post>Заведующий кафедрой</post>
<wage>1.5</wage>
<exp>12</exp>
<age>40</age>
</person>
<person>
<fio>Патрушев В.А.</fio>
<post>Старший преподаватель</post>
<wage>1.4</wage>
<exp>10</exp>
<age>35</age>
</person>
</cafedra>
Пример 4. Кулинарный рецепт
<?xml version="1.0" encoding="UTF-8"?>
<recipe>
<recipename>Мороженое</recipename>
<ingredlist>
<listitem>
<quantity>3</quantity>
<itemdescription>Тертый шоколад </itemdescription>
</listitem>
<listitem>
<quantity>1</quantity>
<itemdescription>орехи</itemdescription>
</listitem>
<listitem>
<quantity>1</quantity>
<itemdescription>вишня</itemdescription>
</listitem>
</ingredlist>
<preptime>5 minutes</preptime>
</recipe>
Пример 6. Сравнительное использование атрибутов, дочерних элементов и структурированных дочерних элементов.
<note date="12/11/2002">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<note>
<date>12/11/2002</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<note>
<date>
<day>12</day>
<month>11</month>
<year>2002</year>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Пример 7. Злоупотребление атрибутами.
<note day="12" month="11" year="2002"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>
Пример 8. Атрибуты в роли идентификаторов тэгов.
<messages>
<note id="m001">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<note id="m002">
<to>Jani</to>
<from>Tove</from>
<heading>Re: Reminder</heading>
<body>I will not!</body>
</note>
</messages>
Атрибуты ID в приведенном выше примере – просто инкрементный счетчик, который не является частью данных note и может быть использован для уникальной идентификации отдельных <note> элементов внутри XML файла. Таким образом, это не данные, а метаданные (данные о данных). Метаданные принято хранить в виде атрибутов. Однако такой подход является субъективным, и никаких строгих правил о выборе между атрибутами или элементами нет.
Лекция 7
Дата добавления: 2015-12-08; просмотров: 702;