XSLT
XSLT (engleski akronim za "Extensible Stylesheet Language Transformations") je jezik za preoblikovanje XML dokumenata u druge XML dokumente.[1] XSLT pretvara XML u XHTML (ili u drugačiji XML dokument, obični tekstualni format, i još XSL-FO).
XSLT dio je XSL tehnologije, kao i XSL-FO format i XPath podjezik za upite.[2][3] Prema XSL transformacijama[4] se odnosimo kao prema programskom jeziku, jer je riječ o jeziku koji je potpun po Turingu, odnosno izražajnom snagom ravnopravan Turingovom stroju.[5] Kroz ovaj jezik mogu se složiti u prikaz i datoteke drugih formata, kao što su baze podataka i topografski podaci, uz uvjet da imaju uređeni sustav oznaka.
U studenome 1999. godine W3C organizacija, koja se bavi standardizacijom tehnologija korištenih na mreži, izdala je preporuku za korištenje XSLT.[1][6] Posljednja inačica XSLT 3.0 preporukom je postala 2017. godine, no nije došlo do šire primjene u pregledniku, pa većina standardnih internetskih preglednika ne podržava dalje od inačice 1.0.[7][8]
XSLT 1.0 postao je preporukom W3C-a 16. studenoga 1999. godine, istoga dana kada i XPath 1.0, koji je nastao kao zajednička osnova za XSLT i XPointer.[1][3]
XSLT 2.0 objavljen je 23. siječnja 2007. godine pod uredništvom Michaela Kaya. Vezan je uz XPath 2.0, s kojim dijeli model podataka i knjižnicu funkcija, a uvodi i podjelu na osnovni procesor i procesor svjestan sheme, pri čemu osnovni ne podržava mogućnosti koje traže pristup podatcima iz XML sheme.[9]
XSLT 3.0 preporukom je postao 8. lipnja 2017. godine.[7][10] Najvažnija je novost potočna obrada, kod koje se ni ulazni ni izlazni dokument ne drže u cijelosti u radnoj memoriji. Dodani su i paketi za modularnost velikih predložaka, mape i polja preuzeti iz XPatha 3.1, funkcije za pretvorbu između JSON-a i XML-a te funkcije višega reda.[7]
Prijedlozi za XSLT 4.0 razvijaju se u zajedničkoj skupini QT4 Community Group, koja prema pravilima W3C-a ne može objaviti preporuku, nego samo izvještaj, pa nacrti nemaju status standarda.[11]
Glavni razlog koji proizvođači preglednika navode za uklanjanje jest sigurnost. Knjižnice za XSLT pisane su u starijim jezicima C i C++ te su podložne propustima u radu s memorijom, što može dovesti do izvođenja proizvoljnoga koda.[8] Nick Wellnhofer, koji je održavao libxslt, tu je ulogu napustio u lipnju 2025. godine,[12] a sigurnosna obavijest projekta FreeBSD od 12. srpnja 2025. navodi da knjižnica nema aktivnoga održavatelja i da su protiv nje prijavljeni neispravljeni propusti, među kojima CVE-2025-7424, CVE-2025-7425, CVE-2025-9714 i CVE-2025-11731.[13]
Izvan preglednika XSLT ostaje u uporabi ondje gdje se iz jednoga izvora u XML-u proizvodi više izlaznih oblika, osobito u modularnim izdavačkim postupcima utemeljenima na rječnicima DITA, DocBook i JATS.[14][15] Česta je i pretvorba knjižničnih metapodataka između shema, pa je u knjižnicama Sveučilišta Penn State prilagođena pretvorba iz Dublin Corea u MARCXML izvedena XSLT-om skratila katalogizaciju elektroničkih disertacija sa 100 do 160 sati po semestru na manje od osam sati.[16]
- 1 2 3 XSL Transformations (XSLT) Version 1.0. www.w3.org (engleski). World Wide Web Consortium. 16. studenoga 1999. Pristupljeno 11. kolovoza 2026.
- ↑ The Extensible Stylesheet Language Family (XSL). www.w3.org (engleski). World Wide Web Consortium. Pristupljeno 11. kolovoza 2026.
- 1 2 XML Path Language (XPath) Version 1.0. www.w3.org (engleski). World Wide Web Consortium. 16. studenoga 1999. Pristupljeno 11. kolovoza 2026.
- ↑ Otvoreno računarstvo 2013./2014., Arhivirana inačica izvorne stranice od 15. travnja 2014. (Wayback Machine) (
(PDF); 1,1MB)
Mario Žagar: XML, transformacije, vizualizacije i filtriranje podataka, 26. ožujka 2013. (pristupljeno 1. travnja 2014.) - ↑ Onder, Ruhsan; Bayram, Zeki. 2006. XSLT Version 2.0 Is Turing-Complete: A Purely Transformation Based Proof. Lecture Notes in Computer Science (engleski). Springer. 4094: 275–276. doi:10.1007/11812128_26
- ↑ XSL Transformations, (engl.) James Clark: W3C Recommendation, 16. studenoga 1999. (pristupljeno 1. travnja 2014.)
- 1 2 3 XSL Transformations (XSLT) Version 3.0. www.w3.org (engleski). World Wide Web Consortium. 8. lipnja 2017. Pristupljeno 11. kolovoza 2026.
- 1 2 Removing XSLT for a more secure browser. Chrome for Developers (engleski). Google. 2025. Pristupljeno 11. kolovoza 2026.
- ↑ XSL Transformations (XSLT) Version 2.0. www.w3.org (engleski). World Wide Web Consortium. 23. siječnja 2007. Pristupljeno 11. kolovoza 2026.
- ↑ Kay, Michael. 11. lipnja 2017. XSLT 3.0 becomes a W3C Recommendation. XML.com (engleski). Pristupljeno 11. kolovoza 2026.
- ↑ XSL Transformations (XSLT) Version 4.0. qt4cg.org (engleski). QT4 Community Group. Pristupljeno 11. kolovoza 2026.
- ↑ Brockmeier, Joe. 27. kolovoza 2025. The tangled web of XSLT browser support. LWN.net (engleski). Pristupljeno 11. kolovoza 2026.
- ↑ libxslt -- unmaintained, with multiple unfixed vulnerabilities. VuXML (engleski). FreeBSD Project. 12. srpnja 2025. Pristupljeno 11. kolovoza 2026.
- ↑ Chakkera, Vasu. 19. srpnja 2025. XSLT: A Precision Tool for the Future of Structured Transformation. XML.com (engleski). Pristupljeno 11. kolovoza 2026.
- ↑ Holman, G. Ken. 2023. Fidelity and flexibility for clients and their products leveraging XSLT and XSL-FO (engleski). National Center for Biotechnology Information (US)
- ↑ Robinson, Ken; Edmunds, Jeff; Mattes, Stephen C. 28. srpnja 2016. Leveraging Author-Supplied Metadata, OAI-PMH, and XSLT to Catalog ETDs: A Case Study at a Large Research Library. Library Resources & Technical Services (engleski). 60 (3). ISSN 2159-9610