Het is niet overdreven om te stellen dat xml aan een ware zegetocht door it-land is begonnen. Hoewel ook deze standaard er niet aan ontkomt een rol te spelen in het op commerciële belangen gebaseerde politieke gekrakeel waar veel bedrijven zich schuldig aan maken, zien tegelijkertijd steeds meer mensen het belang van de extensible markup language in.
Dat geldt niet in de laatste plaats voor de aanhangers van Java, concludeert auteur Brett McLaughlin in het voorwoord van zijn boek ‘Java en XML’. Die populariteit begint naar zijn mening echter hier en daar wel een beetje merkwaardige vormen aan te nemen. McLaughlin waarschuwt bijvoorbeeld tegen de houding waarbij een applicatie niet meer als volwaardig zou worden beschouwd wanneer niet op één of andere manier xml daarin een rol speelt. Hij probeert bovendien de – ook door de media – geschapen verwachtingen dat met xml vele miljoenen guldens bespaard zouden kunnen worden enigszins te temperen.
Het lijkt wellicht een opmerkelijk begin van een boek waarin het duo xml en Java centraal staat, maar dat is bij nader inzien slechts schijn. McLaughlin heeft – wat wel genoemd wordt – een typisch techneutenboek geschreven. En dan is een houding van ‘doe maar gewoon, dan doe je al gek genoeg’ natuurlijk wel op zijn plaats. Het is, zo stelt hij, nu eenmaal niet nodig om als programmeur ’s nachts wakker te schrikken en jezelf angstig af te vragen hoe je nu toch alweer een nieuwe technologie onder de knie moet krijgen. Maar dat xml – zeker in combinatie met Java – interessante voordelen te bieden heeft, daar is hij volledig van overtuigd.
En dus schreef McLaughlin een boek waarin hij wil aangeven hoe het genoemde duo optimaal kan worden gebruikt. Dat die weg een behoorlijk technische is, zal duidelijk zijn. De pagina’s staan al snel vol met afkortingen als xsl, xpath, rdf, dtd, pi, xslt, xsp, jaxp, sax, dom en ander jargon. Deze kreten worden weliswaar uitgelegd, maar dat gebeurt op een manier die een behoorlijke basiskennis aanwezig veronderstelt. Het boek is dan ook vooral bedoeld voor it-professionals, die bovendien reeds de nodige ervaring met Java hebben. Wie dat niet heeft, wordt fijntjes doorverwezen naar een ander boek (‘Learning Java’ van Pat Niemeyer en Jonathan Knudsen). Wie eenmaal door de eerste hoofdstukken heen is, snapt waarom deze suggestie is gedaan.
McLaughlin kwam op het idee dit boek te schrijven toen hij in de gaten kreeg dat xml en Java ieder op zich al de nodige potentie hebben, maar dat de combinatie van de twee het allemaal pas echt interessant maakt. In veertien hoofdstukken probeert de auteur duidelijk te maken waar die kansen liggen en hoe die het best benut kunnen worden.
Hij doet dit methodisch. Dat wil zeggen dat hij begint bij het begin: wat is xml en waarom toch al die drukte hierover? Vervolgens laat hij aan de hand van een praktijkvoorbeeld zien hoe een xml-document kan worden gemaakt. Daarbij worden tevens xml-constructies als elementen, attributen, entiteiten en verwerkingsinstructies besproken. Vervolgens richt de aandacht zich op sax, ofwel de simple api for xml. Dit is de eerste Java-api voor het werken met xml. De ontleedlevenscyclus komt daarbij uitgebreid aan bod, en ook komen ‘events’ aan de orde waarover door sax gerapporteerd kan worden.
Het beheersen, valideren en transformeren van xml staat centraal in de volgende drie hoofdstukken. Hierin wordt bijvoorbeeld de rol van ‘document type definitions’ (dtd) en xml-schema’s uitgelegd. Ook komt aan de orde welke rol sax kan spelen om randvoorwaarden op te leggen ten aanzien van validatie. Bovendien komt de extensible stylesheet language (xsl) aan de orde, evenals andere componenten waarmee xml-documenten kunnen worden getransformeerd. Ook kijkt de auteur naar xsl-transformatieprocessoren om xml-documenten te kunnen omzetten naar andere formaten.
Zo volgt nog een aantal geheel op xml gerichte hoofdstukken waarin bijvoorbeeld de Java api for xml parsing (jaxp), de jdom api en de xml remote procedure call worden behandeld. Dan – in hoofdstuk twaalf – verlegt de auteur de aandacht naar Java en de combinatie daarvan met xml. ‘xml vanuit Java’ heet dat in het boek. Centraal staat de vraag hoe xml-documenten vanuit componenten als Java-servlets op de server kunnen worden gemaakt en aangepast.
De praktijkcase die vervolgens wordt behandeld, leidt tot een hernieuwde behandeling van xml-schema’s. Dat is een aardige manier om de theoretische behandeling die hieraan eerder in het boek is gegeven, te koppelen aan de dagelijkse praktijk. Centraal staan vragen als: waarom zijn xml-schema’s zo belangrijk en kunnen de gewekte verwachtingen eigenlijk wel worden waargemaakt? Het antwoord laat zich uiteraard raden.
Java en xml is een boek voor iedereen die het potentieel heeft onderkend van de combinatie van deze twee technologieën. Zoals gezegd bestaat de doelgroep van het boek uit Java-programmeurs, zodat de nadruk ligt op het geven van een uitleg over xml en de manier waarop daarmee gewerkt kan worden. De poging die de auteur gedaan heeft om deze technologieën neer te zetten als een interessant duo met brede gebruiksmogelijkheden voor bijvoorbeeld websites met dynamisch gegenereerde content of projecten waarin op gemakkelijk wijze gegevens gedeeld en gekoppeld moeten kunnen worden, is zeker geslaagd te noemen.
Java en XML
Brett McLaughlin, O’Reilly 2001
445 pagina’s
ISBN 90 395 1718 5
Prijs: _ 79,50
Robbert Hoeffnagel, freelance medewerker