XSLT
Bogen en god indføring i XML, men den kunne nu sagtens have været et par hundrede sider til. Specielt afsnittet om XSLT virker meget kompakt, da XSLT ikke er beskrivelse af data, men beskrivelse af transformationer af XML.
XSLT
Bogen indledes med en udmærket introduktion til XML, med en god gennemgang af anvendelser og pointeringen af det vigtige punkt: Hvorfor man overhovedet skal anvende XML. Indledningen pointerer XML's platform- og applikationsuafhængighed. Derudover fokuserer bogen som sagt på XSLT, DOM og XPath.
XSLT, som vi tidligere har behandlet i to artikler her på PC World Online, er beregnet til at transformere XML-data til nye sæt af XML-data med en anden struktur. Kort fortalt, er et XSLT-dokument en specifikation for transformering af XML-data til XML-data, og på den måde kan det levere en platforms- og applikationsuafhængig facon at processere XML-data på.
Her er det spændende med praktiske eksempler, og efter at have gennemgået de grundlæggende begreber i XSLT som template-match og value-of, viser forfatteren, hvorledes det samme XML-input let kan transformeres til forskellige slutmedier som browser og wap-klienter.
De fleste eksempler på XSLT beskæftiger sig ofte kun med præsentation af XML-data, men forfatteren følger teknologien til dørs og viser den måske mest interessante anvendelse af XSLT, nemlig som data-til-data processering uden programmering. Undervejs får læseren stiftet et grundigt bekendtskab med de vigtigste XSLT-begreber, men gennemgangen føles lidt kompakt, og kunne godt være strukket over flere sider.
DOM
DOM
Herefter gennemgår bogen DOM, Document Object Model, som specificerer et API (programmeringsflade) til XML og HTML-dokumenter, altså en model for, hvorledes XML og HTML kan manipuleres programmatisk. Det gennemgås i bogen i sammenhæng med de XML-objekter, der medfølger i ASP-udgaven af Microsoft Scripting Host under Internet Information Server.
Praktisk og teoretisk forståelse af DOM er absolut vigtigt for folk, der udvikler XML og HTML, men det er lidt underligt at bogen ikke engang nævner event-baseret parsing og manipulering af XML. Event-baseret parsing ser på XML-data som en strøm, og kan gøre det nemmere at processere data i de tilfælde, hvor konteksten af et enkelt element er vigtig, da parseren så at sige spadserer rundt i XML-træets grene ved den event-baserede metode.
Sidst i bogen gennemgår forfatteren XPath, som er specifikationen for hvorledes man navigerer rundt i et XML-træet.
I et appendiks til bogen gennemgås SVG, Scalable Vector Graphics, som et eksempel på anvendt XML. Der er en udmærket pointe i at vise "sjove" eksempler, der kan give læseren en wow-oplevelse, og dermed mod på at kaste sig ud i anvendelsen af teknologien, men det kunne også have været spændende med blot et overfladisk kig på teknologier som for eksempel RDF (Ressource Description Framework) eller SOAP (Simple Object Access Protocol), der nok vil vise sig at have større praktisk betydning end SVG.
Ligeledes kunne det have været spændende med et kig på nogle af de specifikationer WWW-konsortiet går og brygger på, som for eksempel XML Query Language, der sammen med XML, XML Schema og XSLT vil blive grundstenene i en XML-verden, der endnu er under opbygning
Enkelte skønhedspletter
Enkelte skønhedspletter
Det er lidt problematisk, at forfatteren gør sig den meget almindelig forsyndelse blandt folk, der kommer fra Microsoft-miljøer, nemlig at blande proprietære Microsoft-teknologier med World Wide Web-konsortiets generelt udbredte standarder.
Der er såmænd ikke noget galt i at demonstrere teknikker med udgangspunkt i Microsofts udmærkede produkter, men i en lærebog om XML, der jo netop er konstrueret til at være platform- og applikationsuafhængigt, er det fantastisk vigtigt at gøre opmærksom på, hvad der er proprietær teknologi, og hvad der de rigtige standarder.
Forfatteren omtaler for eksempel data islands, som er en Microsoft teknologi til at binde XML-data dynamisk til visning i HTML-dokumenter. Men her glemmer han at nævne, at disse eksempler kun virker i Internet Explorer 5 eller senere. Det er en fejl, i særdeleshed da bogen konsekvent benytter ordet "browseren" i den forbindelse. Der er altså andre browsere og brugeragenter end IE - endnu da.
Bogens sprog er udmærket, alligevel kunne man synes at danske ord som kilde og egenskab, der efterhånden er pænt indarbejdet i fagsproget, kunne benyttes i stedet for source og property. Ligeledes er den gennemgående hjemmelavede forkortelse PI for processing instruction lidt af en øje-hømhøm, som den gamle redaktør ville have udtrykt det.
Godt udgangspunkt
Skønhedsfejlene præger dog slet ikke helhedsindtrykket af bogen, som fremstår kompetent og velskrevet, og som giver en glimrende indføring til alle, der skal i gang med XML. Det skal vi alle sammen før eller siden, om vi nu vil det eller ej.
Jakob Kristiansen: XML i praksis
280 sider
IDG Forlag
ISBN 87-7843-424-6
Pris: Kr. 299,00