XSLT
Парадигма | Декларативный |
---|---|
Разработчик | Консорциум Всемирной паутины (W3C) |
Впервые появился | 1998 |
Стабильная версия | 3.0
/ 8 июня 2017 г |
Расширения имен файлов | .xslt |
Веб-сайт | www |
Основные реализации | |
libxslt , Саксон , Ксалан | |
Под влиянием | |
ДСССЛ |
Расширение имени файла | .xslt |
---|---|
Тип интернет-СМИ |
приложение/xslt+xml |
Единый идентификатор типа (UTI) | org.w3.xsl |
XSLT ( Extensible Stylesheet Language Transformations ) — это язык, изначально разработанный для преобразования XML- документов в другие XML-документы. [ 1 ] или другие форматы, такие как HTML для веб-страниц , обычный текст или объекты форматирования XSL , которые впоследствии могут быть преобразованы в другие форматы, такие как PDF , PostScript и PNG . [ 2 ] Поддержка JSON и преобразования обычного текста была добавлена в более поздних обновлениях спецификации XSLT 1.0.
По состоянию на август 2022 г. [update], самой последней стабильной версией языка является XSLT 3.0, которая получила статус Рекомендации в июне 2017 года.
Реализации XSLT 3.0 поддерживают Java, .NET, C/C++, Python, PHP и NodeJS. Библиотеку JavaScript XSLT 3.0 также можно разместить в веб-браузере. Современные веб-браузеры также включают встроенную поддержку XSLT 1.0. [ 3 ]
При преобразовании документа XSLT исходный документ не изменяется; скорее, новый документ создается на основе содержимого существующего. [ 4 ] Обычно входными документами являются XML-файлы, но можно использовать все, на основе чего процессор может построить модель данных XQuery и XPath , например таблицы реляционной базы данных или географические информационные системы . [ 1 ]
Хотя XSLT изначально разрабатывался как язык специального назначения для преобразования XML, этот язык является полным по Тьюрингу , что делает его теоретически способным к произвольным вычислениям. [ 5 ]
История
[ редактировать ]На XSLT влияют функциональные языки , [ 6 ] и с помощью текстовых языков сопоставления шаблонов, таких как SNOBOL и AWK . Его самым прямым предшественником является DSSSL , который сделал для SGML то же, что XSLT делает для XML. [ 7 ]
- XSLT 1.0: XSLT был частью усилий Консорциума Всемирной паутины (W3C) по разработке расширяемого языка таблиц стилей (XSL) в 1998–1999 годах, проекта, в рамках которого также были созданы XSL-FO и XPath . Некоторые члены комитета по стандартизации, разработавшего XSLT, включая редактора Джеймса Кларка , ранее работали над DSSSL. XSLT 1.0 был опубликован как рекомендация W3C в ноябре 1999 года. [ 8 ] Несмотря на свой возраст, XSLT 1.0 [ 9 ] до сих пор широко используется (по состоянию на 2018 г. [update]), поскольку более поздние версии не поддерживаются изначально в веб-браузерах или в таких средах, как LAMP .
- XSLT 2.0: после неудачной попытки создать версию 1.1 в 2001 г. [ 10 ] рабочая группа XSL объединила усилия с рабочей группой XQuery для создания XPath 2.0 , [ 11 ] с более богатой моделью данных и системой типов на основе XML-схемы . На этом основан XSLT 2.0, [ 12 ] разработан под редакцией Майкла Кея и получил статус рекомендации в январе 2007 года. [ 13 ] К наиболее важным нововведениям XSLT 2.0 относятся:
- Манипулирование строками с использованием регулярных выражений
- Функции и операторы для управления датами, временем и продолжительностью.
- Несколько выходных документов
- Группировка (создание иерархической структуры из плоских входных последовательностей)
- Более богатая система типов и более строгая проверка типов.
- XSLT 3.0: стал рекомендацией W3C 8 июня 2017 года. Основные новые функции: [ 14 ]
- Потоковые преобразования : в предыдущих версиях весь входной документ нужно было считать в память, прежде чем его можно было обработать. [ 15 ] и вывод не мог быть записан до завершения обработки. XSLT 3.0 обеспечивает потоковую передачу XML , что полезно для обработки документов, слишком больших для размещения в памяти, или когда преобразования объединены в цепочки XML-конвейеров .
- Пакеты для улучшения модульности больших таблиц стилей.
- Улучшена обработка динамических ошибок, например, с помощью инструкции xsl:try.
- Поддержка карт и массивов, позволяющая XSLT обрабатывать JSON, а также XML.
- Функции теперь могут быть аргументами других функций (более высокого порядка).
Модель проектирования и обработки
[ редактировать ]
Процессор XSLT принимает один или несколько исходных документов XML, а также одну или несколько таблиц стилей XSLT и обрабатывает их для создания одного или нескольких выходных документов. [ 16 ] [ 17 ] В отличие от широко применяемых императивных языков программирования, таких как C , XSLT является декларативным . [ 18 ] Основная парадигма обработки — сопоставление с образцом. [ 19 ] Вместо перечисления обязательной последовательности действий, которые необходимо выполнить в среде с отслеживанием состояния, правила шаблонов лишь определяют, как обрабатывать узел, соответствующий определенному XPath-подобному шаблону, если процессор случайно столкнется с ним, а содержимое шаблонов фактически включает в себя функциональные возможности. выражения , которые непосредственно представляют их вычисленную форму: дерево результатов, которое является основой вывода процессора.
Типичный процессор ведет себя следующим образом. Во-первых, предполагая, что таблица стилей уже прочитана и подготовлена, процессор строит исходное дерево из входного XML-документа. Затем он обрабатывает корневой узел исходного дерева, находит наиболее подходящий шаблон для этого узла в таблице стилей и оценивает содержимое шаблона. Инструкции в каждом шаблоне обычно предписывают процессору либо создать узлы в результирующем дереве, либо обработать дополнительные узлы в исходном дереве так же, как корневой узел. Наконец, дерево результатов сериализуется в виде текста XML или HTML.
XPath
[ редактировать ]XSLT использует XPath для идентификации подмножеств дерева исходного документа и выполнения вычислений. XPath также предоставляет ряд функций , которые сам XSLT дополняет.
XSLT 1.0 использует XPath 1.0, а XSLT 2.0 использует XPath 2.0. XSLT 3.0 будет работать как с XPath 3.0, так и с XPath 3.1. В случае версий 1.0 и 2.0 спецификации XSLT и XPath были опубликованы в один и тот же день. Однако в версии 3.0 они больше не синхронизировались; XPath 3.0 стал рекомендацией в апреле 2014 г., а в феврале 2017 г. последовал XPath 3.1; XSLT 3.0 последовал в июне 2017 года.
XQuery по сравнению
[ редактировать ]Функциональные возможности XSLT частично совпадают с функциональными возможностями XQuery , который изначально задумывался как язык запросов для больших коллекций XML-документов.
Стандарты XSLT 2.0 и XQuery 1.0 были разработаны отдельными рабочими группами внутри W3C , работающими вместе для обеспечения общего подхода там, где это необходимо. Они используют одну и ту же модель данных, систему типов и библиотеку функций, и оба включают XPath 2.0 в качестве подъязыка.
Однако эти два языка уходят корнями в разные традиции и служат потребностям разных сообществ. XSLT изначально задумывался как язык таблиц стилей, основной целью которого было отображение XML для читателя на экране, в Интернете (как язык веб-шаблонов ) или на бумаге. XQuery изначально задумывался как язык запросов к базе данных в традициях SQL .
Поскольку оба языка созданы в разных сообществах, XSLT лучше справляется с ними. описательных документов с более гибкой структурой, в то время как XQuery более силен в обработке данных, например, при выполнении реляционных соединений. [ 20 ]
Типы носителей
[ редактировать ]The <output>
элемент может опционально принимать атрибут media-type
, который позволяет установить тип носителя (или тип MIME) для результирующего вывода, например: <xsl:output output="xml" media-type="application/xml"/>
. Рекомендации XSLT 1.0 рекомендуют более общие типы атрибутов. text/xml
и application/xml
поскольку долгое время для XSLT не было зарегистрированного типа носителя. За это время text/xsl
стал стандартом де-факто. В XSLT 1.0 не было указано, как media-type
следует использовать значения.
С выпуском XSLT 2.0 W3C рекомендовал в 2007 году зарегистрировать тип носителя MIME. application/xslt+xml
[ 21 ] и позже он был зарегистрирован в Управлении по присвоению номеров в Интернете . [ 22 ]
Используются рабочие проекты XSLT до версии 1.0. text/xsl
в примерах встраивания, и этот тип был реализован и продолжал продвигаться Microsoft в Internet Explorer. [ 23 ] и MSXML примерно в 2012 году. Он также широко известен в xml-stylesheet
инструкции по обработке другими браузерами. Поэтому на практике пользователи, желающие управлять трансформацией в браузере с помощью этой инструкции обработки, были вынуждены использовать этот незарегистрированный тип носителя. [ 24 ]
Примеры
[ редактировать ]В этих примерах используется следующий входящий XML-документ.
<?xml version="1.0" ?>
<persons>
<person username="JS1">
<name>John</name>
<family-name>Smith</family-name>
</person>
<person username="MI1">
<name>Morka</name>
<family-name>Ismincius</family-name>
</person>
</persons>
Пример 1 (преобразование XML в XML)
[ редактировать ]Эта таблица стилей XSLT предоставляет шаблоны для преобразования XML-документа:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/persons">
<root>
<xsl:apply-templates select="person"/>
</root>
</xsl:template>
<xsl:template match="person">
<name username="{@username}">
<xsl:value-of select="name" />
</name>
</xsl:template>
</xsl:stylesheet>
Результатом его оценки является новый XML-документ, имеющий другую структуру:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<name username="JS1">John</name>
<name username="MI1">Morka</name>
</root>
Пример 2 (преобразование XML в XHTML)
[ редактировать ]Обработка следующего примера файла XSLT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="/persons">
<html>
<head> <title>Testing XML Example</title> </head>
<body>
<h1>Persons</h1>
<ul>
<xsl:apply-templates select="person">
<xsl:sort select="family-name" />
</xsl:apply-templates>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="person">
<li>
<xsl:value-of select="family-name"/><xsl:text>, </xsl:text><xsl:value-of select="name"/>
</li>
</xsl:template>
</xsl:stylesheet>
с входным файлом XML, показанным выше, получается следующий XHTML ( пробелы здесь скорректированы для ясности):
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <title>Testing XML Example</title> </head>
<body>
<h1>Persons</h1>
<ul>
<li>Ismincius, Morka</li>
<li>Smith, John</li>
</ul>
</body>
</html>
Этот XHTML генерирует приведенный ниже вывод при отображении в веб-браузере.

