Модель содержимого элемента
Под моделью содержимого в схеме данных понимают описание всех допустимых объектов XML- документа, использование которых внутри данного элемента является корректным. Модель содержимого определяется инструкциями, расположенными внутри блока <elementType>.
<elementType id="article"><attribute name="id" atttype="ID"><element type="#title"><string/></elementType>Для этого правила корректным будет являться следующий фрагмент документа:
<article id="0"><title>Психи и маньяки в Интернет</title></article>Вложенные элементы описываются при помощи инструкции element, в которой параметром type указывается класс объекта - ссылка на его определение:
<elementType id="article"><element type="#title"/><element type="#author"/></elementType>Если требуется указать режим использования вложенного элемента, то надо определить параметр occurs:
<elementType id="article"><element type="#title" occurs="REQUIRED"/><element type="#author" occurs="OPTIONAL"/><element type="#subject" occurs="ONEORMORE"/></elementType>Возможные значения этого параметра таковы:
· REQUIRED - элемент должен быть обязательно определен
· OPTIONAL - использование элемента не является обязательным
· ZEROORMORE - вложенный элемент может встречаться несколько раз или ни разу
· ONEORMORE - элемент должен встречаться хотя бы один раз
Примеры правильных XML-документа, использующих приведенную выше схему:
<article><title>Зачем он нужен, XML?</title><author>Иван Петров</author><subject>Что такое XML</subject><subject>нужен ли он нам</subject></article>или
<article><title>Зачем он нужен, XML?</title><subject>Что такое XML</subject></article>Кроме элементов, содержимым XML-документа могут также является обычный текст и области CDATA. Для обозначения типов содержимого текущего элемента в схемах используются следующие инструкции:
· <string/>- указывает на то, что содержимым элемента является только свободная текстовая информация(секция PCDATA) :
· <elementType id="flower">· <string/>· </elementType>· <any/>- указывает на то, что содержимым элемента должны являться только элементы, без текста, незаключенного ни в один элемент:
· <elementType id="issue">· <any/>· </elementType>· <mixed>- любое сочетание элементов и текста
· <elementType id="contacts">· <mixed/>· </elementType>· <empty>- пустой элемент
Пример:
<elementType id="title"><string/></elementType><elementType id="chapter"><string/></elementType><elementType id="chapters-list"><any/></elementType><elementType id="content"><element type="#chapters-list" occurs="OPTIONAL"></elementType><elementType id="article"><mixed><element type="#title"></mixed><element type="#content" occurs="OPTIONAL"></elementType>О типах данных, которые можно определять с помощью схем, мы поговорим чуть позже
Дата добавления: 2015-09-14; просмотров: 631;