Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ППТС-2 / Слайды / Lect4-02.pptx
Скачиваний:
9
Добавлен:
12.05.2015
Размер:
233.72 Кб
Скачать

DTD. Определение атрибутов элемента. Маркированные атрибуты. Пример 1 (Документ XML)

<e-mail>

<address name="Ivanov">ivanov@post.com</address>

<address name="Petrov">petrov@post.com</address> <address name="Sidorov">sidorov@post.com</address>

<letter from="Ivanov" to="Petrov“ subject="Поздравление">

Поздравляю с днем рождения! </letter>

<proposal from="Petrov Sidorov" to="Ivanov"> Предложение Иванову от Петрова и Сидорова

</proposal> </e-mail>

21

DTD. Определение атрибутов элемента. Маркированные атрибуты. Пример 2 (DTD)

<?xml version="1.0" encoding="Windows-1251"?> <!DOCTYPE user-list [

<!ELEMENT user-list user+> <!ELEMENT user EMPTY> <!ATTLIST user

name NMTOKENS #REQUIRED birth_date NMTOKEN #REQUIRED

address NMTOKENS #REQUIRED

>

]>

22

DTD. Определение атрибутов элемента. Маркированные атрибуты. Пример 2 (Документ XML)

<user-list>

<user name="Иванов Иван Иванович" birth_date="01:12:1979"

address="Country:Украина City:Киев

Street:Полевая Building:56 Flat:12"/>

<user name="John Smith" birth_date="24:08:1979"

address="Country:USA City:New-York

Street:1-th Avenue Building:125 Flat:84"/> </user-list>

23

DTD. Определение атрибутов элемента. Атрибуты по перечислению. Задание

Атрибуты по перечислению представляются списком значений. Атрибуты могут принимать одно значение из списка значений, предоставляемых в объявлении. Тип перечисления может задаваться:

нотациями (notation type);

собственно перечислениями (enumeration).

Перечисление – это одно или несколько имен, которые разделены пробелами и символами "|". Перечисление задает несколько возможных вариантов значения атрибута, например.

Хотя в качестве значения можно использовать ключевые слова #IMPLIED или #REQUIRED, обычно используется значение по умолчанию.

24

DTD. Определение атрибутов элемента. Атрибуты по перечислению. Пример DTD

<!ELEMENT font (#PCDATA)>

<!ATTLIST font

face (Arial|Times_New_Roman| Courier_New)"Arial"

size (10pt|12pt|14pt|18pt) "12pt" style (normal|bold|italic) "normal"

>

25

DTD. Атрибут xml:space

Специальный атрибут, называемый xml:space, может быть присоединён к элементу для того, чтобы уведомить процессор о намерении сохранить пробел в данном элементе для использования приложением. Если данный атрибут объявляется, он должен быть задан как перечислимый тип, значениями которого могут быть либо "default" или "preserve", либо одно из значений.

Значение "default" указывает, что для данного элемента принимаются режимы обработки по умолчанию пробелов в данном приложении, а значение "preserve" задает режим сохранения в приложении всех пробелов. Это определение действует для всех элементов внутри содержимого элемента, для которого оно задано, если только оно не переопределяется другим экземпляром атрибута xml:space. Обычно атрибут xml:space указывается, если необходимо сохранить исходное

<!ATTLIST poem xml:space (default|preserve) 'preserve'> <!ATTLIST pre xml:space (preserve) #FIXED 'preserve'>

Примеры:

26

DTD. Атрибут xml:lang

Для определения языка содержимого элемента и языка значений атрибутов в элемент документа может быть вставлен специальный атрибут xml:lang. Значением атрибута являются коды языков, например,

"uk", "ru", "en", "en-US" или "en-GB".

Вправильных документах этот атрибут, как

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

27

DTD. Атрибуты xml:space и xml:lang. Пример (DTD -1)

<?xml version="1.0" encoding="Windows-1251"?> <!DOCTYPE program-book [

<!ELEMENT program-book

(name, language, description, program)+> <!ATTLIST program-book

xml:space (default|preserve) 'default'

>

<!ELEMENT name (#PCDATA)> <!ATTLIST name

xml:lang (en|ru) 'en'

>

28

DTD. Атрибуты xml:space и xml:lang. Пример (DTD -2)

<!ELEMENT language (#PCDATA)> <!ATTLIST language

xml:lang (en|ru) 'ru'

>

<!ELEMENT description (#PCDATA)> <!ATTLIST description

xml:lang (en|ru) 'ru'

>

<!ELEMENT program (#PCDATA)> <!ATTLIST program

xml:space (preserve) #FIXED 'preserve'

>

]>

29

DTD. Атрибуты xml:space и xml:lang. Пример (Документ XML)

<program-book> <name>add2.c</name>

<language xml:lang="en">C</language>

<description>Сложение двух чисел</description>

<program>

int main(void)

{

int a1, a2, sum; printf("Введите слагаемые:");

scanf("%d %d", &a1, &a2); sum = a1 + a2;

printf("Сумма:", sum);

}

</program>

</program-book>

30

Соседние файлы в папке Слайды