1.2.4 XML стандарты

Когда мы будем говорить о преобразованиях, мы будем работать с двумя стандартами: XSLT и XPath. XSLT определяет ряд основ, используемых для описания преобразований документа, тогда как XPath определяет синтаксис для описания положений в XML-документах. Когда мы будем писать преобразования, мы будем использовать XSLT, чтобы сказать процессору, что сделать, а XPath — чтобы сказать процессору, к чему применить это действие. Оба стандарта доступны на сайте W3C, посетите http://www.w3.org/TR/xslt и http://www.w3.org/TR/xpath, чтобы получить больше информации.

Конечно, есть и другие стандарты, связанные с XML. Коротко обсудим их здесь с коротким упоминнанием о том, как они относятся к нашей работе с XSLT и XPath.

1.2.4.1 XML 1.0

XML 1.0 — это фундамент, на котором всё построено. Смотрите http://www.w3.org/TR/REC-xml.

1.2.4.2 Расширяемый язык преобразований (XSL)

Этот стандарт, также называемый Преобразующей Объекты спецификацией (Formatting Objects specification) или XSL-FO, имеет дело с интерпретацией XML-элементов. Хотя большинство людей думают об интерпретации как о преобразовании для браузера или распечатываемой страницы, разработчики используют спецификацию, чтобы представлять XML-элементы как шрифт Брайля или аудио-файлы. (Как уже говорилось, главный рынок этой технологии — создание высококачественных выходных данных.) На момент написания этой книги, XSL-FO была кандидатом на рекомендацию W3C. пара наших примеров из этой книги используют formatting objects и интерпретатор XSL-FO для преобразования XML в PDF от Apache (FOP). Посетите http://xmlgraphics.apache.org/fop/ для получаения информации о FOP. Информацию об XSL можно найти здесь: http://www.w3.org/TR/xsl/.

1.2.4.3 XML-схемы (XML Schemas)

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

Обе части доступны: http://www.w3.org/TR/xmlschema-1/ и http://www.w3.org/TR/xmlschema-2/. Хорошее введение в XML-схемы и примеры есть по адресу http://www.w3.org/TR/xmlschema-0/.

1.2.4.4 The Simple API for XML (SAX)

API SAX определяет события и интерфейсы, используемые, чтобы взаимодействовать с парсером SAX. SAX и DOM — наиболее общепринятые API, используемые для работы с XML-документами. Посетите http://www.megginson.com/SAX/, чтобы ознакомиться со спецификацией.

1.2.4.5 Document Object Model (DOM) Level 1

DOM, как мы обсуждали ранее, — это API для документов. Оно определяет набор интерфейсов и методов, используемых, чтобы рассматривать XML-документ как древовидную структуру. XSLT и XPath используют похожий древовидный облик XML-документа. Подробнее можно посмотреть на странице http://www.w3.org/TR/REC-DOM-Level-1.

1.2.4.6 Document Object Model (DOM) Level 2

Стандарт DOM Level 2 построен на стандарте DOM Level 1. Он добавляет несколько новых особенностей:

  • Поддерживает HTML, обеспечивая DOM-вид HTML-документов.
  • CSS-приложения
  • События документа
  • Методы обхода дерева
  • Ряд методов выборки
  • Представление DOM-дерева, в котором представление отделено от самого DOM.

Новые особенность DOM Level 2 влияют на нашу работу непосредственно. Если вы прочтёте спецификацию, вы увидите, что такие особенности как представление, интерфейс таблиц стилей, обход дерева, обеспечивает возможности, используемые XSLT-процессором. Несмотря на то, что будущие XSLT-процессоры будут основаны на XML-парсерах, предоставляющих указанные функции, это не повлияет на приемы разработки, описываемые в книге. Полная спецификация расположена на странице http://www.w3.org/TR/DOM-Level-2.

1.2.4.7 Пространства имён XML

Как мы упоминали ранее, пространства имён обеспечивают возможность избегать конфликтов между именами, когда два XML-елемента имеют одинаковое имя. Больше информации на странице http://www.w3.org/TR/REC-xml-names.

1.2.4.8 Привязка таблиц стилей к XML-документу.

Можно сослаться на XSLT-преобразование в XML-документе. Эта спецификация использует обрабатываемые инструкции для определение одного или более преобразований, которые должны быть использованы для трансформации XML-документа. Вы можете определить различные стили для использования с различными браузерами. Вот начало XML-документа с привязанными преобразованиями:

<?xml version="1.0"?>
<?xml-stylesheet href="docbook/html/docbook.xsl" type="text/xsl"?>
<?xml-stylesheet href="docbook/wap/docbook.xsl" type="text/xsl" media="wap"?>

В этом примере первое преобразование используется по умолчанию, потому что у него нет атрибута media. Второе преобразование будет использовано в том случае, когда поле User-Agent из HTTP-заголовка будет содержать строку «wap», определяющую, что документ запрашивается WAP-браузером. Преимущество этого метода состоит в том, что вы можете определять несколько разных преобразований в определённом документе и иметь отдельные преобразования, чтобы генерировать нужные результаты для различных браузеров или их типов.
Недостаток этой техники — это то, что мы фактически определяем инструкции отображения в XML-документе, чего мы предпочли бы избегать.

Если вы используете Microsoft Internet Explorer 5.0 или выше, вы можете установить XSLT-процессор так, что открывание XML-документа в вашем браузере, будет заставлять его преобразовываться и отображаться автоматически. Для подробностей о том, как устанавливать и настраивать это приложение, посетите страницу http://www.microsoft.com/xml. В предыдущем примере, если бы мы открыли XML-документ, который начинается с указанных строк, браузер преобразовал бы XML-документ согласно правилам, определённым в docbook/html/docbook.xsl и отрисовал бы результат как если бы это были HTML-страницы.

1.2.4.9 Масштабируемая векторная графика (Scalable Vector Graphics, SVG)

Спецификация SVG определяет XML-лексикон для векторной графики. Описываемый чем-то вроде PostScript в угловых скобках, он позволяет вам определять изображения, который могут быть масштабированы до лбого размера или разрешения. Подробнее на странице http://www.w3.org/TR/SVG/.

1.2.4.10 Канонический XML версии 1.0

Иногда необходимо сравнение двух XML-документов (в случае цифровой подписи XML-документа, например). Канонический XML определяет точную форму для XML, что делает сравнение двух документов лёгким. Полностью вы можете посмотреть спецификацию на странице See http://www.w3.org/TR/xml-c14n.

1.2.4.11 Цифровые подписи XML

Совместными усилиями W3C и Internet Engineering Task Force (IETF), цифровая XML-подпись предоставляет механизм для хранения цифровых подписей в XML-документе. XML-документ предоставляет обёртку для хранения, отправки и восттановления цифровых подписей для цифровых ресурсов любого вида. Последний проект спецификации вы может найти на странице http://www.w3.org/TR/xmldsig-core.

1.2.4.12 XML Pointer Language (XPointer) версии 1.0

XPointer предоставляет средства для распознавания фрагментов web-ресурсов. Он использует XPath для определения фрагментов. Подробнее смотрите http://www.w3.org/TR/xptr.

1.2.4.13 Язык XML-ссылок (XLink)

XLink определяет XML-словарь для связи с другими ресурсами в рамках XML-документа. Он поддерживает однонаправленные ссылки, которые мы знаем по HTML также хорошо, как и более сложные ссылки. Смотрите http://www.w3.org/TR/xlink/.



Tags:
This entry was posted on Thursday, March 5th, 2009 at 4:48 pm and is filed under Основы XML. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply

Your comment