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

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

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

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

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

Дерево узлов 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 реализует отделение данных от их представления в рамках

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

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

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.