Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Схема DTD предоставляет шаблон разметки документа, в котором указываются наличие, порядок следования и расположение элементов и их атрибутов в документе XML.

Сейчас идёт отказ от использования DTD в XML-технологии по ряду причин:

· Не являются экземплярами XML. Требуется изучение совершенно другого языка.

· Не предоставляют контроль за типами данных, за исключением самых простых текстовых данных.

  • Не являются экземплярами XML, поэтому их нельзя легко расширить или преобразовать к другим языкам разметки – HTML или DHTML.
  • Не обеспечивают поддержки пространств имен XML.

XSL

XSL-таблица стилей (eXtensible Stylesheet Language - расширяемый язык таблиц стилей) связывается с XML-документом и сообщает браузеру, как отображать данные XML. XSL позволяет открывать XML-документ непосредственно в браузере без посредничества HTML-страницы. XSL позволяет осуществлять отбор и сортировку данных XML при их отображении, предоставляет доступ ко всем компонентам XML (элементам, атрибутам, комментариям и инструкциям по обработке), даёт возможность включать в таблицу стилей сценарии.

Существуют два основных шага для отображения XML-документа при использовании XSL-таблицы стилей:

  1. Создание файла XSL-таблицы стилей. XSL является приложением XML, т.е. XSL-таблица представляет собой корректно сформированный XML-документ, который отвечает правилам XSL.
  2. Связывание XSL-таблицы стилей с XML-документом. В XML-документ включается инструкция по обработке xml-stylesheet.

    Связывание в XML состоит из двух частей: XLink и XPointers.

XLink (XML Linking Language, Расширяемый язык соединений) определяет, как один документ связывается с другим.

XPointers (XML Pointer Language, Расширяемый язык указателей) описывает, как общаются отдельные части документов. XLink указывает на универсальный локатор ресурса (URI), который устанавливает отдельный ресурс.

 

XSLT

XSLT (Extensible Stylesheet Language Transformations) — часть спецификации XSL, задающая язык преобразований XML-документов. Спецификация XSLT является рекомендацией W3C.

При применении таблицы стилей XSLT, состоящей из набора шаблонов, к XML-документу (исходное дерево) образуется конечное дерево, которое может быть другой XML-структурой, HTML-документом или обычным текстом. Правила выбора (и, отчасти, преобразования) данных из исходного дерева пишутся на языке запросов XPath.

XSLT имеет множество различных применений, в основном в области web-программирования и генерации отчётов. Одной из задач, решаемых языком XSLT, является отделение данных от их представления, как часть общей парадигмы MVC (Model-view-controller). Другой стандартной задачей является преобразование XML-документов из одной XML-схемы в другую.

 

Парсеры

XML-парсер - это часть кода, которая читает XML-документ и анализирует его структуру.

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

 

Согласно DOM:

  • все, что содержится внутри XML документа, является узлом;
  • весь документ представляется узлом документа;
  • каждый XML элемент – узел элемента;
  • текст внутри XML элементов - текстовый узел;
  • каждый атрибут - узел атрибута;
  • комментарии - узлы комментариев.

 

XML документ в соответствии с моделью XML DOM представляется как дерево из узлов, при этом:

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

 

SAX (Simple API for XML) - прикладной программный интерфейс для парсера с последовательным доступом к XML. Этот интерфейс предоставляет механизм чтения данных из XML документа.

SAX парсер является поточным и управляемым событиями. Задачей пользователя SAX API заключается в описании методов, вызываемых событиями, возникающими при анализе документа.

Такими событиями могут быть следующие:

  • текстовый узел;
  • узел элемента XML;
  • инструкция обработки XML;
  • комментарий XML.

 

События вызываются появлением как открывающего тэга, так и закрывающего тэга любого из этих элементов документа. Атрибут XML также рассматривается как событие.

Анализ документа является однонаправленным (т.е. без возвратов по дереву).

В отличие от DOM формальной спецификации для SAX не существует. В качестве нормативной рассматривается Java реализация SAX.

 

Достоинства:

  • Затраты памяти существенно меньше (зависит от максимальной глубины дерева документа и количества атрибутов в узле элемента), чем в случае DOM (требуется хранить в памяти все дерево документа).
  • Скорость работы выше за счет сокращения затрат времени на выделение памяти для элементов дерева в случае DOM.
  • Потоковое чтение данных с диска в случае DOM невозможно. Если для размещения всего документа в памяти недостаточно места, то использование SAX является безальтернативным.

 

Недостатки:

  • Процедура проверки правильности предполагает доступ ко всему документу одновременно.
  • Это также требуется и в случае XSLT преобразования.

 

Последнее изменение этой страницы: 2016-07-22

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...