Опубликован: 04.07.2012 | Уровень: специалист | Доступ: платный
Самостоятельная работа 5:

Структура XML документа. Программный интерфейс XML DOM API

< Лекция 9 || Самостоятельная работа 5: 123 || Лекция 10 >
Аннотация: Цель работы: знакомство со структурой XML-документа, основами синтаксиса языка и методами контроля содержимого документа с помощью схем.

Теоретический материал

XML документ можно представить в виде древовидной структуры, которая начинается с "корня" и заканчивается "листьями".

Ниже приведен пример XML документа:

<?xml version="1.0" encoding="Windows-1251"?>
<mail>
<to>user1@domain.ru</to>
<from>user2@domain.ru </from>
<subject>Встреча</heading>
<body>Позвони мне завтра утром</body>
</mail>
  • В первой строке помещена XML декларация, описывающая версию XML и используемую кодировку
  • В следующей строке описан корневой элемент документа.
  • В последующих четырех строках описаны 4 дочерних элемента относительно корневого: (to, from, subject и body).
  • И в последней строке указывается конец корневого элемента.

XML документ должен содержать корневой элемент, который является родительским для всех остальных элементов. Любой элемент (кроме находящихся на самом нижнем уровне дерева) может иметь вложенные элементы (дочерние элементы).

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

Элементы могут иметь текстовое содержимое и атрибуты.

Ниже приведена схема, показывающая отношения между элементами и атрибутами этого документа:


Кроме того в XML документе следует выполнять еще несколько несложных правил:

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

Некоторые из символов (их всего 5) имеют специальное значение в XML. Для их обозначения используются альтернативные сочетания:

замена символ
&lt; <
&gt; >
&amp; &
&apos; '
&quot; "

Комментарии в XML выделяются также как и в HTML:

<!-- Это комментарий -->

В отличие от HTML, который игнорирует повторы пробелов, XML сохраняет полную длину строки из пробелов.

XML документы, оформленные в соответствии с приведенными выше правилами, называются "правильно оформленными". Если при этом они еще и соответствуют правилам DTD (Document Type Definition), то они являются и "действительными".

Действительные XML документы содержат ссылку на DTD файл, например:

<!DOCTYPE note SYSTEM "mail.dtd">

DTD схема предназначена для определения структуры XML документа путем задания списка допустимых элементов, например

<!DOCTYPE mail [
  <!ELEMENT note (to,from,subject,body)>
  <!ELEMENT to      (#PCDATA)>
  <!ELEMENT from    (#PCDATA)>
  <!ELEMENT subject (#PCDATA)>
  <!ELEMENT body    (#PCDATA)>
]>

Консорциум W3C поддерживает альтернативную к DTD, основанную на XML схему, называемую как "XML Schema":

<xs:element name="mail">
<xs:complexType>
  <xs:sequence>
    <xs:element name="to"      type="xs:string"/>
    <xs:element name="from"    type="xs:string"/>
    <xs:element name="subject" type="xs:string"/>
    <xs:element name="body"    type="xs:string"/>
  </xs:sequence>
</xs:complexType>
</xs:element>

Для проверки действительности XML документа можно использовать специальные валидаторы, например W3C валидатор (http://validator.w3.org/). Для проверки схем также существуют специальные валидаторы, например XML Schema валидатор (http://www.w3.org/2001/03/webdata/xsv).

Согласно спецификации W3C XML программа должна прекратить обработку XML документа, как только будет обнаружена ошибка в этом документе.

< Лекция 9 || Самостоятельная работа 5: 123 || Лекция 10 >
Сергей Крупко
Сергей Крупко

Добрый день.

Я сейчас прохожу курс  повышения квалификации  - "Профессиональное веб-программирование". Мне нужно получить диплом по этому курсу. Я так полагаю нужно его оплатить чтобы получить диплом о повышении квалификации. Как мне оплатить этот курс?

 

Галина Башкирова
Галина Башкирова

Здравствуйте, недавно закончила курс по проф веб программиованию, мне прислали методические указания с примерами тем, однако темы там для специальности 

Системный администратор информационно-коммуникационных» систем.
Мне нужно самой найти тему? или делать по высланным темам