<< Chapter < Page Chapter >> Page >
XSLT er en slags programmeringssprog. Med XSLT kan man f.eks. transformere XML til HTML.

Introduktion

I modsætning til HTML-dokumenter, der automatisk bliver vist med typografi og layout, når de åbnes i en browser som Internet Explorer eller Firefox, indeholder XML-dokumenter i sig selv normalt ingen information om, hvordan de skal visuelt skal fremstå, og vil derfor blot blive præsenteret i en form for ”rå kode”, når man åbner dem i en browser. Dette er helt tilsigtet: ideen med XML er blandt andet, at et XML-dokument skal kunne vises forskelligt, alt efter hvem målgruppen er, hvad konteksten er, eller hvilket medium dokumentet skal vises i. Og nogle gange skal et XML-dokument slet ikke præsenteres. Det gælder f.eks. i de tilfælde, hvor XML bliver brugt som format for udveksling af data mellem it-systemer, og hvor det overhovedet ikke er nødvendigt, at XML-dokumentet læses af et menneske. I andre tilfælde er en læsevenlig præsentation af XML-dokumenter helt nødvendig, f.eks. hvis de skal publiceres på Nettet og læses af en bruger i en browser.

Præsentation med css

Man kan give et XML-dokument en visuel form på forskellige måder. En ofte anvendt metode er at koble et CSS-stylesheet til XML-dokumentet. Et CSS-style sheet er et simpelt tekstdokument, der indeholder en række regler, som foreskriver, hvordan indholdet i XML-dokumentet typografisk og layoutmæssigt skal fremstå. I og med at et XML-dokument kan beskrives som en træstruktur, taler man nogle gange om, at et CSS-stylesheet ”pynter” XML-træet. CSS-style sheets er forholdsvis enkle og nemme at udarbejde, men har også visse begrænsninger. Eksempelvis er det vanskeligt med et CSS-style sheet at vise et XML-dokuments enkelte indholdselementer i en anden rækkefølge end den, de optræder i, i selve XML-dokumentet.

Xslt-stylesheets

Langt mere fleksible er XSLT-style sheets. Med et XSLT-style sheet kan man udtrække og vise XML-indhold på et utal af måder, til forskellige formål, og til diverse medier som f.eks. computerskærm eller mobiltelefon.

XSLT, en forkortelse for Extensible Style Language Transformations, er en slags programmeringssprog til behandling af XML-dokumenter. Programmer udarbejdet ved hjælp af XSLT kaldes for XSLT-scripts, XSLT-transforms eller XSLT-style sheets.

Et XSLT-style sheet er, lige som et CSS-style sheet, et tekstdokument med et sæt af regler. Disse regler er imidlertid ikke regler, som direkte beskriver, hvordan en given datastruktur i et XML-dokument skal præsenteres, men et sæt instrukser, der specificerer, hvordan denne datastruktur skal transformeres. Med et XSLT-style sheet kan man transformere et dokument i et XML-format til et andet; man kan lave det om til HTML, eller man kan konvertere det til en almindelig tekst.

Transformation af xml med xslt

Et XML-dokument, der skal vises på Nettet, skal typisk transformeres til HTML eller XHTML, således at det kan vises i en browser. Rent konkret foregår en XML-til-HTML transformation ved, at en XML-processor, et stykke software, læser XSLT-style sheetet og gennemfører transformationen af XML-dokumentet, også kaldet kildedokumentet, som er foreskrevet i XSLT-style sheetet. Transformationen kan ske på en webserver (”server side”), inden det sendes af sted til eller i slutbrugerens egen browser (”client side”). I begge tilfælde bliver der som output genereret (X)HTML-kode, som kan vises i en browser. Selve koblingen af XML-dokumentet og det tilhørende XSLT-stylesheet kan ske ad flere veje. Meget ofte vil der simpelthen være et link fra kildedokumentet til det style sheet, som XML-processoren skal benytte i forbindelse med transformationen.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Xml og xslt - en introduktion. OpenStax CNX. Mar 03, 2009 Download for free at http://cnx.org/content/col10642/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Xml og xslt - en introduktion' conversation and receive update notifications?

Ask