Deze opinie is van een externe deskundige. De inhoud vertegenwoordigt dus niet noodzakelijk het gedachtegoed van de redactie.

Documentproductie met XML en DITA

Dit artikel delen:

Computable Expert

dr. Nico Verwer
consulting software architect / data scientist, Rakensi. Expert van Computable voor de topics Datamanagement, Development en Internet.

Als we nieuwe documenten maken, dan beginnen we meestal met een geheel leeg blad. Tijdens het typen ontstaat er structuur door gebruik van kopteksten, alinea’s, opsommingen etcetera. Deze structuur is vooral bedoeld om een tekst logisch in te delen en beter leesbaar te maken, niet om betekenis vast te leggen. Artikelen in kranten en tijdschriften hebben vaak een herkenbare indeling, beginnend met de titel gevolgd door een inleiding, een beschrijvend midden en een conclusie. Deze onderdelen zijn nuttig, omdat ze de lezer houvast bieden en helpen te bepalen of het artikel interessant is. Tot zover zijn wij geslaagd met onze inleiding. Hou vol!

Bij het invullen van (digitale) formulieren beginnen we niet met een leeg blad. Iedereen is eraan gewend om gegevens in te vullen in voorgedrukte vakjes voor bijvoorbeeld naam, e-mailadres en postcode. Gegevens die ‘gestructureerd’ ingevuld worden, kunnen door computers gemakkelijker worden verwerkt, omdat ingevulde waarden een betekenis krijgen ('2514 EA' is de "postcode van het bezoekadres"). Ook is het mogelijk de kwaliteit van de gegevens te waarborgen. Dit kan door te controleren of de postcode geldig is en voldoet aan de (Nederlandse) regel dat deze moet bestaan uit vier cijfers, een spatie en twee letters. Ook kunnen gerelateerde gegevens (zoals straatnaam) automatisch worden ingevuld, zodat ze consistent zijn en blijven.

De auteurs hebben voor Raad van State een ontwerp en prototype gemaakt van een toepassing om documenten te vervaardigen op een manier die vergelijkbaar is met het invullen van formulieren. Het doel van deze toepassing is om: (1) de kwaliteit van documenten (vorm en inhoud) te verbeteren, (2) gebruikers beter te kunnen ondersteunen bij het vervaardigen van documenten en (3) de kennis die in documenten is vastgelegd effectiever te kunnen hergebruiken. We lichten in dit artikel toe hoe de DITA standaard daarbij kan helpen, aan de hand van de vervaardiging van uitspraken en brieven van de Afdeling Bestuursrechtspraak van de Raad van State.

De Afdeling Bestuursrechtspraak van de Raad van State is de hoogste algemene bestuursrechter in Nederland. Zij is het hoogste rechterlijke orgaan dat een uitspraak kan doen over een geschil tussen burger en de overheid. Als overheden onderling een geschil hebben (bijvoorbeeld een gemeente en een provincie), doet de Afdeling Bestuursrechtspraak hierover ook een uitspraak. Een burger die het niet eens is met een beslissing van een gemeente, een provincie, een waterschap of de centrale overheid kan in beroep gaan bij de Afdeling Bestuursrechtspraak van de Raad van State.

Structuur en betekenis

In een uitspraak beschrijft de bestuursrechter zijn of haar beslissing en motivering op een juridisch geschil. Om de herkenbaarheid en leesbaarheid te bevorderen heeft een uitspraak een vaste indeling, die bestaat uit vijf onderdelen: voorblad, procesverloop, rechtsoverwegingen, dicta (beslissingen) en ondertekening. 

