Введение

Язык XML-стилей

В вычислительной технике термин "Extensible Stylesheet Language" (XSL) используется для обозначения семейства языков, применяемых для преобразования и отображения XML-документов. Исторически, рабочая группа W3C XSL разработала проект спецификации под названием "XSL", который впоследствии разделился на три части:

XSL Transformation (XSLT): язык XML для преобразования XML-документов.
XSL Formatting Objects (XSL FO): язык XML для определения визуального форматирования XML-документа.
XML Path Language (XPath): язык, не основанный на XML, используемый XSLT, а также доступный для применения в контекстах, отличных от XSLT, для адресации частей XML-документа. В результате, термин "XSL" сейчас используется в различных значениях:

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

История

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

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

Первоначальная версия XSLT (1.0) была опубликована в ноябре 1999 года и получила широкое распространение. Некоторые из ранних реализаций устарели, но заметные реализации, активно используемые в 2023 году, включают те, которые интегрированы в основные веб-браузеры, а также Altova RaptorXML, libxslt, Saxon, реализацию Microsoft .NET System.Xml.Xsl и Xalan, интегрированную в JVM Oracle. Все эти продукты демонстрируют высокий уровень соответствия спецификации, хотя они также предлагают проприетарные расширения и некоторые из них не поддерживают необязательные функции, такие как отключение экранирования выходных данных. Последующие версии XSLT включают XSLT 2.0 (январь 2007 года) и XSLT 3.0 (июнь 2017 года); ведется работа над версией 4.0. Эти версии не получили такого широкого распространения, как 1.0: основными реализациями, широко используемыми в 2023 году, являются Saxon (доступный в различных версиях для разных платформ, включая веб-браузеры) и Altova RaptorXML.

XPath

XML Path Language (XPath), сам по себе являясь частью семейства XSL, используется в XSLT для навигации по XML-документу. Другой проект консорциума W3C, XQuery, призван обеспечить схожие возможности для запроса XML-документов с применением XPath.