- •Содержание
- •Возникновение языка xml и его задачи
- •Версии xml
- •Достоинства
- •Недостатки
- •Язык sgml
- •Объектная модель документа (dom)
- •Создание xml-документа
- •Структура документа
- •Правила создания
- •Конструкции языка
- •Элементы данных
- •Комментарии
- •Атрибуты
- •Специальные символы
- •Директивы анализатора
- •Определение типа документа(dtd)
- •Определение элемента
- •Пример корректного xml- документа:
- •Определение атрибутов
- •Типизация данных
- •Практическая часть Постановка задачи
- •Тестирование работы программы
- •Заключение
Объектная модель документа (dom)
Одним из самых мощных интерфейсов доступа к содержимому XML документов является Document Object Model - DOM.
Объектная модель XML документов является представлением его внутренней структуры в виде совокупности определенных объектов. Для удобства эти объекты организуются в некоторую древообразную структуру данных - каждый элемент документа может быть отнесен к отдельной ветви, а все его содержимое, в виде набора вложенных элементов, комментариев, секций CDATA и т.д. представляется в этой структуре поддеревьями. Т.к. в любом правильно составленном XML-документе обязательно определен главный элемент, то все содержимое можно рассматривать как поддеревья этого основного элемента, называемого в таком случае корнем дерева документа. Для следующего фрагмента XML документа:
<tree-node>
<node-level1>
<node-level2/>
<node-level2>text</node-level2>
<node-level2/>
</node-level1>
<node-level1>
<node-level2>text</node-level2>
<node-level1>
<node-level2/>
<node-level2><node-level3/></node-level2>
</node-level1>
</tree-node>
дерево элементов выглядит так:
Объектное представление структуры документа не является чем-то новым для разработчиков. Для доступа к содержимому HTML страницы в сценариях давно используется объектно-ориентированный подход, - доступные для Java Script или VBScript элементы HTML документа могли создаваться, модифицироваться и просматриваться при помощи соответствующих объектов. Но их список и набор методов постоянно изменяется и зависит от типа браузера и версии языка. Для того чтобы обеспечить независимый от конкретного языка программирования и типа документа интерфейс доступа к содержимому структурированного документа в рамках W3 консорциума была разработана и официально утверждена спецификация объектной модели DOM Level 1.
DOM - это спецификация универсального платформо- и программно-независимого доступа к содержимому документов. DOM является стандартным способом построения объектной модели любого HTML или XML документа, при помощи которой можно производить поиск нужных фрагментов, создавать, удалять и модифицировать его элементы.
Для описания интерфейсов доступа к содержимому XML документов в спецификации DOM применяется платформонезависимый язык IDL и для использования их необходимо "перевести" на какой-то конкретный язык программирования. С точки зрения разработчиков прикладных программ DOM выглядит как набор объектов с определенными методами и свойствами.
Создание xml-документа
Для создания XML документа в простейшем случае вам не понадобится ничего кроме обычного текстового редактора. Вот пример небольшого XML-документа, используемого вместо обычной записной книжки:
<?xml version="1.0" encoding="koi-8"?>
<notepad>
<note id="1" date="12/04/99" time="13:40">
<subject>Важная деловая встреча</subject>
<importance/>
<text>
Надо встретиться с <person id="1625">
Иваном Ивановичем</person>, предварительно
позвонив ему по телефону <tel>123-12-12</tel>
</text>
</note>
...
<note id="2" date="12/04/99" time="13:58">
<subject>Позвонить домой</subject>
<text>
<tel>124-13-13</tel>
</text>
</note>
</notepad>
При создании собственного языка разметки вы можете придумывать любые названия элементов, (почти любые, т.к. список допустимых символов ограничен и приведен в спецификации XML), соответствующих контексту их использования. В нашем примере приведен лишь один из многочисленных способ создания структуры дневника. В этом и заключается гибкость и расширяемость XML-производных языков - они создаются разработчиком "на лету", согласно его представлениям о структуре документа, и могут затем использоваться универсальными программами просмотра наравне с любыми другими XML-производными языками, т.к. вся необходимая для синтаксического анализа информация заключена внутри документа.
Создавая новый формат, необходимо учитывать тот факт, что документов, "написанных на XML", не может быть в принципе - в любом случае авторы документа для его разметки используют основанный на стандарте XML (т.н. XML-производный) язык, но не сам XML. Поэтому при сохранении созданного файла можно выбрать для него какое-то подходящее названию расширение (например, noteML).
XML может использоваться вами для создания документов какого-то определенного типа и структурой, необходимой для конкретного приложения.
