Программирование XML. Дерево узлов XML DOM. Структура XSL

Страницы работы

Фрагмент текста работы

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

Дерево узлов XML DOM

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

SAX-парсер

  • Альтернативой DOM является SAX.
  • SAX (Simple API for XML) прикладной программный интерфейс для парсера с последовательным доступом к XML.
  • SAX предоставляет механизм чтения данных из XML документа.
  • SAX парсер является поточным и управляемым событиями.
  • Задачей пользователя SAX API является описание методов, вызываемых событиями, возникающими при анализе документа.

SAX-парсер

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

SAX-парсер

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

SAX-парсер

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

XSL vs. CSS

  • XSL (Extensible Stylesheet Language) — расширяемый язык таблиц стилей.
  • CSS и XSL — принципиально разные технологии, имеющие лишь частичное пресечение областей применения.
  • CSS-форматирование применяется к HTML-документу браузером на клиентской стороне, а XSL-преобразование выполняется, как правило, на сервере, после чего результат отправляется браузеру клиента.
  • XSL базируется на XML, благодаря чему XSL более гибок, универсален. У разработчиков имеется возможность использования средств контроля за корректностью составления стилевых списков (используя схемы XML).

Структура XSL

  • С помощью XSL можно преобразовать XML-документ в формат HTML, WML, RTF, PDF, SQL, SWF, а так же в другой XML и XSL документ.
  • XSL указывает как будет оформлен документ, где и каким образом должны размещаться данные.
  • Cпецификация XSL состоит из трех частей:
    • XSLT (XSL Transformations), язык для преобразования XML;
    • XPath - язык путей и выражений, используемый в XSLT для доступа к отдельным частям XML-документа;
    • XSL-FO (XSL Formatting Objects), язык для верстки XML.

Структура XSL

  • Наиболее распространенным механизмом XSLT преобразований для систем, базирующихся на Microsoft Windows является MSXML; для систем на основе GNU — xsltproc.
  • Для того, чтобы обработать XML документ c помощью XSL, необходимо в XML документе написать следующую инструкцию:
    • <?xml version="1.0"?>
    • <?xml-stylesheet type="text/xsl" href="my-style.xsl"?>
    • <root>
    • < !-- ... -- >
    • </root>

XSLT

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

Похожие материалы

Информация о работе