Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТВЕТЫ_ФИН.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
338.29 Кб
Скачать

36. Принципы построения xml документов

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

Правильно построенный (англ. well-formed). Правильно построенный документ соответствует всем общим правилам синтаксиса XML, применимым к любому XML-документу.

Действительный (англ. valid). Действительный документ дополнительно соответствует некоторым семантическим правилам. Это более строгая дополнительная проверка корректности документа на соответствие заранее определённым, но уже внешним правилам,

Синтаксис XML

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

Объявление XML

Первая строка XML-документа называется объявление XML (англ. XML declaration) — это строка, указывающая версию XML. В версии 1.0 объявление XML может быть опущено, в версии 1.1 оно обязательно. Также здесь может быть указана кодировка символов и наличие внешних зависимостей.

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

Спецификация требует, чтобы процессоры XML обязательно поддерживали Юникод-кодировки UTF-8 и UTF-16 (UTF-32 не обязателен). Также допустимы другие кодировки, например, русские Windows-1251KOI-8.

Корневой элемент

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

Комментарий

В любом месте дерева может быть размещен элемент-комментарий. XML-комментарии размещаются внутри специального тега, начинающегося с символов <!-- и заканчивающегося символами -->. Два знака дефис (--) внутри комментария присутствовать не могут. <!-- Это комментарий. -->

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

Теги

Элемент обычно состоит из открывающего и закрывающего тегов, обрамляющих текст и другие элементы. Открывающий тег состоит из имени элемента в угловых скобках, например, <step>, тогда закрывающий тег  </step>. Имена элементов, как и имена атрибутов, не могут содержать пробелы, но могут быть на любом языке, поддерживаемом кодировкой XML-документа. Имя может начинаться с буквы, подчёркивания, двоеточия. Остальными символами имени могут быть те же символы, а также цифры, дефис, точка.

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

XML не допускает перекрывающихся элементов. (НЕ ДОПУСТИМО: <A> <B> </A> </B>) Тэг закрывается и открывается внутри одного и того же тега

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

<foo></foo>

<foo />

<foo/>

Спецсимволы

В XML определены два метода записи специальных символов: ссылка на сущность и ссылка по номеру символа.

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

В XML есть несколько предопределённых сущностей, таких как lt (ссылаться на неё можно написав <) для левой угловой скобки и amp (ссылка — &) для амперсанда. Возможно также определять собственные сущности. Помимо записи с помощью сущностей отдельных символов, их можно использовать для записи часто встречающихся текстовых блоков.

Ниже приведён пример использования предопределённой сущности для избежания использования знака амперсанда в названии:

<company-name>AT&T</company-name>

Полный список предопределённых сущностей состоит из & (&), < (<), > (>), ' (') и " (") .

Существуют и другие правила, касающиеся составления корректного XML-документа.

37. XML-платформа и стандарты

Прежде всего, о роли языка XML. В составе стандартов рассматриваемой платформы он выполняет две важные функции. Прежде всего, он обеспечивает содержательную (структурную) разметку информационных ресурсов, которые называют в рассматриваемой среде XML-документами, а также предоставляет средства (некоторый подъязык XML) для описания общей структуры документов интересующего пользователя типа. Такое описание называется Document Type Definition (DTD). Вместе с тем, как показывает приведенная классификация, язык XML служит одним из фундаментальных стандартов платформы XML. Другие стандарты платформы, которые дополняют его функции, связанные с управлением данными Web, определяются в терминах синтаксиса XML. В связи с этим их называют иногда приложениями XML.

Эти стандарты позволяют, в частности, определять множество допустимых в XML-документе тегов разметки и их атрибутов, ассоциируя с ними по умолчанию некоторую семантику (стандарт пространства имен XML - Namespaces in XML), обогащают имеющиеся в языке возможности описания с помощью DTD структуры XML-документов (стандарт спецификаций схемы - XML Schema), позволяют определять гиперсвязи между документами и/или их фрагментами (стандарты языка указателей и языка гиперссылок - XPointer и XLink), дают возможность описывать семантику XML-документов с различной степенью формализованности (стандарт среды определения ресурсов - RDF [11-12]), управлять представлением XML-документов на стороне клиента (стандарты каскадных таблиц стилей CSS [13] и расширяемого языка таблиц стилей XSL), описывать трансформации XML-документов (стандарт языка описания трансформаций XML-документов - XSLT - специальная часть стандарта XSL).

Кроме того, создан стандарт объектной модели DOM для XML- и HTML-документов, определяющий функции интерфейса прикладного программирования для их обработки.

Разрабатываются также стандарт языка запросов ресурсов XML (XML-QL), для чего сформулированы требования к базовой модели и языку [17-18] и изучается ряд имеющихся претендентов [19], и стандарт электронной подписи для XML-документов (XML-Signature [20]).

Особое место в рассматриваемом комплексе стандартов занимает недавно принятый W3C стандарт XHTML 1.0 [21]. Он предоставляет один из возможных путей обеспечения преемственности развития среды Web, позволяя использовать на платформе XML информационные ресурсы, накопленные в рамках технологий HTML. Этот стандарт поддерживает средствами XML функциональность текущей версии языка HTML (HTML 4.01) с тремя различными уровнями полноты.

Рассматриваемый комплекс стандартов платформы XML включает также целый ряд вспомогательных стандартов:

  • Стандарт XML Information Set (Infoset) представляет абстрактное описание тех данных, которые составляют XML-документ. На него опирается спецификация XML.

  • Стандарт XPath определяет понятие фрагмента XML-документа, используемое в языках XPointer и XSLT.

  • В стандарте XML Inclusions (XInclude) представлены модель и синтаксис для описания слияния XML-документов.

  • Стандарт XML Fragment Interchange позволяет описывать контекст фрагментов XML-документа и благодаря этому просматривать и редактировать их вне полного текста документа.

  • Стандарт Canonical XML позволяющий устанавливать эквивалентность двух XML-документов с различным синтаксическим представлением. Эта возможность существенна, в частности, для использования цифровой подписи .