
- •Язык xml - практическое введение
- •Язык xml - практическое введение
- •Для чего нужен новый язык разметки?
- •Как выглядит xml-документ?
- •Правила создания xml- документа
- •Конструкции языка
- •Элементы данных
- •Комментарии
- •Атрибуты
- •Cпециальные символы
- •Директивы анализатора
- •Что дальше
- •2. Просмотр xml - документов
- •Использование msxml в ie 4
- •Объектная модель xml в Internet Explorer 4.0
- •Свойства и методы документа(объект xml Document)
- •Свойства и методы элементов документа
- •Пример использования
- •Использование asp
- •3. Стилевые таблицы xsl
- •С чего начать
- •Структура xsl- таблиц
- •Правила xsl
- •Корневое правило
- •Отношения между элементами
- •Приоритеты правил
- •Использование атрибутов элементов
- •Фильтрация элементов
- •Правила стилей
- •Сценарии
- •Вычисление выражений
- •Выполнение инструкций
- •Определение функций и глобальных переменных
- •Использование Java Script для html
- •Встроенные функции xsl
- •Определение элемента
- •Определение атрибутов
- •Определение компонентов(макроопределений)
- •Типизация данных
- •5. Схемы данных
- •Как это выглядит
- •Область схемы данных
- •Описание элементов
- •Атрибуты элемента
- •Модель содержимого элемента
- •Группировка элементов
- •Закрытая и открытая модели описания содержимого элемента
- •Иерархия классов
- •Ограничения на значения
- •Использование правил из внешних схем
- •Компоненты схем
- •Типы данных
- •Приложение 1 Пример xml-документа
- •Приложение 2 JavaScript сценарий, обрабатывающий xml-документ, приведенный в приложении 1
- •Приложение 3 Пример xsl-документа
- •Приложение 4
5. Схемы данных
Схемы данных (Schemas) являются альтернативным способом создания правил построения XML-документов. По сравнению с DTD, схемы обладают более мощными средствами для определения сложных структур данных, обеспечивают более понятный способ описания грамматики языка, способны легко модернизироваться и расширяться. Безусловным достоинством схем является также то, что они позволяют описывать правила для XML- документа средствами самого же XML.
Однако это не означает, что схемы могут полностью заменить DTD- описания - этот способ определения грамматики языка используется сейчас практическими всеми верифицирующими анализаторами XML и, более того, сами схемы, как обычные XML- элементы, тоже описываются DTD. Но серьезные возможности нового языка и его относительная простота, безусловно, дают основания утверждать, что будущий стандарт найдет широкое применение в качестве удобного и эффективного средства проверки корректности составления документов.
В настоящее время в W3 консорциуме идет работа над первой спецификацией схем данных, рабочий ее вариант сейчас доступен на сервере [36]. В этом разделе мы рассмотрим основные возможности схем данных, попытаемся использовать их для проверки корректности ранее описываемых XML- документов.
Как это выглядит
Внешне документы схем очень похожи на те документы XML, с которыми мы уже встречались в предыдущих разделах. Мы размечаем документ при помощи специальных элементов, выполняющих в схемах роль инструкций. Эти инструкции составляют набор правил, используя которые, программа-клиент будет делать вывод о том, корректен документ или нет. Схема данных, например, может выглядеть следующем образом:
<schema id="OurSchema">
<elementType id="#title">
<string/>
</elementType>
<elementType id="photo">
<element type="#title">
<attribute name="src"/>
</elementType>
<elementType id="gallery">
<element type="#photo">
</elementType>
</schema>
Если мы включим приведенные правила внутрь XML- документа, программа-клиент сможет использовать их для проверки. Т.е. она теперь сможет определить, что правильным будет являться следующий фрагмент:
<gallery>
<photo id="1"><title>My computer</title></photo>
<photo id="2"><title>My family</title></photo>
<photo id="3"><title>My dog</title></photo>
</gallery>
, а некорректным этот:
<gallery>
<photo id="1"/>
<photo index="2"><title>My family</title></photo>
<photo index="3"><title> My dog </title><dogname>Sharik</dogname></photo>
</gallery>
Все конструкции языка схем описываются правилами "XML DTD for XML-Data-Schema". Этот документ вы можете найти среди другой официальной документации, доступной на сервере W3 - консорциума. В этой статье мы коснемся лишь основных приемов для работы со схемами данных. Ссылки на более подробные источники приведены в конце.
Область схемы данных
Создавая схемы данных, мы определяем в документе специальный элемент, <schema>;, внутри которого содержатся описания правил:
<schema id="OurSchema">
<!-- последовательность инструкций -->
</schema>
Если использовать отдельное пространство имен, то полный XML-документ, содержащий в себе схему данных, будет выглядеть следующим образом:
<?XML version='1.0' ?>
<?xml:namespace href="http://www.mrcpk.nstu.ru/schemas/" as="s"/?>
<s:schema id="OurSchema">
<!-- последовательность инструкций -->
</s:schema>