Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
java / лекции / лекция 5.ppt
Скачиваний:
102
Добавлен:
17.04.2018
Размер:
175.62 Кб
Скачать

Лекция 5

XML

Правильные и валидные документы

Правильный (well-formed) документ — документ, не содержащий ошибок

Валидный (valid) документ — правильный документ, соответствующий опредлению типа документа (ОТД) (от англ DTD — document type definition)

Document type definition (DTD)

DTD определяет «правильную» струтуру документа.

Размещение внутри документа:

<!DOCTYPE root-element [element-declarations]>

Размещение во внешнем файле:

<!DOCTYPE root-element SYSTEM "filename">

Пример размещения внутри документа

<?xml version="1.0"?> <!DOCTYPE note [

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

<!ELEMENT to

(#PCDATA)>

<!ELEMENT from

(#PCDATA)>

<!ELEMENT heading

(#PCDATA)>

<!ELEMENT body

(#PCDATA)>

]>

<note>

<to>Tove</to>

<from>Jani</from>

<heading>Reminder</heading>

<body>Don't forget me this weekend</body> </note>

Пример размещения DTD снаружи документа

Файл note.xml:

<?xml version="1.0"?>

<!DOCTYPE note SYSTEM "note.dtd">

<note>

<to>Tove</to>

<from>Jani</from>

<heading>Reminder</heading>

<body>Don't forget me this weekend!</body> </note>

Файл note.dtd:

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

<!ELEMENT to (#PCDATA)>

<!ELEMENT from (#PCDATA)>

<!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>

Назначение DTD

Использование DTD позволяет хранить формат документа в самом документе

Приложение, использующее «валидные» документы, может с помощью DTD контролировать целостность данных (напр. полученных через интернет)

DTD позволяет так же верифицировать сохраненные данные

Блоки XML документа

С точки зрения DTD, XML документ состоит из блоков следующих типов:

Элементы (<body>some text</body>)

Атрибуты (<img src="computer.gif" />)

Сущности (< &gt и т.д.)

PCDATA (анализируемый текст)

CDATA (НЕ анализируемый текст)

Определение элемента

Элемент в DTD определяется:

<!ELEMENT имя-элемента категория>

или

<!ELEMENT имя-элемента (содержимое- элемента)>

Категории: EMPTY, ANY

<!ELEMENT br EMPTY> <!ELEMENT note ANY>

Определение элемента

Элемент с текстом:

<!ELEMENT имя-элемента (#PCDATA)>

Элемент с суб-элементом:

<!ELEMENT имя-элемента (child1)>

или

<!ELEMENT имя-элемента

(child1,child2,...)>

Пример:

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

Определение суб-элементов

Порядок расположения суб-элементов в XML документе соответствует порядку в определении элемента

Суб-элементы так же должны быть определены в DTD

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

<!ELEMENT to

(#PCDATA)>

<!ELEMENT from

(#PCDATA)>

<!ELEMENT

heading (#PCDATA)>

<!ELEMENT

body

(#PCDATA)>

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