Чтобы веб-браузер мог применить преобразование XSL к отображаемому XML-документу, в XML можно вставить инструкцию обработки таблицы стилей XML. Так, например, если бы таблица стилей в примере 2 выше была доступна как «example2.xsl», к исходному входящему XML можно было бы добавить следующую инструкцию: [ 25 ]
<?xml-stylesheet href="example2.xsl" type="text/xsl" ?>
В этом примере text/xsl
технически неверно согласно спецификациям W3C [ 25 ] (которые говорят, что тип должен быть application/xslt+xml
), но это единственный тип мультимедиа, который широко поддерживается во всех браузерах с 2009 года, и в 2021 году ситуация не изменится.
Реализации процессора
[ редактировать ]- RaptorXML от Altova — это процессор XSLT 3.0, доступный в наборе инструментов разработки XMLSpy и в виде автономной серверной реализации, вызываемый с использованием интерфейса REST.
- IBM предлагает обработку XSLT, встроенную в специальное аппаратное устройство под брендом Datapower .
- libxslt — бесплатная библиотека , выпущенная по лицензии MIT , которую можно повторно использовать в коммерческих приложениях. Он основан на libxml и реализован на языке C для обеспечения скорости и переносимости. Он поддерживает расширения XSLT 1.0 и EXSLT . [ 26 ]
- Его можно использовать в командной строке через xsltproc. [ 27 ] который включен в macOS [ 28 ] и многих дистрибутивах Linux , и может использоваться в Windows через Cygwin . [ 29 ]
- Механизмы компоновки WebKit и Blink , используемые, например, в веб-браузерах Safari и Chrome соответственно, используют библиотеку libxslt для выполнения преобразований XSL. [ 30 ]
- Привязки существуют для Python , [ 31 ] Перл , [ 32 ] Руби , [ 33 ] PHP , [ 34 ] Общий Лисп , [ 35 ] ТКЛ , [ 36 ] и С++ . [ 37 ]
- Microsoft предоставляет два процессора XSLT (оба только XSLT 1.0). Более ранний процессор MSXML предоставляет COM-интерфейсы; начиная с MSXML 4.0, он также включает утилиту командной строки.
msxsl.exe
. [ 38 ] Среда выполнения .NET включает в себя отдельный встроенный процессор XSLT.System.Xml.Xsl
библиотека. - Saxon — это процессор XSLT 3.0 и XQuery 3.1 с открытым исходным кодом и собственной версией для автономной работы, а также для Java , JavaScript и .NET. Отдельный продукт Saxon-JS. [ 39 ] предлагает обработку XSLT 3.0 на Node.js и в браузере.
- xjslt — это с открытым исходным кодом компилятор XSLT 2.0 для JavaScript, поддерживающий Node.js и браузер.
- Xalan — это процессор XSLT 1.0 с открытым исходным кодом от Apache Software Foundation, доступный для Java и C++. Вариант процессора Xalan включен в качестве процессора XSLT по умолчанию в стандартный дистрибутив Java от Oracle.
- Веб-браузеры: Safari, Chrome, Firefox, Opera и Internet Explorer поддерживают только XSLT 1.0. Браузеры могут выполнять преобразования XML-файлов «на лету» и отображать результаты преобразования в окне браузера. Это делается либо путем встраивания XSL в документ XML, либо путем ссылки на файл, содержащий инструкции XSL, из документа XML. Последний может не работать с Chrome с файлами из локальной файловой системы из-за его модели безопасности. [ 40 ]
- Движок Adobe AXSLE, собственная библиотека.
Производительность
[ редактировать ]Большинство ранних процессоров XSLT были интерпретаторами. В последнее время генерация кода становится все более распространенной, используя переносимые промежуточные языки (такие как байт-код Java или .NET Common Intermediate Language в качестве цели ). Однако даже продукты интерпретации обычно предлагают отдельные этапы анализа и выполнения, позволяя создавать оптимизированное дерево выражений в памяти и повторно использовать его для выполнения нескольких преобразований. Это дает существенный выигрыш в производительности в приложениях онлайн-публикации, где одно и то же преобразование применяется много раз в секунду к различным исходным документам. [ 41 ] Это разделение отражено в разработке API-интерфейсов обработки XSLT (таких как JAXP ).
Ранние процессоры XSLT имели очень мало оптимизаций. Документы таблиц стилей считывались в объектные модели документов , и процессор обрабатывал их напрямую. Движки XPath также не были оптимизированы. Однако процессоры XSLT все чаще используют методы оптимизации, встречающиеся в языках функционального программирования и языках запросов к базам данных, такие как статическое переписывание дерева выражений (например, для перемещения вычислений из циклов) и ленивые конвейерные вычисления для уменьшения объема памяти, занимаемого промежуточными результатами. (и разрешить «ранний выход», когда процессор может вычислить такое выражение, как following-sibling::*[1]
без полной оценки всех подвыражений). Многие процессоры также используют древовидные представления, которые значительно более эффективны (как в пространстве, так и во времени). [ 42 ] чем реализации DOM общего назначения.
В июне 2014 года Дебби Локетт и Майкл Кей представили систему тестирования производительности с открытым исходным кодом для процессоров XSLT под названием XT-Speedo. [ 43 ]
См. также
[ редактировать ]- Элементы XSLT — список некоторых часто используемых структур XSLT.
- Мюнхенская группировка – диалектная разница между XSLT1 и XSLT2+.
- Расширяемый язык таблиц стилей - семейство языков, членом которого является XSLT.
- Сравнение XQuery и XSLT
- Объекты форматирования XSL или XSL-FO — язык для документов на основе XML, обычно создаваемый путем преобразования исходных документов с помощью XSLT, состоящий из объектов, используемых для создания форматированного вывода.
- Преобразование идентичности — отправная точка для цепочек фильтров, которые добавляют или удаляют элементы данных из деревьев XML в конвейере преобразования.
- Apache Cocoon — платформа на основе Java для обработки данных с помощью XSLT и других преобразователей.
Ссылки
[ редактировать ]- ^ Перейти обратно: а б «Трансформация» . 19 сентября 2012 г.
- ^ «Метод вывода XML» . 19 сентября 2012 г.
- ^ «Для чего используется XSLT?» . 07.02.2018.
- ^ "Введение" . XSL-преобразования (XSLT), версия 1.0, рекомендации W3C . W3C. 16 ноября 1999 года . Проверено 7 ноября 2012 г.
- ^ XSLT версии 2.0 является полным по Тьюрингу: доказательство, основанное исключительно на преобразовании
- ^ Майкл Кей. «Что это за язык XSLT?» . ИБМ . Проверено 8 июля 2016 г.
- ^ «Предложение по XSL» . W3C . Проверено 7 ноября 2012 г.
- ^ «Хронология стандартов XML и семантической сети W3C» (PDF) . Архивировано из оригинала (PDF) 24 апреля 2013 г. Проверено 4 февраля 2012 г.
- ^ «XSL-преобразования (XSLT)» . W3.org. 16 ноября 1999 г. Проверено 12 июля 2014 г.
- ^ «Преобразования XSL (XSLT) Версия 1.1» . W3.org. 24 августа 2001 г. Проверено 12 июля 2014 г.
- ^ «Язык XML Path (XPath) 2.0 (второе издание)» . W3.org. 14 декабря 2010 г. Проверено 12 июля 2014 г.
- ^ «Преобразования XSL (XSLT) Версия 2.0» . W3.org. 23 января 2007 г. Проверено 12 июля 2014 г.
- ^ «Хронология стандартов XML и семантической сети W3C» (PDF) . 04 февраля 2012 г. Архивировано из оригинала (PDF) 24 апреля 2013 г. Проверено 4 февраля 2012 г.
- ^ «Что нового в XSLT 3.0?» . w3 . Проверено 6 января 2014 г.
- ^ Кей, Майкл. «Потоковый процессор XSLT» . Балисаж: Материалы конференции по разметке 2010 г. Проверено 15 февраля 2012 г.
- ^ Флатт, Амели; Лангнер, Арне; Лепс, Олоф (2022), «Фаза III: Генерация артефактов из модели» , Разработка профилей приложений Akoma Ntoso на основе моделей , Cham: Springer International Publishing, стр. 31–37, doi : 10.1007/978-3-031- 14132-4_5 , ISBN 978-3-031-14131-7 , получено 7 января 2023 г.
- ^ «Преобразования XSL (XSLT) Версия 2.0 (второе издание)» . www.w3.org . Проверено 7 февраля 2023 г.
Пример: несколько документов результатов
- ^ «Откройте для себя чудеса XSLT: особенности XSLT» . Архивировано из оригинала 9 июля 2011 г. Проверено 11 февраля 2011 г.
XSLT — очень специализированный язык с ярко выраженным декларативным характером.
- ^ Кей, Майкл. «Что это за язык XSLT?» . ИБМ . Проверено 13 ноября 2013 г.
- ^ «Саксоника: XSLT и XQuery» . www.saxonica.com . Проверено 29 июня 2022 г.
- ^ «Преобразования XSL (XSLT) Версия 2.0» . W3C . Проверено 19 октября 2012 г.
- ^ «Типы носителей приложений» . ИАНА . Проверено 19 октября 2012 г.
- ^ «Требования XSLT для просмотра XML в браузере» . Майкрософт . Проверено 19 октября 2012 г.
- ^ Кей, Майкл (2008). Справочник программиста XSLT 2.0 и XPath 2.0 . Уайли. п. 100 . ISBN 978-0-470-19274-0 .
- ^ Перейти обратно: а б «Преобразования XSL (XSLT) версии 1.0: Рекомендации W3C — внедрение таблиц стилей» . W3C. 16 ноября 1999 года . Проверено 20 сентября 2016 г.
- ^ «Библиотека XSLT C для GNOME: libxslt» . Проверено 23 ноября 2012 г.
- ^ «Библиотека XSLT C для GNOME: инструмент xsltproc» . Проверено 23 ноября 2012 г.
- ^ «Справочная страница xsltproc» . Проверено 23 ноября 2012 г.
- ^ «Новый пакет: libxslt» . Проверено 23 ноября 2012 г.
- ^ «Проект с открытым исходным кодом WebKit — XSLT» . Проверено 25 октября 2009 г.
- ^ «Парсер XML C и набор инструментов Gnome: Python и привязки» . Проверено 23 ноября 2012 г.
- ^ «XML::LibXSLT — интерфейс к библиотеке GNOME libxslt» . КПАН . Проверено 23 ноября 2012 г.
- ^ "libxslt-руби" . Проверено 23 ноября 2012 г.
- ^ "libxml" . Проверено 23 ноября 2012 г.
- ^ «cl-libxml2 Высокоуровневая оболочка вокруг библиотек libxml2 и libxslt» .
- ^ «ТклXML» . Проверено 21 мая 2013 г.
- ^ "libxml++" . sourceforge.net . Проверено 23 ноября 2012 г.
- ^ «Утилита преобразования командной строки (msxsl.exe)» . Майкрософт . Проверено 22 октября 2012 г.
- ^ «Саксон-JS» . саксонский Проверено 6 сентября 2018 г.
- ^ «Проблема 58151: не удалось загрузить XML-файл в локальную файловую систему с помощью XMLHttpRequest» .
- ^ Saxon: Анатомия процессора XSLT — статья, описывающая детали реализации и оптимизации популярного процессора XSLT.
- ^ Ламли, Джон; Кей, Майкл (июнь 2015 г.). «Улучшение производительности сопоставления шаблонов в XSLT» . XML Лондон 2015 : 9–25. doi : 10.14337/XMLLondon15.Lumley01 (неактивен 27 февраля 2024 г.). ISBN 978-0-9926471-2-4 .
{{cite journal}}
: CS1 maint: DOI неактивен по состоянию на февраль 2024 г. ( ссылка ) - ^ Кей, Майкл; Локетт, Дебби (июнь 2014 г.). «Сравнительный анализ производительности XSLT» . XML Лондон 2014 : 10–23. doi : 10.14337/XMLLondon14.Kay01 (неактивен 27 февраля 2024 г.). ISBN 978-0-9926471-1-7 .
{{cite journal}}
: CS1 maint: DOI неактивен по состоянию на февраль 2024 г. ( ссылка )
Дальнейшее чтение
[ редактировать ]- XSLT Дуга Тидвелла, опубликованный O'Reilly ( ISBN 0-596-00053-7 )
- Поваренная книга XSLT Сала Мангано, опубликованная O'Reilly ( ISBN 0-596-00974-7 )
- Справочник программиста XSLT 2.0 Майкла Кея ( ISBN 0-764-56909-0 )
- Справочник программиста XSLT 2.0 и XPath 2.0 Майкла Кея ( ISBN 978-0-470-19274-0 )
- XSLT 2.0 Web Development by Dmitry Kirsanov ( ISBN 0-13-140635-3 )
- XSL Companion, 2-е издание Нила Брэдли, опубликованное Addison-Wesley ( ISBN 0-201-77083-0 )
- XSLT и XPath on the Edge (Unlimited Edition) , Джени Теннисон , опубликовано Hungry Minds Inc, США ( ISBN 0-7645-4776-3 )
- XSLT и XPath, Руководство по преобразованиям XML Джона Роберта Гарднера и Зареллы Рендон, опубликованное Prentice-Hall ( ISBN 0-13-040446-2 )
- XSL-FO Дэйва Поусона, опубликованный O'Reilly ( ISBN 978-0-596-00355-5 )
Внешние ссылки
[ редактировать ]

