XSL - XSL

В вычисление, период, термин Расширяемый язык таблиц стилей (XSL) используется для обозначения семейства языков, используемых для преобразования и рендеринга XML документы.

Исторически сложилось так, что W3C Рабочая группа XSL подготовила проект спецификации под названием «XSL», который в конечном итоге разделился на три части:

  1. Преобразование XSL (XSLT ): an XML язык для преобразования XML-документов
  2. Объекты форматирования XSL (XSL-FO ): an XML язык для указания визуального форматирования XML-документа
  3. XML Path Language (XPath ): язык, отличный от XML, используемый XSLT, а также доступный для использования в контекстах, отличных от XSLT, для адресации частей документа XML.

В результате термин "XSL"теперь используется в разных значениях:

  • Иногда это относится к XSLT: этого использования лучше избегать. Однако "xsl" используется и как обычный префикс пространства имен для пространства имен XSLT, и как обычный суффикс имени файла для файлов, содержащих модули таблицы стилей XSLT.
  • Иногда это относится к XSL-FO: такое использование может быть оправдано тем фактом, что спецификация XSL-FO носит название Расширяемый язык таблиц стилей (XSL); однако термин XSL-FO вряд ли будет неправильно понят.
  • Иногда это относится к обоим языкам, рассматриваемым вместе, или к рабочей группе, которая разрабатывает оба языка.
  • Иногда, особенно в мире Microsoft, это относится к уже устаревшему варианту XSLT, разработанному и поставляемому Microsoft как часть MSXML до того, как спецификация W3C была завершена

В этой статье рассматриваются различные варианты использования термина "XSL": подробные сведения о различных языках, охватываемых этим термином, см. в соответствующей статье.

История

XSL начался как попытка принести функциональность DSSSL, особенно в области печати и высокого класса наборный, в XML.

В ответ на сообщение от Arbortext, Inso и Microsoft,[1] W3C рабочая группа на XSL начал работу в декабре 1997 г., с Шэрон Адлер и Стив Зиллес как сопредседатели, с Джеймс Кларк выступая в качестве редактора (и неофициально в качестве главного дизайнера), и Крис Лилли как связаться с сотрудниками W3C. Группа выпустила первый общедоступный рабочий проект 18 августа 1998 года. XSLT и XPath стали Рекомендациями W3C 16 ноября 1999 года, а XSL-FO получил статус Рекомендации 15 октября 2001 года.[2]

Семейство XSL

Преобразования XSL

Преобразования XSL (XSLT) В данный момент имеет множество доступных реализаций. Несколько веб-браузеры, включая Internet Explorer (с использованием MSXML двигатель), Опера (родной двигатель) и Сафари, все они поддерживают преобразование XML в HTML (или другие языки) через XSLT. Другие известные реализации включают Саксонский и Ксалан.

Поддержка в Fire Fox, Mozilla, и Netscape (все используют TransforMiiX двигатель) неполный. Поддержка отключения-вывода-экранирования не работает, поэтому фрагменты HTML не отображаются должным образом. Этот баг известен с 2001 года. https://bugzilla.mozilla.org/show_bug.cgi?id=98168 .

Объекты форматирования XSL

Поддержка объектов форматирования XSL доступна в ряде продуктов:

  • в XEP посылка из RenderX имеет почти 100% поддержку XSL-FO 1.0
  • XSLFormatter из Антенный Дом также имеет почти 100% поддержку спецификации XSL-FO 1.0 и 100% поддержку всех новых функций в рамках спецификации XSL-FO 1.1.
  • XINC из Лунасил имеет большую поддержку спецификации XSL-FO 1.0
  • FOP от Apache проект может отображать часть спецификации объектов форматирования XSL 1.0 в PDF
  • Сервер механизма форматирования XML2PDF из AltSoft имеет почти 100% поддержку XSL-FO 1.1

Эти продукты поддерживают вывод в ряде форматы файлов, в разной степени:

XPath

XML Path Language (XPath ), сама часть семейства XSL, функционирует в XSLT как средство навигации XML-документ.

Другой W3C проект, XQuery, стремится предоставить аналогичные возможности для запросов XML-документов с помощью XPath.

Рекомендации

  1. ^ «Microsoft, ArborText и Inso отправляют предложение XSL в W3C». 11 сентября 1997 г.
  2. ^ «Хронология стандартов XML и семантической сети W3C» (PDF).

внешняя ссылка