Jesper Tverskov, 14. juli, 2009

Hvad er XSL?

Vil du på XSL-kursus, er det sandsynligvis XSLT, du tænker på. XSLT er den betegnelse, vi bruger i dag, når vi tænker på XSL-Transformation. Oprindeligt var XSL, "eXtensible Stylesheet Language", tænkt som én standard, der inden færdiggørelse blev splittet op i tre selvstændige standarder: XSL-T (der hurtigt blev til XSLT) , XSL-FO (Formatting Objects) og søgesproget XPath.

XPath er en integreret del af XSLT, og et XSLT kursus er ca. 30% XPath. XPath kan uafhængigt af XSLT indgå i andre programmeringssprog, når de skal søge i XML-dokumenter.

1. Sprog-forvirring

Selv om XSL oprindeligt omfattede XSLT, XSL-FO og XPath, så opfatter de fleste i det daglige nok XSL som et synonym for XSLT. Forvirringen er også åbenlys i standardernes officielle betegnelser. F.eks. hedder XSL-FO officielt: Extensible Stylesheet Language (XSL), hvorimod XSLT officielt hedder: XSL Transformations (XSLT).

De fleste XML-editorer gemmer XSLT filer med filtypen ".xsl" og XSL-FO filer med filtypen ".fo", og XSLT's prefix eller såkalte alias ved namespace-deklarationer er næsten altid "xsl", hvorimod XSL-FO bruger "fo". En XML Editor som XMLSpy er som default sat op til at gemme rene XSLT-filer med filtypen ".xslt", og XSLT-filer, der også indeholder XSL-FO, gemmes som ".xsl".

2. XSL-mailinglisten

Den førende mailingliste for XSLT, hedder XSL-List, http://www.mulberrytech.com/xsl/xsl-list/. XSL-listen accepterer også sprørgsmål om XSL-FO (måske 5% af aktiviteten), selv om programmering/transformation og avanceret CSS-like visualisering (font-size, padding, baggrundsfarve, osv.) med henblik på at lave PDF-filer ikke har meget med hinanden at gøre.

XSL-mailinglisten indeholder selvfølgelig også spørgsmål om XPath, der indgår i XSLT. Når det måske alligevel ikke er helt hen i vejret både at dække XSLT og XSL-FO på samme mailingliste, skyldes det, at XSL-FO næsten altid bruges som output opmærkning inden i et XSLT-stylesheet, der så gør transformation til PDF mulig.

Transformation til PDF sker typisk i én arbejdsgang, men teknisk anvendes to processorer. Først transformeres inputtet (typisk noget XML) til XSL-FO, og en XSL-FO processor converterer så i næste åndedrag XSL-FO til PDF.

3. Kursus i XSLT og XSL-FO

Mange kursusudbydere har kurser over 2 dage i "XSL" (extensible stylesheet language), hvor 1 dag bruges til XSLT og 1 dag til XSL-FO. Mine kurser hedder "XSLT" og indeholder kun XSLT, fordi 95% af os har brug for XSLT programmering/transformation og mindre en 5% har også interesse i XSL-FO.

XSL-FO kan indgå på mine kurser som eksempel på transformation fra XML til PDF, men normalt omtales XSL-FO kun som orientering med mindre vi aftaler noget andet.

Updated: 2009-07-09