XML - статьи




A.3 Расширенные типы элементов и названия атрибутов


Чтобы было проще задавать правила и выполнять сравнение, для каждого типа элементов и названия атрибутов в XML документе мы определяем расширенный формат, описываемый здесь средствами синтаксиса элементов XML.

[Определение:] Расширенный тип элемента представлен как пустой элемент XML типа ExpEType. Он имеет обязательный атрибут type, определяющий в этом типе , и необязательный атрибут ns, определяющий , если данный элемент является полным.

[Определение:] Расширенное имя атрибута представлено как пустой элемент XML типа ExpAName. Оно имеет обязательный атрибут name, определяющий название. Если атрибут является глобальным, он имеет обязательный атрибут ns, определяющий . В противном случае имеется обязательный атрибут eltype, определяющий тип задействованного элемента, а также необязательный атрибут elns, определяющий название пространства имен для этого элемента, если таковое известно.

Небольшое изменение приведенных ранее примеров проиллюстрирует работу расширенных типов элементов и названий атрибутов. Ниже представлены два фрагмента, сопровождаемые таблицей, показывающей обработку имен:

<!--1 --> <section xmlns='urn:com:books-r-us'>

<!-- 2 -->   <title>Book-Signing Event</title>

<!-- 3 -->   <signing>

<!-- 4 -->     <author title="Mr" name="Vikram Seth" />

<!-- 5 -->     <book title="A Suitable Boy" price="$22.95" />

             </signing>

           </section>

Названия должны обрабатываться следующим образом:

СтрокаИмяРезультат
1section <ExpEType type="section" ns="urn:com:books-r-us" />
2 title<ExpEType type="title" ns="urn:com:books-r-us" />
3 signing<ExpEType type="signing" ns="urn:com:books-r-us" />
4 author<ExpEType type="author" ns="urn:com:books-r-us" />
4 title <ExpAName name='title' eltype="author" elns="urn:com:books-r-us" />
4 name <ExpAName name='name' eltype="author" elns="urn:com:books-r-us" />
5 book<ExpEType type="book" ns="urn:com:books-r-us" />
5 title<ExpAName name='title' eltype="book" elns="urn:com:books-r-us" />
5 price<ExpAName name='price' eltype="book" elns="urn:com:books-r-us" />
<


Содержание  Назад  Вперед