
- •3. Пространство имен 32
- •5. Приложения xml 39
- •10. Онтология 79
- •11. Список литературы 85
- •Определение и основные принципы World Wide Web
- •Проблемы современного Web.
- •Семантические технологии Web
- •Стандартный синтаксис описания данных – rdf
- •Стандартные способы описания свойств данных – схема rdf
- •Онтология
- •Отображение хмl-документа
- •Синтаксис хмl-документа
- •Составные части корректно сформированного хмl-документа
- •Задание атрибутов для элементов
- •Правила для корректного задания значений атрибутов
- •Форма записи инструкции по обработке
- •Форма записи раздела cdata
- •Несколько примеров xml-документов.
- •Пространство имен
- •Понятие пространства имен
- •Пример применения пространства имен.
- •Особенности отображения в Internet Explorer
- •Синтаксис языка
- •Основные элементы
- •Индексы
- •Приложения xml
- •Элементы xml Schema
- •Определение простых элементов
- •Перечисляемые значения
- •Определение комплексных элементов
- •Введение
- •Простые примеры
- •Синтаксис основных элементов xsl.
- •Использование шаблонов
- •Вставка скриптов в результирующий html-документ
- •Обработка xml-документов с помощью JavaScript.
- •Полезный синтаксис
- •Предикаты
- •Операции равенства
- •Операции Сравнения
- •Булевы Выражения
- •Числовые Выражения
- •Библиотека функций
- •Функции набора элементов
- •Числовые Функции
- •Строковые Функции
- •Определение rdf
- •Rdfs – rdf схема
- •Список литературы
Элементы xml Schema
В Пример 10. элемент Book является комплексным элементом, поскольку он содержит другие элементы. Все остальные элементы являются простыми, так как они не содержат других элементов.
Определение простых элементов
Элемент простого типа это XML элемент, который не может содержать какие-либо другие элементы или атрибуты. Содержимое элемента может быть одним из типов, которые включаются в определение XML Schema, или он может быть пользовательского типа, который вы можете определить самостоятельно.
Синтаксис:
<xsd:element name="NAME" type="TYPE"/>
где NAME – это имя элемента, а TYPE – тип.
Примеры:
<xsd:element name="Title" type="xsd:string"/>
<xsd:element name="age" type="xsd:number"/>
Ниже представлен список наиболее часто используемых внутренних типов XML Schema:
Название |
Описание |
Пример |
string |
Строка символов, включая символы пробела, табуляции, возврата каретки и перевода строки. |
John Lennon |
boolean |
Двоичное, логическое. Принимает значения: true или false (1 или 0). |
false |
decimal |
Десятичное число в виде последовательности десятичных цифр, включая дробную часть, отделяемую точкой. |
3145.56 |
hexBinary |
16-е данные в двоичном кодев виде последовательности двоичных октетов. |
0FFF |
anyURI |
Универсальный индикатор ресурсов (URI) согласно RFC 2396 и RFC 2732. |
http://cnet.com |
integer |
Целое число |
1235 |
time |
Значение текущего времени |
15:30:01 |
date |
Календарная дата |
1950-03-26 |
Если XML элемент типа xsd:date, например, содержит произвольную текстовую строку, то на этот элемент будет выдаваться ошибка, связанная с несоответствием типов. Используя определения XML Schema, можно добавлять собственные ограничения для XML элементов. Эти ограничения называются областью определений (facets).
Перечисляемые значения
Имеется возможность ограничить содержимое XML элементов, представляя их в виде набора фиксированных значений:
<xsd:element name="car">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Audi"/>
<xsd:enumeration value="Mercedes"/>
<xsd:enumeration value="Volvo"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
Элементы enumeration XML Schema определяют набор допустимых значений для XML элемента car.
Следующий пример определяет XML элемент, который называется age (возраст) и имеет ограничения на значения – от 16 до 34:
<xsd:element name="age">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="16"/>
<xsd:maxInclusive value="34"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
Определение комплексных элементов
Комплексные элементы XML могут содержать дочерние элементы и/или атрибуты.
Синтаксис:
<xs:element name="name">
<xs:complexType>
содержание элемента
</xs:complexType>
</xs:element>
<xsd:element name="note">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="to" type="xsd:string"/>
<xsd:element name="from" type="xsd:string"/>
<xsd:element name="heading" type="xsd:string"/>
<xsd:element name="body" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
В примере приведен элемент XML Schema описывающий XML элемент содержащий дочерние элементы. Следующий пример демонстрирует описание пустого XML элемента содержащего атрибуты.
<xsd:element name="product">
<xsd:complexType>
<xsd:attribute name="prodid" type="xsd:Integer"/>
</xsd:complexType>
</xsd:element>
XML элемент
<product prodid="1345"/>
Следующий пример демонстрирует описание не пустого XML элемента содержащего атрибуты.
<xsd:element name="shoesize">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:integer">
<xsd:attribute name="country" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
XML элемент
<shoesize country="france">35</shoesize>
Пример XML документа отправляемых заказов:
<?xml version="1.0"?>
<shipOrder>
<shipTo>
<name>Tove Svendson</name>
<street>Ragnhildvei 2</street>
<address>4000 Stavanger</address>
<country>Norway</country>
</shipTo>
<items>
<item>
<title>Empire Burlesque</title>
<quantity>1</quantity>
<price>10.90</price>
</item>
<item>
<title>Hide your heart</title>
<quantity>1</quantity>
<price>9.90</price>
</item>
</items>
</shipOrder>
Пример XML Schema для рассмотренного выше XML документа:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="shipOrder" type="order"/>
<xs:complexType name="order">
<xs:sequence>
<xs:element name="shipTo" type="shipAddress"/>
<xs:element name="items" type="cdItems"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="shipAddress">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="street" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="cdItems">
<xs:sequence>
<xs:element name="item" type="cdItem"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="cdItem">
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="quantity" type="xs:integer"/>
<xs:element name="price" type="xs:decimal"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Документация и литература:
XML-схема. Часть 0: Пример. Рекомендации W3C, 2 мая 2001 года. Перевод выполнил Шокоров В. П. http://www.citforum.ru/internet/xml/scheme/
Понимание XML Schema. Автор: Aaron Skonnard, DevelopMentor. Перевод: Шатохина Надежда(sna@uneta.org), Ukraine .Net Alliance (http://www.uneta.org). Март 2003. http://www.vbnet.ru/articles/showarticle.aspx?id=151
Руководство по XML: Разработка XML Schema. http://www.iso.ru/journal/articles/41.html
Учебный центр IBM, ученые курсы по XML и сопутстующим технологиям http://www.ibm.com/developerworks/ru/xml/.
Школы Консорциума W3C: http://xml.nsu.ru