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]

Povijest i inačice

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]

Sigurnost

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]

Primjena

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]

U Hrvatskoj je primjenu XSL-a u digitalnoj knjižnici hrvatske tiskane baštine Edicija obradio Josip Brčina u diplomskom radu na Filozofskom fakultetu u Osijeku 2014. godine.[17]

Izvori

  1. a b c XSL Transformations (XSLT) Version 1.0. www.w3.org (engleski). World Wide Web Consortium. 16. studenoga 1999. Pristupljeno 11. kolovoza 2026.
  2. The Extensible Stylesheet Language Family (XSL). www.w3.org (engleski). World Wide Web Consortium. Pristupljeno 11. kolovoza 2026.
  3. a b XML Path Language (XPath) Version 1.0. www.w3.org (engleski). World Wide Web Consortium. 16. studenoga 1999. Pristupljeno 11. kolovoza 2026.
  4. 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.)
  5. 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
  6. XSL Transformations, (engl.) James Clark: W3C Recommendation, 16. studenoga 1999. (pristupljeno 1. travnja 2014.)
  7. a b c XSL Transformations (XSLT) Version 3.0. www.w3.org (engleski). World Wide Web Consortium. 8. lipnja 2017. Pristupljeno 11. kolovoza 2026.
  8. a b Removing XSLT for a more secure browser. Chrome for Developers (engleski). Google. 2025. Pristupljeno 11. kolovoza 2026.
  9. XSL Transformations (XSLT) Version 2.0. www.w3.org (engleski). World Wide Web Consortium. 23. siječnja 2007. Pristupljeno 11. kolovoza 2026.
  10. Kay, Michael. 11. lipnja 2017. XSLT 3.0 becomes a W3C Recommendation. XML.com (engleski). Pristupljeno 11. kolovoza 2026.
  11. XSL Transformations (XSLT) Version 4.0. qt4cg.org (engleski). QT4 Community Group. Pristupljeno 11. kolovoza 2026.
  12. Brockmeier, Joe. 27. kolovoza 2025. The tangled web of XSLT browser support. LWN.net (engleski). Pristupljeno 11. kolovoza 2026.
  13. libxslt -- unmaintained, with multiple unfixed vulnerabilities. VuXML (engleski). FreeBSD Project. 12. srpnja 2025. Pristupljeno 11. kolovoza 2026.
  14. Chakkera, Vasu. 19. srpnja 2025. XSLT: A Precision Tool for the Future of Structured Transformation. XML.com (engleski). Pristupljeno 11. kolovoza 2026.
  15. Holman, G. Ken. 2023. Fidelity and flexibility for clients and their products leveraging XSLT and XSL-FO (engleski). National Center for Biotechnology Information (US)
  16. 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
  17. Brčina, Josip. 2014. Primjena XSL-a u digitalnoj knjižnici hrvatske tiskane baštine Edicija (PDF). Filozofski fakultet, Sveučilište Josipa Jurja Strossmayera u Osijeku

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.