Het vervaardigen van uitspraken is maatwerk en kennisintensief, omdat wetgeving (normenkader) verandert en geen enkel juridisch geschil precies hetzelfde is. Om juristen te ondersteunen bij het vervaardigen van uitspraken, heeft de organisatie de afgelopen jaren geavanceerde toepassingen en kennisbanken ontwikkeld. Een voorbeeld hiervan is een voorziening die de basisindeling (sjabloon) van een uitspraak klaarzet en standaard tekstblokken aanbiedt, afhankelijk van het type van het juridische vraagstuk. Door een geautomatiseerde koppeling met de zaaksadministratie, worden hierin zaaksgegevens, zoals datums en namen van personen die bij een juridische procedure betrokken zijn automatisch opgenomen. Deze voorziening helpt juristen efficiënter te werken en bevordert een consistente inhoud en vormgeving. Desondanks is het probleem dat de structuur en betekenis van de tekst alleen herkenbaar is voor mensen en niet voor computers. Herkenbaarheid door computers is naar de mening van de auteurs noodzakelijk om de voorzieningen voor documentproductie verder te kunnen verbeteren.

Vergelijkbaar aan een invulformulier met velden, heeft een uitspraak een vaste indeling in onderdelen. Het voorblad geeft bijvoorbeeld een opsomming van de procespartijen. De namen zijn niet zomaar woorden, maar verwijzen naar personen die een bepaalde rol spelen binnen het juridische geschil. Door in een zin de namen van procespartijen herkenbaar te maken, net als in een invulformulier, weet een computer bijvoorbeeld dat het woord "Berg" een persoon aanduidt die de rol heeft van appellant. Deze kennis kan de computer gebruiken om elders in de tekst de juiste vervoeging van werkwoorden (enkelvoud/meervoud) en voornaamwoorden (zijn/haar) te gebruiken om de zin taalkundig juist te maken. De herkenbaarheid van de namen van procespartijen in een uitspraak heeft ook als voordeel dat (a) de computer kan controleren of ze juist geschreven zijn, (b) dat uitspraken voor publicatie door een computer geanonimiseerd kunnen worden en (c) dat zoekopdrachten naar uitspraken waarin bepaalde procespartijen of rechters betrokken waren, een nauwkeuriger resultaat leveren. Vergelijkbaar met de namen van procespartijen, biedt de herkenbaarheid van andere gegevens over het juridische geschil voordelen bij het vervaardigen van uitspraken.

Naast uitspraken produceert de Afdeling Bestuursrechtspraak brieven, waarmee zij met alle procespartijen correspondeert gedurende de behandeling van het geschil. Deze brieven worden automatisch gegenereerd, waarbij gegevens uit de zaaksadministratie gecombineerd worden met standaard tekstblokken. Er zijn tientallen briefmodellen, waarvan het beheer thans zeer arbeidsintensief is. Een van de redenen daarvoor is dat de tekst voor de brieven uiterst zorgvuldig moet worden opgesteld. Brieven vormen een onderdeel van het procesrecht en hieraan kunnen procespartijen rechten ontlenen. Maar ook blijkt het beheer van modellen en tekstblokken erg complex, waardoor ze alleen door technisch specialisten uitgevoerd kan worden. Hierdoor duurt het soms weken voordat de juristen zien wat het effect is van een voorgestelde wijziging en hebben ze daar niet direct invloed op. Vernieuwing van de gebruikte techniek, zoals hierboven beschreven voor uitspraken, zal de complexiteit verminderen, waardoor het beheer naar verwachting sneller en door minder technisch specialisten uitgevoerd kan worden.

Eisen aan het ontwerp

Voor de Raad van State, de partijen die bij een juridische procedure zijn betrokken en de maatschappij is de kwaliteit van de documentaire producten van groot belang. Dit betreft zowel de vorm als de inhoud; Uitspraken moeten in lijn zijn met eerder ingenomen standpunten, en de Raad moet de juiste brieven met de juiste gegevens versturen. Structuur in documenten kan helpen bij het vervaardigen van nieuwe documenten en maakt documenten of onderdelen daarvan beter geschikt voor hergebruik. Voor het nieuw te ontwerpen systeem zijn daarom de volgende doelen geformuleerd:

