Учебник по XML

XML ГЛАВНАЯ Введение в XML XML Как использовать XML-дерево Синтаксис XML XML-элементы XML-атрибуты Пространства имен XML Отображение XML XML HttpRequest XML-парсер XML DOM XML XPath XML XSLT XML XQuery XML-ссылка XML-валидатор XML-DTD XML-схема XML-сервер XML-примеры XML-викторина XML-сертификат

XML АЯКС

Введение в АЯКС AJAX XMLHttp АЯКС-запрос AJAX-ответ XML-файл AJAX АЯКС PHP АЯКС АСП База данных AJAX AJAX-приложения Примеры AJAX

XML DOM

Введение в ДОМ DOM-узлы Доступ к DOM Информация об узле DOM Список узлов DOM Обход DOM DOM-навигация DOM Получить значения Узлы изменения DOM DOM Удалить узлы DOM заменить узлы DOM Создание узлов DOM Добавить узлы Узлы клонирования DOM Примеры DOM

Учебник XPath

XPath Введение Узлы XPath Синтаксис XPath Оси XPath Операторы XPath Примеры XPath

XSLT- учебник

Введение в XSLT Языки XSL XSLT-преобразование XSLT <шаблон> XSLT <значение> XSLT <для каждого> XSLT <сортировка> XSLT <если> XSLT <выбрать> XSLT Применить XSLT на клиенте XSLT на сервере XSLT Редактировать XML XSLT-примеры

Учебник по XQuery

Введение в XQuery Пример XQuery XQuery FLWOR XQuery HTML Условия XQuery Синтаксис XQuery XQuery Добавить Выбор XQuery Функции XQuery

XML -DTD

Введение в DTD Строительные блоки DTD Элементы DTD Атрибуты DTD Элементы DTD и Attr Сущности DTD Примеры DTD

XSD- схема

Введение в XSD XSD Как XSD <схема> XSD-элементы XSD-атрибуты XSD-ограничения

Комплекс XSD

XSD-элементы XSD пустой Только элементы XSD Только текст XSD XSD смешанный XSD-индикаторы XSD <любой> XSD <любой атрибут> Замена XSD Пример XSD

XSD- данные

XSD-строка XSD-дата XSD числовой XSD Разное Справочник по XSD

Веб- сервисы

XML-сервисы XML WSDL XML-МЫЛО XML RDF XML RSS

использованная литература

Типы узлов DOM DOM-узел Список узлов DOM DOM NamedNodeMap Документ DOM DOM-элемент Атрибут DOM DOM-текст ДОМ CDATA Дом Комментарий DOM XMLHttpRequest Парсер DOM XSLT-элементы Функции XSLT/XPath

DTD — Элементы


В DTD элементы объявляются с помощью объявления ELEMENT.


Объявление элементов

В DTD элементы XML объявляются со следующим синтаксисом:

<!ELEMENT element-name category>
or
<!ELEMENT element-name (element-content)>

Пустые элементы

Пустые элементы объявляются с помощью ключевого слова категории EMPTY:

<!ELEMENT element-name EMPTY>

Example:

<!ELEMENT br EMPTY>

XML example:

<br />

Элементы с проанализированными символьными данными

Элементы, содержащие только проанализированные символьные данные, объявляются с #PCDATA в круглых скобках:

<!ELEMENT element-name (#PCDATA)>

Example:

<!ELEMENT from (#PCDATA)>


Элементы с любым содержанием

Элементы, объявленные с ключевым словом категории ANY, могут содержать любую комбинацию анализируемых данных:

<!ELEMENT element-name ANY>

Example:

<!ELEMENT note ANY>

Элементы с детьми (последовательности)

Элементы с одним или несколькими дочерними элементами объявляются с именами дочерних элементов в скобках:

<!ELEMENT element-name (child1)>
or
<!ELEMENT element-name (child1,child2,...)>

Example:

<!ELEMENT note (to,from,heading,body)>

Когда дочерние элементы объявляются в последовательности, разделенной запятыми, дочерние элементы должны появляться в документе в той же последовательности. В полной декларации также должны быть объявлены дети, и дети также могут иметь детей. Полное объявление элемента «заметка»:

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>

Объявление только одного вхождения элемента

<!ELEMENT element-name (child-name)>

Example:

<!ELEMENT note (message)>

В приведенном выше примере объявляется, что дочерний элемент «сообщение» должен встречаться один раз и только один раз внутри элемента «заметка».


Объявление минимум одного вхождения элемента

<!ELEMENT element-name (child-name+)>

Example:

<!ELEMENT note (message+)>

Знак + в приведенном выше примере объявляет, что дочерний элемент «сообщение» должен встречаться один или несколько раз внутри элемента «заметка».


Объявление нуля или более вхождений элемента

<!ELEMENT element-name (child-name*)>

Example:

<!ELEMENT note (message*)>

Знак * в приведенном выше примере объявляет, что дочерний элемент «сообщение» может встречаться ноль или более раз внутри элемента «заметка».


Объявление нуля или одного вхождения элемента 

<!ELEMENT element-name (child-name?)>

Example:

<!ELEMENT note (message?)>

? sign в приведенном выше примере объявляет, что дочерний элемент «message» может встречаться ноль или один раз внутри элемента «note».


Объявление либо/или контента

<!ELEMENT note (to,from,header,(message|body))>

В приведенном выше примере объявляется, что элемент «заметка» должен содержать элемент «кому», элемент «от», элемент «заголовок» и либо элемент «сообщение», либо элемент «тело».


Объявление смешанного содержимого

<!ELEMENT note (#PCDATA|to|from|header|message)*>

В приведенном выше примере объявляется, что элемент «заметка» может содержать ноль или более вхождений проанализированных символьных данных, элементов «кому», «от», «заголовка» или «сообщения».