Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры-2 оопип часть 4.doc
Скачиваний:
46
Добавлен:
01.04.2014
Размер:
445.44 Кб
Скачать

71. Xml. Схема dtd. Элемент Schema схемы xml

Не заменяя HTML, XML в настоящее время используется в сочетании с ним, существенно расширяя возможности Web-страниц для:

виртуального представления документов любого типа;

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

представления информации в структурированном виде.

XML-приложение обычно определяется созданием описателя типа документа (DTD), который является допустимым компонентом XML-документа. DTD построен по схеме базы данных: он устанавливает и определяет имена элементов, которые могут быть использованы в документе, порядок, в котором элементы могут появляться, доступные к применению атрибуты элементов и другие особенности документа. Для практического использования XML-приложения вы обычно включаете его DTD в ваш XML-документ; наличие DTD в документе ограничивает круг элементов и структур, которые вы будете использовать, вследствие чего ваш документ отвечает стандартам данного приложения.

<?xml version="1.0"?>

<!-- Comment -->

<!DOCTYPE PRODUCTS

[

<!ELEMENT PRODUCTS (PRODUCT)*>

<!ELEMENT PRODUCT (TITLE, PRICE)>

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT PRICE (#PCDATA)>

]

>

<PRODUCTS>

<PRODUCT>

<TITLE> Product #1 </TITLE>

<PRICE> 10.00 </PRICE>

</PRODUCT>

<PRODUCT>

<TITLE> Product #2 </TITLE>

<PRICE> 20.00 </PRICE>

</PRODUCT>

</PRODUCTS>

72. Ссылки xml

Чтобы дать возможность использовать чего-нибудь, что неопределенно в рамках языка, предусмотрена возможность создания собственных (т.е. внешних по отношению к языку) определений и их использования. Ссылка всегда начинается знаком амперсанта '&' и завершается точкой с запятой ';'. В XML имеется два вида ссылок:1.Ссылки на символы 2.Ссылки на сущности

Ссылки на символы.

Ссылки на символы в XML используют там, где в противном случае возникает нарушение ограничений, налагаемых анализатором. Ссылка на символ (character reference) представляет из себя последовательность цифр в десятичном или шестнадцатеричном формате, закачивающуюся точкой с запятой ';' и перед которой стоит знак '&'. Так, например, в виде десятичного (&#...;) или шестнадцатеричного (&#x...;) числа ссылки:

©

будут отображаться в Web-browser как символ: '(©)'.

Ссылки на сущности.

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

&name;

Пять сущностей предопределены в XML и используются вместо символов разметки XML:

Сущность

Применение

&amp; Всегда используется вместо знака амперсант '&'. Исключение составляют разделы CDATA

&lt; Всегда используется вместо вместо символа '<'. Исключение составляют разделы CDATA

&gt; Может использоваться вместо символа '>'. В разделе CDATA объект всегда необходимо использовать, если за знаком '>' следует строковая константа "]]"

&apos; Может использоваться вместо символа ' в строковой константе

&quot; Может использоваться вместо символа " в строковой константе

Все другие сущности должны быть определены перед их использованием. Сущности могут определяться:

средствами DTD документа, и тогда они являются внешними множеством по отношению к документу (external subset).

внутри самого документа с помощью раздела деклараций и тогда они называются внутренним множеством (internal subset) При обнаружении неопределённой сущности анализатор должен выдать фатальную ошибку.

Если при замещении имени на значение возникнет необходимость применения значения другой, встретившейся при этом сущности, то замещение должно продолжаться пока все сущности не будут заменены. Тем не менее, "имя" не должно содержать рекурсивных ссылок на себя, прямо или косвенно.

73. Язык XPath (Узлы дерева документа XML, дополнительные функции в выражениях XPath)

Основным назначением XPath является адресация частей XML [XML] документа. В поддержку этой первичной цели он также обеспечивает основные средства для обработки строк, чисел и булевых выражений. XPath использует компактный, не-XML синтаксис для облегчения применения XPath в URI и в значениях атрибутов в XML документах. XPath оперирует абстрактной, логической структурой XML документа, а не внешним синтаксисом. Название языка XPath происходит от его путевидной нотации, как в URL, для навигации по иерархической структуре XML документа.

Дополнительно к использованию языка XPath для адресации, он разработан таким образом, что имеет естественное подмножество, которое может быть использовано для сопоставления (проверки, соответсвует ли узел некоторому шаблону); этот вариант использования XPath описан в XSLT.

XPath моделирует XML документ как дерево узов. Существуют различные типы узлов, включая узлы элементов (element nodes), узлы атрибутов (attribute nodes) и текстовые узлы (text nodes). XPath определяет способ вычисления строкового значения (string-value) для каждого типа узла. Некоторые типы узлов также имеют имена. XPath полностью поддерживает пространства имен XML (XML Namespaces) [XML Names]. Таким образом, имя узла представлено в виде пары, состоящей из локальной части и возможно нулевого URI пространства имен; такая пара называется расширенным именем (expanded-name)

Основной синтаксической конструкцией в XPath является выражение. Выражение соответсвует правилу формальной грамматики Expr. Результатом вычисления выражения является объект одного из четырех базовых типов:

множество узлов (node set) (неупорядоченное множество узлов, не содержащее дубликатов)

булево значение (истина или ложь)

число (число с плавающей точкой)

строка (последовательность UCS символов)