- Vereenvoudiging van de technisch beheer door één, op standaarden gebaseerde oplossing voor alle documenten.
- Vereenvoudiging van het functioneel en applicatiebeheer, zodat voor regulier onderhoud van sjablonen en standaard tekstblokken geen technisch specialisten meer nodig zijn.
- De kwaliteit van documenten beter beheersbaar en controleerbaar maken door integratie van tekstverwerking, zaaksadministratie en kennisfuncties.
- Single source publishing, waarbij documenten in verschillende formaten (papier, internet, kennisbank, e-archief) gepubliceerd kunnen worden uit één brontekst. Hierbij anticipeert de organisatie op toekomstige wetgeving die burgers in staat stelt om digitaal gegevens en documenten uit te wisselen met de rechterlijke macht.
- Kostenreductie, door hergebruik van informatie-definities (structuur), de informatie zelf (inhoud, databases) en software.

XML en DITA

Een uitgangspunt voor het ontwerp was het gebruik van XML als opslagformaat van documenten in een nieuw systeem. Het voornaamste voordeel van XML is dat het een standaard manier biedt om gestructureerde informatie te representeren en uit te wisselen. Bovendien bestaan er veel op XML gebaseerde, of eraan verwante standaarden, en is er voor allerlei platformen een ruime keuze aan software, die daardoor niet zelf ontwikkeld hoeft te worden.

De keuze voor XML is echter slechts het begin van een oplossing, en werpt ook nieuwe problemen op. Om XML voor een bepaald toepassingsgebied (gerechtelijke uitspraken, standaard-correspondentie) te gebruiken is het noodzakelijk om document-typen te definiëren. Deze bestaan nog niet voor Nederland, en de LegalXML standaard is toegespitst op de Angelsaksische situatie. Iedere organisatie gebruikt XML op zijn eigen manier, waardoor de uitwisselbaarheid van documenten beperkt wordt.

Als er een document-type gedefinieerd is, moeten auteurs die standaard natuurlijk gebruiken. Er zijn inmiddels goede tekstverwerkers voor XML beschikbaar, maar auteurs willen 'gewoon' met Microsoft Word werken, omdat ze hieraan gewend zijn. De mogelijkheden van Word om XML documenten volgens een eigen document-type te produceren, zijn helaas zeer beperkt.

Een ander probleem met XML, dat minder bekend is, is dat de huidige standaarden om document-typen te definiëren, Document Type Definition (DTD) en XML Schema Definition (XSD), slechts zeer beperkt hergebruik ondersteunen. Ze missen de belangrijkste technische eigenschappen waarmee object-georiënteerde talen hergebruik ondersteunen: Overerving (sub-klassen als specialisatie van bestaande klassen) en substitutie (het uitvoeren van een generieke functies op specifiekere objecten).

DITA is sinds 2004 een OASIS standaard, oorspronkelijk ontwikkeld door IBM, en staat voor Darwin Information Typing Architecture . De naam Darwin is gebruikt omdat DITA is gebaseerd op het evolueren van informatie-definities door middel van overerving van eigenschappen. DITA definieert informatie als topics, k leine, op zichzelf staande en herbruikbare eenheden, die samengesteld worden tot documenten door middel van maps , een inhoudsopgaven met verwijzingen naar topics. Een nieuw document-type is altijd een specialisatie van topic  of van map , net zoals in object-georiënteerde talen alle klassen specialisaties van object  zijn. DITA biedt dus zowel hergebruik van informatie-definities (DTD's of XSD's) als van de informatie (topics) zelf. Daarnaast biedt DITA de mogelijkheid om, afhankelijk van een uitbreidbare verzameling parameters, de topics op verschillende manieren te verwerken. Hiermee kun je bijvoorbeeld aangeven dat namen altijd geanonimiseerd moeten worden als de uitvoer bestemd is voor de externe website.

