Neil Bradley is een XML-consultant met 15 jaar ervaring. Hij schreef drie boeken over ‘markup’-talen: The concise SGML Companion, The XML Companion en het pas uitgekomen The XSL Companion.
Hoewel Bradley’s titels niet overlopen van inspiratie, is dat niet te zeggen van de inhoud. In zijn recentste boek slaagt de auteur er namelijk in een ingewikkeld onderwerp als XSL eenvoudig voor te stellen. Maar laten we eerst maar eens beginnen bij het begin: wat is XSL eigenlijk?
Daartoe gaan we eerst naar XML. Dat is een ‘markup’-taal en een ‘dochter’ van SGML. XML staat voor eXtensible Markup Language. Zoals Bradley bij de aanvang van zijn boek al meteen terecht opmerkt, bleef het acroniem XML niet lang alleen. Het kreeg al gauw gezelschap van XSL, XSLT en XPath.
XSLT maakt het mogelijk XML-documenten om te vormen naar andere dataformaten.
XPath is de XML-taal waarmee u bepaalde informatie in een XML-document lokaliseert zodat deze kan geconverteerd worden naar andere bestandsformaten met behulp van XSLT. XPath levert hiertoe de geëigende uitdrukkingen (‘expressions’).
XSL – het acroniem waar het in dit boek om gaat – is de taal waarmee de stijl van een document wordt beschreven, en waarmee XML-documenten een wat mooiere vormgeving kunnen krijgen, of waarmee ze in diverse uitvoerformaten kunnen worden gegoten. Zo kan een eXtensible Style Sheet ervoor zorgen dat een XML-document goed kan worden weergegeven in een web-browser, op een printer of in een XML-editor.
Op het eerste gezicht lijkt dit een exotisch onderwerp dat voor veel mensen en zelfs auteurs van XML-documenten niet echt wordt ervaren als interessant of noodzakelijk. Maar dingen zijn wel vaker niet wat ze lijken. Dat is ook het geval met Bradley’s boek – hij behandelt ook minder exotische onderwerpen. XML is immers ook bijzonder geschikt als stijlgids voor HTML-documenten. Met XSL en een bijpassend XML-document zijn tekstblokken en grafische elementen op een webpagina worden weer te geven zoals dat tevoren onmogelijk was, terwijl XML ook als omvattende programmeertaal kan worden beschouwd voor Java-applets en multimediale toestanden die tegenwoordig op het Web een must zijn.
In de eerste paar hoofdstukken gaat de auteur dieper in op de verschillende ‘markup’-talen en hun gebruik. Hij stipt ook aan waar HTML eindigt en waar XML en XSL begint, en legt daarbij de nadruk op de beperkingen van Cascading Style Sheets (CSS) en de oneindige mogelijkheden van XSL. Je zou verwachten dat de schrijver zich dan eerst gaat verdiepen in HTML en CSS.
Maar na die inleidende hoofdstukken geeft Bradley plankgas. Hij schrijft dan niet langer voor beginners, zoveel is duidelijk. Hoewel het boek gelardeerd is met voorbeelden uit de praktijk, maakt Bradley één ding pijnlijk zichtbaar: lezers die zich niet eerst verdiept hebben in XML, begrijpen van XSL geen jota. Indien zij iets meer willen weten over wat XSL kan betekenen voor hun website, dreigen zij mijns inziens hier af te haken.
Voor wie echter een beetje thuis is in SGML en XML, is dit boek een stoomcursus XSL en XSLT. Bradley slaagt erin om duidelijk te maken wat je met XML en zijn aanverwante talen allemaal vermag, en hoe je de beoogde resultaten kunt bereiken. Zo legt hij bijvoorbeeld uit hoe je van een XML-document een database-tabel kunt maken met behulp van ‘Cdata’ – een door SGML-adepten goed gekend model om tabellen uit te werken.
Bradley’s boek gaat niet crescendo wat moeilijkheidsgraad betreft. Na de moeilijkste onderwerpen springt Bradley terug op HTML 4.0 en CSS, waarmee hij de ervaren lezer wat verweesd achterlaat. Het lijkt erop dat Bradley niet anders kon, wilde hij zijn boek aantrekkelijk maken voor elk niveau XML-gebruiker. En vooral daarin is hij geslaagd: het boek is inderdaad ook interessant voor de gemiddelde gebruiker van ‘markup’-talen (iedereen dus). Helemaal aan het eind van zijn boek geeft de schrijver dan toch weer wat gas bij, en heeft ie het nog kort over de uitwisselbaarheid tussen CSS en XSL en over de analyse van DTD’s (‘document type definition’).
De belangrijkste vraag die ik moest beantwoorden na het lezen van dit boek, was wat u als lezer en potentiële gebruiker van XML/XSL aan dit boek zou hebben. Het antwoord is: veel, zolang u maar geen strak gestructureerd geheel verwacht. Bradley’s boek bevat alles wat nodig is om er een XSL-kookboek van te maken, zonder dat hij zijn lezers als kleuters beschouwt.
Het gevolg hiervan is dat u het boek misschien twee keer zult moeten lezen. Eén keer van voren naar achteren om het hele verhaal te kennen, en een tweede keer om de relevante passages over XSL en uitvoer naar diverse media en formaten goed te kunnen volgen. Achteraan het boek staan overigens alle uitdrukkingen (‘expressions’) en elementen van XSL, zodat het boek minstens als referentiewerk zijn waarde bewijst.
Bradley Neil, The XSL Companion, Addision-Wesley, 2000, ISBN 0 201 67487 4;
Prijs $ 74
Erik Vlietinck Freelance Medewerker