XML Schema
Структуры
Все, что можно было описать с помощью DTD, содержится в части стандарта XML Schema, посвященного структурам. Поскольку схемы пишутся в соответствии с синтаксисом XML, структуры ссылаются на конструкции на этом языке, при помощи которых можно определять разметку. Это означает, что структуры представляют собой еще одно приложение XML (словарь XML для описания классов документа XML) и как таковое могут использовать схемы для описания самих себя (фактически, и схемы, и DTD приводятся в приложениях к разделу Structures проекта XML Schemas, чтобы описать словарь схемы).
Итак, раздел схем спецификации представляет собой ту ее часть, в которой определены элементы и атрибуты для описания схем. Что более важно, в этой части описана модель содержания для элементов. Такая модель явным образом определяет допустимую внутреннюю структуру элементов. Структуры являются сердцем схем XML.
Типы данных
В окружающем нас мире широко используются концепции чисел, строк и множеста, так что написанные на современных языках программы поддерживают большое количество тщательно проработанных систем встроенных типов данных и процедуры по определению новых типов. Добавление типов данных в проект XML Schemas станет важным подспорьем для программистов, использующих XML при работе с данными в своих приложениях. Такая поддержка типов данных предусматривает возможность проверять допустимость значения в документе, а. также осуществлять преобразование из текстовой формы во встроенный тип при обработке документа XML. Таким образом, чтобы использовать документы XML в качестве основы для интеграции программ и систем, необходимо иметь возможность перехватывать (определять) типы данных размечаемой нами информации.
Это обеспечивает вторая часть спецификации XML Schemas, носящая название XML Schemas: Datatypes. Она позволяет не только перехватывать базовые типы данных, но и записывать ограничения, налагаемые на данные в домене нашей проблемы. Она позволяет записывать числовые границы, множества и упорядоченные списки, а также создавать маски для допустимых строковых представлений наших данных.
Типы данных схем имеют набор четких значений, называемый пространством значений (value space). Он представляет собой абстрактную коллекцию значений, которые может принимать тип. Например, множество целых чисел является пространством значений для типа integer. Это пространство характеризуется ограничивающими свойствами и операциями над значениями в нем.
Часть XML Schema: Datatypes целиком посвящена вопросам определения пространств значений, а затем перечислению ограничивающих свойств типа. Он содержит множество примитивных типов данных и предоставляет механизм генерации новых типов на их основе. В проект входит большое количество таких генерированных типов, находящих широкое применение, но его составители приветствуют создание собственных типов, предназначенных для использования в конкретном приложении.
Для определения типов данных существуют некоторые свойства, называемые гранями (facets). Грани уточняют пространство значений, описывая допустимые значения для нового типа. Грани бывают фундаментальными и ограничивающими. Фундаментальные грани определяют некоторые фундаментальные свойства типов данных. Ограничивающие грани налагают ограничения на пространства значений, но не описывают его природы. Например, у строк имеется длина. Длина ничего не говорит вам о природе строки но, определяет, какие строковые значения являются допустимыми. Каждый тип в схемах XML характеризуется своими специфическими гранями. Очень важной гранью является лексическое представление. Поскольку мы работаем с языком XML, представляющим собой текстовую систему, мы должны определить текстовое представление нетекстовых типов. Конкретное значение этой грани зависит от типа данных.
Достарыңызбен бөлісу: |