Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Веб программирование.Начало.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
7 Мб
Скачать
☆

Объявление xml. Первая строка xml-документа называется объявление xml.

<?xml version="1.1" encoding="UTF-8"?>

Спецификация требует, чтобы процессоры XML обязательно поддерживали Юникод-кодировки UTF-8 и UTF-16.

Документ имеет только один корневой элемент (англ. root element). Это означает, что текст или другие данные всего документа должны быть расположены между единственным начальным корневым тегом и соответствующим ему конечным тегом.

XML-комментарии размещаются внутри специального тега, начинающегося с символов <!-- и заканчивающегося символами -->.

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

Остальная часть этого XML-документа – вложенные элементы, которые имеют атрибуты и содержимое. Элемент обычно состоит из открывающего и закрывающего тегов, обрамляющих текст и другие элементы. Содержимым элемента (англ. content) называется все, что расположено между открывающим и закрывающим тегами, включая текст и другие (вложенные) элементы.

Кроме содержания у элемента могут быть атрибуты – пары имя-значение, добавляемые в открывающий тег после названия элемента. Значения атрибутов всегда заключаются в кавычки (одинарные или двойные), одно и то же имя атрибута не может встречаться дважды в одном элементе.

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

Например:

<foo></foo>

<foo />

<foo/>

Конструкции языка xml. Повторим еще раз содержимое xml-документа: набор элементов, секций cdata, директив анализатора, комментариев, спецсимволов, текстовых данных.

Элемент данных – это структурная единица XML-документа. Заключая слово в тэги <cat>Барсик </cat>, мы определяем непустой элемент, называемый <cat>, содержимым которого является Барсик. В качестве содержимого элементов могут выступать какой-то текст или другие, вложенные, элементы документа, секции CDATA, инструкции по обработке, комментарии.

Чтобы включить в документ символ, используемый для определения каких-либо конструкций языка (например, символ угловой скобки) и не вызвать при этом ошибок в процессе разбора такого документа, нужно использовать его специальный символьный либо числовой идентификатор, например < , > " или $ (десятичная форма записи), &#x1a (шестнадцатеричная) и т. д. Строковые обозначения спецсимволов могут определяться в XML-документе при помощи компонентов (entity).

Инструкции, предназначенные для анализаторов языка, описываются в XML-документе при помощи специальных тэгов – <? и ?>. Часто инструкции используются при определении типа документа (<? Xml version=1.1?>) или при создании пространства имен.

Чтобы задать область документа, которую при разборе анализатор будет рассматривать как простой текст, игнорируя любые инструкции и специальные символы, но в отличие от комментариев иметь возможность применять их в приложении, необходимо использовать тэги <![CDATA] и ]]>. Внутри этого блока можно помещать любую информацию, которая может понадобиться программе-клиенту. В область CDATA, можно помещать, например, инструкции JavaScript.

3.1.2. Правильно построенные и действительные документы xml

Стандартом определены два уровня правильности документа XML.

1. Правильно построенный документ соответствует всем правилам синтаксиса XML. Иначе XML-процессор (парсер) не обрабатывает его обычным образом, а классифицирует ситуацию как фатальную ошибку.

2. Действительный (англ. valid) документ дополнительно соответствует некоторым семантическим правилам, которые могут быть разработаны как самим пользователем, так и разработчиками словарей или стандартов обмена данными. Обычно такие правила хранятся в специальных файлах – схемах, где подробным образом описана структура документа, все допустимые названия элементов, атрибутов и многое другое. И если документ содержит не определенное заранее в схемах название элемента, то такой документ считается недействительным. Проверяющий XML-процессор (валидатор) при проверке на соответствие правилам и схемам должен сообщить об ошибке.

В общем случае XML-документы должны удовлетворять следующим требованиям.

  • В заголовке документа помещается объявление XML, в котором указывается язык разметки документа, номер его версии и дополнительная информация.

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

  • В XML учитывается регистр символов.

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

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

  • Вся информация, располагающаяся между начальным и конечными тэгами, рассматривается в XML как данные и поэтому учитываются все символы форматирования (пробелы, переводы строк, табуляции не игнорируются, как в HTML).

  • Если XML-документ не нарушает приведенные правила, он называется формально-правильным и все анализаторы, предназначенные для разбора XML-документов, смогут работать с ним корректно.

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

  • Чтобы обеспечить проверку корректности XML-документов, необходимо использовать анализаторы, которые осуществляют такую проверку и называются верифицирующими.

  • На сегодняшний день существует два способа контроля правильности XML-документа: DTD-определения (Document Type Definition) и схемы данных (Semantic Schema). В отличие от SGML определение DTD-правил в XML не является необходимостью.