Язык XML: средства, назначения и особенности использования. XML и DTD.

XML — язык разметки, фактически представляющий собой свод общих синтаксических правил. XML — текстовый формат, предназначенный для хранения структурированных данных, для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML). XML является упрощённым подмножеством языка SGML.

XML — это описанная в текстовом формате иерархическая структура, предназначенная для хранения любых данных. Визуально структура может быть представлена как деревоэлементов. Элементы XML описываются тегами.

XML используется для описания данных (объектов). XML в отличие от HTML (языка форматирования страниц) позволяет создавать столько признаков в данных, сколько необходимо для их эффективного описания и обработки. Эти признаки можно приспосабливать под себя, т.е. XML может быть использован для создания собственных тэгов, которые будут описывать область, в которой мы работаем.

Первая строка XML-документа называется объявление XML (англ. XML declaration) — это строка, указывающая версию XML.

Важнейшее обязательное синтаксическое требование заключается в том, что документ имеет только один корневой элемент (англ. root element) (также иногда называемый элемент документа (англ. document element)). Это означает, что текст или другие данные всего документа должны быть расположены между единственным начальным корневым тегом и соответствующим ему конечным тегом.

С помощью терминов родитель, дочерний и потомок описываются отношения между элементами в дереве XML документа. Родители содержат дочерние элементы, а дочерние элементы одного уровня называются потомками (братьями или сестрами).

Элементы могут иметь текстовое содержимое и атрибуты.

Внутри тела находятся элементы (element). Эти элементы могут состоять из других элементов - они являются основными стандартными блоками в XML. Элементы ограничены тэгами (tag). Каждый элемент должен иметь начальный и конечный тэги.

Элементы могут содержать атрибуты, а значения атрибутов должны быть заключены в кавычки (одинарные или двойные). Элементы могут быть вложенными в другие элементы на произвольную глубину.

DTD (Document Type Definition) определяет допустимые строительные блоки XML документа, путем указания списка допустимых элементов и атрибутов.

DTD может описываться как внутри XML документа, так и с помощью внешней ссылки.

Для чего необходимо использование DTD?

· С помощью DTD XML файлы могут содержать описание собственного формата.

· Независимые группы людей могут обмениваться данными.

· DTD-схема может быть использована для проверки действительности, как документов получаемых извне, так и собственных документов.

С точки зрения DTD все XML документы (HTML документы) строятся из следующих строительных блоков:

· Элементы (Elements). Элементы могут содержать текст, другие элементы или быть пустыми.

· Атрибуты (Attributes). Атрибуты всегда размещаются внутри открывающего тэга элемента. Атрибуты всегда записываются в виде пары имя/значение.

· Entities.

· PCDATA. Означает структурированные символьные данные. Подлежит анализу с помощью парсера на наличие специальных символов (entities) и элементов разметки.

· CDATA. Означает текст, содержимое которого не рассматривается анализатором.

При описании структуры элементов, содержащих вложенные элементы можно использовать специальные операторы, задающие множественность их вхождения.

Язык XML и схемы данных.

Схемы данных (Schemas) являются альтернативным способом создания правил построения XML-документов. По сравнению с DTD, схемы обладают более мощными средствами для определения сложных структур данных, обеспечивают более понятный способ описания грамматики языка, способны легко модернизироваться и расширяться. Безусловным достоинством схем является также то, что они позволяют описывать правила для XML- документа средствами самого же XML.

Создавая схемы данных, мы определяем в документе специальный элемент, <schema>;, внутри которого содержатся описания правил.

XML Schema — язык описания структуры XML-документа и используется для определения правил достоверного (valid) документа XML.

Как большинство языков описания XML, XML Schema была задумана для определения правил, которым должен подчиняться документ. Но, в отличие от других языков, XML Schema была разработана так, чтобы её можно было использовать в создании программного обеспечения для обработки документов XML.

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

· словарь (названия элементов и атрибутов);

· модель содержания (отношения между элементами и атрибутами и их структура);

· типы данных.

Каждый элемент в этой модели ассоциируется с определённым типом данных, позволяя строить в памяти объект, соответствующий структуре XML-документа. Языкам объектно-ориентированного программирования гораздо легче иметь дело с таким объектом, чем с текстовым файлом.

Другим удобством XML Schema является то, что один словарь может ссылаться на другой, и, таким образом, разработчик может использовать уже существующие словари и легче устанавливать и распространять стандарты XML структуры для определённых задач (например, словарь протокола SOAP).

Файл, содержащий XML Schema, обычно имеет расширение «.xsd» (XML Schema definition).

Так же как DTD схема XML Schema определяет допустимые строительные блоки XML документа.

XML Schema:

· элементы, входящие в документ

· атрибуты, допустимые в документе

· дочерние элементы

· порядок дочерних элементов

· количество дочерних элементов

· может ли элемент быть пустым или может содержать текст

· типы элементов и атрибутов

· фиксированные и значения по умолчанию элементов и атрибутов

Наши рекомендации