- Документация
- XSLT 1.0 Рекомендация W3C
- XSLT 2.0 Рекомендация W3C
- XSLT 3.0 Рекомендация W3C
- XSLT — документы MDC, заархивированные 26 декабря 2011 г. в Wayback Machine сетью разработчиков Mozilla.
- Справочник XSLT (MSDN)
- Элементы XSLT (саксонский)
- Введение и справочник по XSLT
- Библиотеки кода XSLT
- EXSLT — это широко распространенная инициатива сообщества по расширению XSLT.
- FXSL — это библиотека, реализующая поддержку функций высшего порядка в XSLT. FXSL сам написан на XSLT.
- Стандартная библиотека XSLT xsltsl предоставляет разработчику XSLT набор шаблонов XSLT для часто используемых функций. Они реализованы исключительно на XSLT, то есть не используют никаких расширений. xsltsl — это проект SourceForge.
- Kernow Графический интерфейс для Saxon, предоставляющий интерфейс «укажи и щелкни» для запуска преобразований.
- xslt.js — преобразование XML с помощью библиотеки JavaScript XSLT, которая преобразует XML с помощью XSLT в браузере.
- программное обеспечение 1998 года
- Декларативные языки программирования
- Функциональные языки
- Языки программирования высокого уровня
- Гомоиконические языки программирования
- Языки разметки
- Языки программирования
- Языки программирования, созданные в 1998 году.
- Языки трансформации
- Стандарты Консорциума Всемирной паутины
- Языки программирования на основе XML
- Стандарты на основе XML