Loading AI tools
З Вікіпедії, вільної енциклопедії
Extensible Stylesheet Language Transformations, або XSLT — функціональна повна за Тюрінгом[2][3][4] мова програмування, яка використовується для програмування переробки XML-документів. При цьому вихідний документ не змінюється, натомість на основі результатів переробки створюється новий. Новий документ може бути серіалізовано (виведено) обробником в стандартний синтаксис XML, або інший формат, такий як HTML або простий текст. Найчастіше XSLT використовується для перетворення структурованих XML документів із однієї XML-схеми в іншу, або для перетворення у вебсторінки або PDF-документи.
Розширення файлу: | .xsl, .xslt |
---|---|
MIME-тип: | application/xslt+xml[1] |
Розробник: | World Wide Web Consortium |
Тип формату: | мова для описання перетворень |
Розширений з: | XML |
Стандарт(и): | 1.0 (Recommendation), 2.0 (Recommendation) |
XSLT з'явився як результат розвитку технології Extensible Stylesheet Language (XSL) в W3C протягом 1998–1999 років. Також було створено XSL Formatting Objects (XSL-FO) та XML Path Language (XPath). Головним редактором першої версії (та, як наслідок, головним розробником мови програмування) був Джеймс Кларк. Найпоширенішою сьогодні версією є XSLT 1.0, яку було опубліковано як Recommendation (рекомендацію) W3C 16 листопада 1999 року. Значно розширена і доповнена версія 2.0, за редакцією Міхаеля Кея[en], отримала статус Candidate Recommendation від W3C 3 листопада 2005 року.
Програма на мові програмування XSLT складається із послідовного описання шаблонів (англ. template rules). В кожному шаблоні вказується, що слід додати до результуючого дерева коли XSLT-інтерпретатор, обходячи, відповідно до фіксованого алгоритму, вихідне дерево, натрапляє на вершину, яка відповідає умовам шаблону. Інструкції в правилах шаблону обробляються ніби послідовно, але фактично вони утворюють функціональні вирази, які представляють результати їхнього виконання — наприклад, вершини, які слід додати до результуючого дерева.
В специфікації XSLT перетворення визначаються в термінах вихідного та результуючого дерева, для уникнення обмеження реалізацій специфічними для кожної системи прикладними програмними інтерфейсами, проблемами виділення пам'яті, мережевих ресурсів, вводу-виведення даних.
В XSLT використовується мова XPath для визначення підмножин вершин вихідного дерева та для виконання обчислень. XPath також надає низку функцій, які XSLT розширює. Такий зв'язок із XPath додає потужності та гнучкості мові програмування XSLT.
Кожен інтерпретатор XSLT-програм має поводитись так, наче він виконав такі кроки перед перетворенням:
xsl:include
, xsl:import
) також мають бути оброблені на цьому етапі, для того, аби підставити шаблони і правила із інших XSLT-документів в дерево програми.document()
. Вони, як правило, обробляються під час виконання програми, оскільки їх знаходження, можливо, має бути обчислено, або ці виклики не будуть взагалі виконуватись.xsl:text
. Це дозволяє розставляти пробіли та відступи у вихідних текстах XSLT-програм, не створюючи побічні ефекти.xsl:strip-space
в програмі. Це дозволяє обробляти XML-документи, ігноруючи додаткові відступи.Після цього інтерпретатор виконує такі операції для побудови та серіалізації результуючого дерева:
xsl:output
.При обробці вершини виконуються такі кроки:
xsl:
). Ці інструкції мають спеціальну семантику, яка вказує на те, які їх слід інтерпретувати. Деякі із інструкцій вказують на додавання нових елементів до результуючого дерева; інші впливають на виконання програми. Елементи та символи, які не належать до XSLT та знаходяться в тілі шаблону, переносяться без змін в результуюче дерево. Коментарі, а також інструкції інтерпретації ігноруються.Виконання XSLT-інструкції xsl:apply-templates
призводить до того, що для обробки обирається нова множина вершин. Вершини визначаються із допомогою XPath-виразів. Кожна вершина обробляється у відносному порядку появи у вихідному документі.
XSLT розширює бібліотеку функцій XPath та дозволяє визначати змінні в виразах. Ці змінні мають різні області видимості в XSLT-програмі, в залежності від того, де їх визначено, а їхні значення можуть походи з-за меж програми. Значення змінної не може змінюватись під час інтерпретації.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.