Dictionary of XML Technologies and the Semantic Web

Diederik Gerth van Wijk

dgerth@kluwer.nl

Een XML-woordenboek, is daar behoefte aan? Jawel, maar dan moet je er wel van op aan kunnen, en daarin schiet de Dictionary of XML Technologies and the Semantic Web die Vladimir Geroimenko bij Springer deed verschijnen soms te kort. Gelukkig levert hij wel de adressen van de besproken specificaties, zodat je, als je een exacte definitie zoekt, daar de officiële definitie kunt nalezen.

Blij nam ik het aanbod van onze hoofdredacteur aan om in ruil voor het boek deze dictionary te bespreken. Naslagwerken kunnen zich altijd in mijn warme belangstelling verheugen, en ongetwijfeld heeft u mij op de TV-spot gezien waar ik de auteur van het nieuwe telefoonboek om een handtekening vroeg. Enthousiast begon ik dan ook te lezen, maar helaas, het verging me een beetje als bij die dierenencyclopaedie die ervoor zorgde dat ik alles van aardvarks en niets van zebra's weet: ik haakte af, en al ruim voor de z, bij de e van element content namelijk. Dat Geroimenko daarbij niet als eerste betekenis de inhoud van ons aller lijfblad noemde kan ik deze brit nog vergeven, maar dat hij ons wil laten geloven dat element content "Any data placed between the START TAG and the END TAG of an ELEMENT" is, de inhoud van een element dus, inclusief character data voegt hij er nog expliciet aan toe, doet toch twijfelen aan zijn kennis van het métier, en aan die van zijn uitgebreide lijst van meelezers. Lees de XML recommendation, clause 3.2.1 er maar op na: element content heet zo omdat hij echt alleen uit sub-elementen bestaat, en wat hij beschrijft is gewoon "content" (in een document) of mixed content (in een DTD). Voor de dictionary pleit overigens dat dit laatste begrip wel correct vermeld staat, maar toch, een debat over de (on)wenselijkheid van mixed content gaat aan de lezer van dit woordenboek enigszins voorbij. Ook de vraag of er een principieel verschil is tussen elementen die alleen in element content mogen voorkomen en elementen die ook zwevend in lopende tekst mogen voorkomen gaat aan hen voorbij. Het boel lijkt zich dan ook meer te richten op de dataheads dan op de docheads, wat ook al blijkt uit het feit dat geen aandacht besteed wordt aan tekstgerichte begrippen als alinea's, tabellen, noten en nadruk, of aan de elementen uit DTD's als (X)HTML, DocBook of CALS.

Wat bevat de dictionary dan wel? Een 1800 termen, over ruim 200 bladzijden verdeeld, met daarin kernbegrippen uit XML, XML Schema, XSLT, XLink en dergelijke basale aanbevelingen; veel aandacht ook voor het semantisch web en RDF, maar weinig voor Topic Maps; Webservices en tot slot een hele lijst van al dan niet in de werkelijke wereld gebruikte DTDs en schematalen, met acronymen die meestal eindigen op ML. Die laatste lijst doet het boek wezenlijk verschillen van de glossaries in Neil Bradleys SGML en XML companions (circa 1350 termen over 65 bladzijden in de eerste druk van de XML companion). Helaas geeft hij geen gegevens over de mate waarin deze markup languages het stadium van vapour ware overstijgen en daarmee hun nut in de echte wereld bewijzen, maar hij geeft wel consequent de webadressen waar je zelf meer informatie kunt verkrijgen. En ik geef toe, ik werd door hem op het spoor gezet van een character mapping markup language die ik bij mijn werk aan DSDL part 7 (Character Repertoire Validation) nog niet was tegengekomen.

Het boek lijkt daarmee in eerste instantie bedoeld voor mensen die aan het semantische web willen werken, merken dat dit op XML gebaseerd is, en daar tegen onbekende begrippen aanlopen die ze graag vlug willen kunnen nakijken. Maar zodra die mensen serieus willen gaan coderen, en exacte definities zoeken, kunnen ze toch echt beter de links die Geroimenko ruimhartig biedt volgen en de betreffende recommendations en standaarden zelfn raadplegen. Want die misser over element content staat helaas niet alleen. Zoek het keyword EMPTY maar eens op: het staat er niet in. Contentspec (XML) of declared content (SGML) dan? Nee, evenmin. Wel staat er bij element type declaration een zelfbedacht begrip content_category, waar EMPTY en ANY als voorbeeld genoemd worden, maar noch prescriptieve noch descriptieve woordenboeken worden geacht zelf begrippen te introduceren (met Google vind ik maar één relevante vermelding, bij www.javaprepare.com/xml/notes/dtd.html).

Geroimenko beroept zich er in zijn voorwoord op dat hij bij de samenstelling van dit woordenboek een "unieke op onderzoek gebaseerde aanpak" heeft gehanteerd, wat in zou houden "het gebruik van een verzameling methoden uit de methodologie van de wetenschap, zoals conceptuele, logische en methodologische analyse en synthese". Het zijn mooie woorden, en heel vaak leveren ze prettige en bondige beschrijvingen op, maar ze blijken helaas geen garantie voor nauwkeurigheid, zuiverheid en vrijwaring van fantasie te bieden. Wie een handig naslagwerk over XML en documentverwerking zoekt en een enkele onzorgvuldigheid of zetfout op de koop toe wil nemen, heeft aan Neil Bradley een nuttiger compaan! Wiens focus meer op het almaar semantischer wordende web gericht is, kan echter ook bij Geroimenko terecht. In beide gevallen moet je echter voordat je echt gaat coderen nog even de echte bronnen raadplegen om zeker te zijn dat je je aan de echte normen en waarden houdt. Gelukkig is Geroimenko niet ongevoelig voor kritiek, en lijkt hij mijn suggestie om in de tweede druk naast de geanalyseerde en gesynthetiseerde definities ook gewoon de officiële definities over te nemen te willen volgen.

Vladimir Geroimenko, Dictionary of XML Technologies and the Semantic Web, Springer, London, 2004, ISBN 1-85233-768-0, BEP 29,50

Diederik Gerth van Wijk is Contentarchitect bij uitgeverij Kluwer.