Как выглядит XML-документ?

Как выглядит XML-документ?


XML-документ очень похож на SGML- или HTML-документ. Как вы уже знаете, в него входят элементы, атрибуты и сущности, а также комментарии и другой стандартный текст. Но существуют некоторые особенности, которые отличают XML-документы от младших и старших родственников по линии языков разметки. Сначала рассмотрим простой XML-документ:

<?XML version="1.0"?>
<!DOCTYPE MEMO SYSTEM "http://www.site.com/dtds/memo.dtd">
<MEMO>
<headER>
<TO>
TO:
<NAME>
John Doe
</NAME>
<CC/>
</TO>
<FROM>
From:
</FROM>
<SENDER>
Betty North
</SENDER>
</headER
<!CThis is the start of the memo text - ->
<MEMOTEXT>
Please take note our phone number has changed.
</MEMOTEXT>
</MEMO>

Во-первых, обратите внимание, что данный документ начинается с исполняемой инструкции <?XML version="1.0"?>. Эта строка кода называется объявлением разметки XML, она указывает процессору, что данный документ является XML-документом, в котором для структурирования применяется XML версии 1.0. Хотя это объявление не является обязательным, вам следует его включать в текст кода всегда, для того чтобы процессор "понимал", что он имеет дело с XML-документом. Иначе процессоры или браузеры могут рассматривать его как стандартный HTML-документ и неправильно обработать содержащуюся в нем информацию.

Во-вторых, обратите внимание, что, в отличие от SGML, присутствие DTD не является обязательным, однако в данном случае мы включили одно такое объявление. Это DTD хранится на сервере по адресу www.site.com/dtds в файле Memo.dtd. Оно определяет все элементы и сущности, используемые в данном документе.

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

Теперь рассмотрим элемент </CC>. В отличие от элементов, которые позволяют открывать и закрывать теги, пустые элементы, такие как <CC/>, немного модифицированы и не обязательно должны сопровождаться открывающими тегами где-либо в содержании текста. Напротив, пустые элементы следует представлять как маркеры, на месте которых может появиться что-либо, или может быть определено значение по умолчанию. Пустые элементы всегда обозначаются при помощи имени, элемента, за которым следует наклонная черта, например, <LATESTIME/>, но для них всегда могут быть установлены границы с помощью начального и оконечного тегов, причем между тегами нет никаких значений — <LATESTTIME><LATESTIME/>. Как видите, XML-документы состоят из содержания и разметки.

Также обратите внимание на то, как один элемент может быть встроен в другие элементы, например, <МЕМО></МЕМО>, <head></head> и <МЕМОТЕХТ></МЕМОТЕХТ> — точно так же, как они могли быть встроены друг в друга в HTML. Вы можете помещать комментарии (как и в HTML) — подобно тому, как это сделано перед самим текстом служебной записки (memo). Обратите внимание также, что отсутствуют форматирующие теги. Вместо этого вся работа по форматированию выполняется при помощи отдельной таблицы стилей, определенной в отдельном документе.

<< назад | содержание | вперед >>