XML — расширяемый язык разметки. Важной особенностью XML также является применение так называемых пространств имён. Используется для передачи данных между программами. Основное назначение языка XML — облегчить работу с документами в Web.
DTD – это термин, который используется для описания схемы документа или его части языком схем DTD. Язык схем DTD — искусственный язык, который используется для записи фактических синтаксических правил метаязыков разметки текста XML.
XML schema: XML-документы, определяющие типы данных, содержание, структуру и допустимые элементы в связанных документах. Схемы также используются для описания связанных с элементами документа инструкций семантической обработки.
Для выполнения анализа данных разрабатываются различные методы, технологии и реализации. Наиболее распространены 2 подхода: объектная модель документа DOM и SAX.
DOM - это рекомендация W3C для обработки документов XML. DOM API загружает весь документ XML в память в виде древовидной структуры и позволяет манипулиро-вать структурой документа посредством добавления, удаления и изменения узлов.
SAX - это управляемый событиями подход к обработке документов XML. SAX API анализирует документ XML динамически, вызывая соответствующие методы при появлении элементов разметки, вместо загрузки всего документа в память.
DOM парсеры базируются на объектах, а SAX парсеры - на событиях. DOM парсеры создают дерево в памяти, SAX парсеры - нет, что и делает их быстрее, чем DOM.
DOM парсеры полезны в тех случаях, когда нам необходимо модифицировать XML, а SAX - когда невозможно изменить xml из-за того, что он "только для чтения".
XML документ в соответствии с моделью XML DOM представляется как дерево из узлов. Все узлы находятся в иерархических отношениях между собой. SAX парсер является поточным и управляемым событиями.
Достоинства:
Затраты памяти существенно меньше, чем в случае DOM. Скорость работы выше за счет сокращения затрат времени на выделение памяти для элементов дерева в случае DOM. Потоковое чтение данных с диска в случае DOM невозможно. Если для размещения всего документа в памяти недостаточно места, то использование SAX является безальтернативным.
Недостатки: Процедура проверки правильности предполагает доступ ко всему документу одновременно. Это также требуется и в случае XSLT преобразования.
XSL - это язык, используемый для указания того, как структурированное содержимое XML должно быть представлено; то есть, как содержимое-источник должно быть стилизовано, расположено и разбито на страницы для конкретного носителя представления.
XSL Transformations - используется для преобразования документов XML из одной формы в другую.
XSL был разработан так, чтобы дать дизайнерам возможность управлять свойствами, необходимыми при разбивке документов на страницы, а также чтобы предоставить структуру, эквивалентную "фрэймам", для просмотра Web.
XSLT (не считая собственных запросов) чаще всего требует написания таблиц стилей, которые сами являются XML-документами. програмирование XSLT может рассматриваться как написание скриптов.
XSLT— язык преобразования XML-документов. Спецификация XSLT входит в состав
XSL и является рекомендацией W3C.
При применении таблицы стилей XSLT, состоящей из набора шаблонов, к XML-документу (исходное дерево) образуется конечное дерево, которое может быть сериализовано в виде XML-документа, XHTML-документа (только для XSLT 2.0), HTML-документа или простого текстового файла. Правила выбора (и, отчасти, преобразования) данных из исходного дерева пишутся на языке запросов XPath.
XSLT имеет множество различных применений, в основном в области web-программирования и генерации отчётов. Одной из задач, решаемых языком XSLT, является отделение данных от их представления, как часть общей парадигмы MVC (англ. Model-view-controller). Другой стандартной задачей является преобразование XML-документов из одной XML-схемы в другую.
XPath -используется для произвольного выбора узлов из документов XML.
XPath — язык запросов к элементам XML-документа. Разработан для организации доступа к частям документа XML в файлах трансформации XSLT и является стандартом консорциума W3C. XPath призван реализовать навигацию по DOM в XML. В XPath используется компактный синтаксис, отличный от принятого в XML.
Для реализации этой первоочередной цели он также предоставляет основные средства оперирования строками, числами и логическими значениями. XPath обладает компактным, отличным от XML синтаксисом для облегчения его применения в идентификаторах URI и значениях атрибутов XML. XPath работает с абстрактной, логической структурой XML-документа, а не с его внешним синтаксисом. XPath получил свое имя благодаря тому, что для навигации по иерархической структуре XML-документа в нем используется нотация пути (path), как в идентификаторах URI»