» Xml для новичков
» Главная страница
»
К оглавлению
Схемы данных
Схемы данных (Schemas) являются альтернативным способом
создания правил построения XML-документов. По сравнению с DTD, схемы обладают
более мощными средствами для определения сложных структур данных, обеспечивают
более понятный способ описания грамматики языка, способны легко
модернизироваться и расширяться. Безусловным достоинством схем является также
то, что они позволяют описывать правила для XML- документа средствами самого же
XML.
Однако это не означает, что схемы могут полностью заменить DTD-
описания - этот способ определения грамматики языка используется сейчас
практическими всеми верифицирующими анализаторами XML и, более того, сами схемы,
как обычные XML- элементы, тоже описываются DTD. Но серьезные возможности нового
языка и его относительная простота, безусловно, дают основания утверждать, что
будущий стандарт найдет широкое применение в качестве удобного и эффективного
средства проверки корректности составления документов.
В настоящее время в W3 консорциуме идет работа над первой
спецификацией схем данных, рабочий ее вариант сейчас доступен на сервере. В этом разделе мы рассмотрим основные возможности
схем данных, попытаемся использовать их для проверки корректности ранее
описываемых 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 - консорциума. В этой статье мы коснемся
лишь основных приемов для работы со схемами данных. Ссылки на более подробные
источники приведены в конце.
|