Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
75
Добавлен:
12.02.2015
Размер:
442.88 Кб
Скачать

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

Элемент может содержать смешанную комбинацию элементов и элементов потомков

Пример

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

Подэлементы и подгруппы могут быть объявлены, как последовательности или как альтернативы

Последовательность

<!-- Элемент A состоит из единственного элемента B. -->

<!ELEMENT A (B)>

<!-- Элемент A состоит из элемента B, за которым следует элемент C . --> <!ELEMENT A (B, C)>

<!-- Элемент A состоит из последовательности, включающей подгруппу выбора . --> <!ELEMENT A (B, (C | D), E>

Выбор

<!-- Элемент A состоит либо из элемента B, либо из элемента C . -->

<!ELEMENT A (B | C)>

<!-- Элемент A состоит из подгруппы выбора, включающей последовательность . --> <!ELEMENT A (B | C | (D, E))>

Объявление атрибутов

Элементы могут иметь атрибуты

Синтаксис

<!ATTLIST element-name attribute-name attribute-type default-value>

Пример

<!DOCTYPE Book

[

<!ELEMENT Book (Title, Chapter+)> <!ATTLIST Book

Author CDATA #REQUIRED> <!ELEMENT Chapter (#PCDATA)> <!ATTLIST Chapter

id (4 | 7) #REQUIRED> <!ELEMENT Title (#PCDATA)>

]>

Атрибут (атрибут – типы значений)

 

Значение

Описание

 

CDATA

Значение – символьные данные

 

 

Значение должно быть перечисляемым типом значения

 

 

 

 

(eval|eval|..)

Значение – уникальный идентификатор id

 

Значение – идентификатор id другого элемента

 

ID

 

Значение – список других идентификаторов id

 

IDREF

 

Значение – допустимое в XML имя

 

IDREFS

 

Значение – список имён, допустимых в XML

 

NMTOKEN

 

 

 

NMTOKENS

Значение – примитив (entity)

 

Значение – список примитивов

 

 

 

ENTITY

Значение – имя нотации (notation)

 

ENTITIES

 

Значение предопределено

 

NOTATION

 

 

Атрибут (атрибут – значение по умолчанию)

Значение

Описание

 

 

#DEFAULT

Атрибут имеет значение по умолчанию

значение

 

 

 

#REQUIRED

Значение атрибута обязательно должно быть

включено в элемент

 

 

 

#IMPLIED

Атрибут не требует обязательного включения

 

 

#FIXED значение

Значение атрибута фиксировано (постоянно)

 

 

Внутреннее определение DTD

Записано непосредственно в документе XML сразу после декларации XML

Написание DTD в определении DOCTYPE называется

"Обёртыванием" (Wrapping).

Файл с DTD и кодом XML имеет расширение .xml

<!DOCTYPE SHOWROOM

[

<!ELEMENT SHOWROOM (TV|LAPTOP)+> <!ELEMENT TV (#PCDATA)> <!ATTLIST TV

count CDATA #REQUIRED> <!ELEMENT LAPTOP(#PCDATA)>

<!ATTLIST LAPTOP

count CDATA #REQUIRED>

]

>

Внешнее определение DTD

Существует за пределами содержимого документа

Расширением файла DTD является .dtd

Ссылка на файл DTD добавляется в начало файла XML

Ссылка на DTD в файле документа XML

<!DOCTYPE SHOWROOM SYSTEM "show.dtd">

Файл show.dtd

<!ELEMENT SHOWROOM (TV|LAPTOP)+> <!ELEMENT TV (#PCDATA)>

<!ATTLIST TV

 

count

CDATA

#REQUIRED>

<!ELEMENT

LAPTOP (#PCDATA)>

<!ATTLIST

LAPTOP

 

count

CDATA

#REQUIRED>

Объявление внутреннего примитива

Примитивы, которые включают своё содержимое в документ XML, называются внутренними примитивами

Синтаксис

<!ENTITY entity-name "entity-value">

Пример DTD

<!ENTITY writer "Jan Egil Refsnes."> <!ENTITY copyright "Copyright XML101.">

В документе XML ссылки на примитивы должны выполняться, как показано ниже

<author>&writer;&copyright;</author>

Объявление внешнего примитива

Примитивы, чьё содержимое находится за пределами документа XML, называются внешними примитивами

Они объявляются с использованием ключевого слова SYSTEM

В документе XML на эти примитивы ссылаются только как на внешние

Синтаксис

<!ENTITY entity-name SYSTEM "URI/URL">

Пример

<!ENTITY writer SYSTEM

"http://www.xml101.com/entities/entities.xml">

<!ENTITY copyright SYSTEM

"http://www.xml101.com/entities/entities.dtd">

Пространства имён XML – 1

Пространство имён – это набор имён, который может быть использован в документах XML, как имена элементов или атрибутов.

Пространства имён идентифицируют имя, как присутствующее в определённом домене

Также позволяют комбинировать документы из различных источников и обеспечивают идентификацию источника элементов и атрибутов.

Обеспечивают доступ к такой информации, как DTD или другие описания элементов и атрибутов для проверки корректности документа.

XML Namespaces - 2

В XML для идентификации пространств имён используется универсальный идентификатор ресурса URI (Uniform Resource Identifier)

В состав URI входят универсальное имя ресурса Uniform Resource Name (URN) и универсальный указатель ресурса Uniform Resource Locator (URL)

URL содержит ссылку на документ или на HTML страницу в web среде

URN – это уникальный номер, который идентифицирует ресурсы Интернет.