DITA biedt de mogelijkheid om eigen specifieke document-typen te definiëren voor onder andere uitspraken en brieven. Deze document-typen blijven volledig binnen de DITA standaard, zodat we gebruik kunnen maken van bestaande software voor DITA. Dit zorgt er ook voor dat de uitwisselbaarheid van documenten met derden gewaarborgd is.

We hebben besloten om het ontwerp voor het nieuwe systeem voor documentproductie te baseren op DITA, omdat de bovengenoemde voordelen niet aanwezig zijn in andere XML standaarden zoals Docbook, TEI of XHTML. Verder is er veel software beschikbaar voor DITA, waaronder WYSIWYG tekstverwerkers en de DITA Open Toolkit voor het publiceren van documenten in diverse formaten.

Ontwikkelen van specialisaties

Om de benodigde document-typen te bepalen, heeft het ontwerpteam een informatie-analyse uitgevoerd. De resultaten hiervan zijn vastgelegd in UML diagrammen, die op een object-georiënteerde wijze de hierarchie van specialisaties weergeven. Bij het omzetten van de UML diagrammen naar XML document-definities (in ons geval DTD's) liepen we tegen een aantal problemen aan. Allereerst zijn UML klasse-diagrammen niet geschikt voor het weergeven van zaken die essentieel zijn voor XML, namelijk mixed-content models  en de volgorde van elementen.

Het werd ons ook duidelijk dat het maken van DITA specialisaties nog nieuw en onvolwassen is. Het is een buitengewoon ingewikkelde en foutgevoelige bezigheid. Specialisatie en overerving zijn nooit een doel geweest van XML, en DITA moet allerlei kunstgrepen uitvoeren om dit op een correcte en uitbreidbare manier mogelijk te maken.

Het maken van de specialisatie-DTD's voor een topic-specialisatie is lastiger dan het maken van een geheel nieuwe DTD. Veel projecten laten het maken van specialisaties daarom achterwege, en gebruiken een van de standaard DITA topic-specialisaties of een nieuwe, niet gespecialiseerde DTD. In beide gevallen mis je daarmee echter de voordelen van hergebruik; Het is dan niet meer mogelijk om, met weinig moeite, per document-type de presentatie in de tekstverwerker en de eigenschappen van documentproductie aan te passen.

Na het handmatig maken van enkele specialisaties besloten we dat dit onpraktisch zou zijn om voor al onze specialisaties te doen, zeker omdat de definities in de loop van het project aan verandering onderhevig waren. In plaats daarvan heeft één van de ontwerpers een 'specialisatie-generator' voor DITA gemaakt. Deze genereert zowel de DITA specialisatie-DTD's als de bijbehorende documentatie (in DITA topics) vanuit een abstracte definitie. Met behulp van de generator zijn alle voor documentproductie gebruikte specialisatie-DTD's (16 in totaal) gegenereerd. Een groot voordeel was dat aanpassingen in de definities konden worden doorgevoerd in de abstracte definitie, en dat met één druk op de knop de DITA specialisatie-DTD's en de documentatie weer actueel waren.

Toepassingen

Als je de specialisatie-DTD's (gegenereerd) hebt, kun je de voordelen van het gebruik van DITA ook werkelijk benutten. In enkele prototypes hebben we laten zien hoe de realisatie van ons ontwerp dat zou kunnen doen.

Om het creëren en onderhouden van documenten door eindgebruikers mogelijk te maken hebben we de XMLmind WYSIWYG tekstverwerker uitgebreid met enkele stylesheets. Dankzij hergebruik konden we met minder dan 200 regels CSS code voor alle document-typen een geschikte vormgeving maken. In het gebruik lijkt deze tekstverwerker op Microsoft Word, terwijl altijd valide XML wordt geproduceerd. In een andere WYSIWYG XML tekstverwerker, het Nederlandse Xopus, hebben we laten zien hoe een auteur met een simpele drag-and-drop  namen van procespartijen in de tekst kan opnemen. Daarbij wordt automatisch structuur en betekenis, in de vorm van de juiste XML elementen, toegevoegd.

Ook voor het maken van de sjablonen waarop standaard-brieven gebaseerd zijn, hebben we de XMLmind tekstverwerker gebruikt. In de sjablonen komen constructies voor zoals variabelen, condities (if) en herhalingen (for-each). De constructies zijn ontworpen als DITA specialisatie, en worden op een voor sjabloonmakers begrijpelijke manier weergegeven in de tekstverwerker, alweer door toepassing van stylesheets. Dit blijkt veel intuïtiever te werken dan formuliervelden in Word met achterliggende VBA code.

Het produceren van documenten met de juiste opmaak is, dankzij specialisaties, ook zeer eenvoudig. Hiervoor hebben we een plugin  met enkele XSL stylesheets toegevoegd aan de DITA Open Toolkit. Deze toolkit is een open source project, en vormt ook de basis van enkele commerciële producten voor documentproductie met DITA. Voor de meeste documentsoorten konden we 90% bestaande code gebruiken, en volstaan met het weglaten van de gegenereerde inhoudsopgave en het aanpassen van lettertypen.

Het topic-based schrijven van documentatie, en het gebruik van specialisaties voor tekstverwerking en documentproductie bleek zo goed te werken, dat we dit al heel snel zijn gaan gebruiken voor het maken van onze eigen ontwerpdocumenten. Zeker in combinatie met het gebruik van een versie-management systeem (subversion) is dit een ideale manier van werken als het projectteam niet altijd op dezelfde locatie zit, en tegelijk aan delen van het ontwerp werkt.

Conclusie

Door toepassing van structuur en betekenis in documenten kunnen computers intelligente bewerkingen en controles uitvoeren op teksten. Het aanbrengen van structuur hoeft auteurs niet te hinderen, maar kan hen juist ondersteunen bij het maken en bewerken van documenten en zo de inhoudelijke kwaliteit van documenten bevorderen. Het verder automatiseren van het proces van publicatie en archivering bevordert de kwaliteit van de vormgeving en presentatie (HTML, PDF).

XML maakt het mogelijk om structuur en betekenis in documenten op te nemen. Om ontwikkelkosten te besparen en de uitwisselbaarheid van documenten te bevorderen, ligt het voor de hand om gebruik te maken van een bestaande XML definitie. DITA blijkt hiervoor het meest geschikt, omdat het faciliteiten biedt om specialisaties te maken voor eigen document-typen gebaseerd op bestaande definities. Bovendien wordt DITA ondersteund door vrijwel alle leveranciers van XML tekstverwerkers en gerelateerde producten.

DITA is in de Nederlandse markt nog vrij onbekend. Daarom biedt de NLDITA 2010 conferentie, op 9 juni in Utrecht, bestaande en toekomstige gebruikers de mogelijkheid kennis en ervaringen uit te wisselen. Deze conferentie is bedoeld voor managers, auteurs, ontwikkelaars, en anderen die zich beroepsmatig bezig houden met documentatie- en publicatieprocessen. Zie  http://www.nldita.nl/ voor meer informatie over deze conferentie.

Dit artikel kwam tot stand in samenwerking met Jan Meijer, oprichter en eigenaar van Importalis en zelfstandig informatie architect en adviseur.
Beide auteurs zijn sprekers op de NLDITA2010 conferentie, 9 juni in Utrecht.

x

Om te kunnen beoordelen moet u ingelogd zijn:

Dit artikel delen:

Stuur dit artikel door

Uw naam ontbreekt
Uw e-mailadres ontbreekt
De naam van de ontvanger ontbreekt
Het e-mailadres van de ontvanger ontbreekt

×
×
article 2010-05-28T15:53:00.000Z Nico Verwer
Wilt u dagelijks op de hoogte worden gehouden van het laatste ict-nieuws, achtergronden en opinie?
Abonneer uzelf op onze gratis nieuwsbrief.