06.09.2013 Views

XML en digitaal archiveren - eDAVID

XML en digitaal archiveren - eDAVID

XML en digitaal archiveren - eDAVID

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

0. Inhoudstafel<br />

1. Inleiding.......................................................................................................................... 1<br />

2. De nood aan <strong>XML</strong>: <strong>XML</strong> vs. HTML <strong>en</strong> SGML. ................................................................................. 2<br />

3. De <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> ...........................................................................................................3<br />

3.1 Sam<strong>en</strong>stelling ............................................................................................................ 3<br />

3.2 Docum<strong>en</strong>tmodellering .................................................................................................. 4<br />

3.3 DTD <strong>en</strong> <strong>XML</strong> Schema..................................................................................................... 6<br />

3.4 Voornaamste syntaxregels ............................................................................................. 8<br />

3.5 Validatie .................................................................................................................. 9<br />

3.6 Eig<strong>en</strong>schapp<strong>en</strong> ..........................................................................................................10<br />

3.7. Opslag <strong>en</strong> terugvind<strong>en</strong> van <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> ......................................................................13<br />

3.7.1 In e<strong>en</strong> bestandssysteem ........................................................................................13<br />

3.7.2 In e<strong>en</strong> databank .................................................................................................13<br />

3.7.2.1 Opslag in e<strong>en</strong> relationele databank.................................................................14<br />

3.7.2.2 Opslag in e<strong>en</strong> object-georiënteerde databank....................................................14<br />

3.7.2.3 Opslag in e<strong>en</strong> native <strong>XML</strong> databank.................................................................14<br />

4. De <strong>XML</strong> familie .................................................................................................................14<br />

5. <strong>XML</strong> voor archiveringstoepassing<strong>en</strong> .........................................................................................16<br />

5.1 <strong>XML</strong> als uitwisselingsformaat .........................................................................................16<br />

5.2 <strong>XML</strong> als archiveringsformaat ..........................................................................................17<br />

5.3 <strong>XML</strong> als metadataformaat .............................................................................................20<br />

5.4 <strong>XML</strong> als inkapselingsformaat ..........................................................................................21<br />

6. Besluit ...........................................................................................................................22<br />

7. Bronn<strong>en</strong> .........................................................................................................................22<br />

1. Inleiding<br />

<strong>XML</strong> (eXt<strong>en</strong>sible Markup Language) is e<strong>en</strong> markuptaal die van bij zijn vastlegging e<strong>en</strong> grote vlucht heeft<br />

g<strong>en</strong>om<strong>en</strong>. <strong>XML</strong> heeft zijn to<strong>en</strong>em<strong>en</strong>de verspreiding in grote mate te dank<strong>en</strong> aan het feit dat het op<br />

uite<strong>en</strong>lop<strong>en</strong>de wijz<strong>en</strong> binn<strong>en</strong> verschill<strong>en</strong>de IT-toepassing<strong>en</strong> bruikbaar is 1 . <strong>XML</strong> is immers meer dan e<strong>en</strong> puur<br />

bestandsformaat. Ondertuss<strong>en</strong> is er rond deze markuptaal op vrij korte tijd al e<strong>en</strong> hele <strong>XML</strong>-technologie<br />

ontstaan.<br />

Eén van de mogelijke toepassingsgebied<strong>en</strong> voor <strong>XML</strong> is digitale archivering. <strong>XML</strong> biedt heel wat<br />

perspectiev<strong>en</strong> voor de archivering van digitale docum<strong>en</strong>t<strong>en</strong> <strong>en</strong> de verwachting<strong>en</strong> zijn binn<strong>en</strong> de archiefwereld<br />

dan ook hoog gespann<strong>en</strong>. Ondanks zijn relatief jonge leeftijd wordt <strong>XML</strong> al in veel richtlijn<strong>en</strong> <strong>en</strong> procedures als<br />

standaard aanbevol<strong>en</strong>.<br />

In deze bijdrage wordt nagegaan hoe <strong>XML</strong> inzetbaar is voor archiveringsdoeleind<strong>en</strong>. Na e<strong>en</strong> algem<strong>en</strong>e<br />

voorstelling van <strong>XML</strong> <strong>en</strong> de gerelateerde technologieën volgt e<strong>en</strong> bespreking van de verschill<strong>en</strong>de manier<strong>en</strong><br />

waarop archiefdi<strong>en</strong>st<strong>en</strong> <strong>XML</strong> kunn<strong>en</strong> gebruik<strong>en</strong> bij de archivering van digitale archiefdocum<strong>en</strong>t<strong>en</strong>. Hierbij wordt<br />

ook aandacht besteed aan de praktische implem<strong>en</strong>tatie <strong>en</strong> wordt verwez<strong>en</strong> naar praktijkvoorbeeld<strong>en</strong> 2 .<br />

1 Voorbeeld<strong>en</strong> van IT-toepassing<strong>en</strong> zijn onder andere: business-to-business, cont<strong>en</strong>t providers, web cont<strong>en</strong>t<br />

managem<strong>en</strong>t, wireless applications, <strong>en</strong>z. <strong>XML</strong> wordt hierin gebruikt voor data uitwisseling tuss<strong>en</strong> verschill<strong>en</strong>de<br />

system<strong>en</strong>, dynamische on the fly transformaties, informatie integratie <strong>en</strong> voor data verdeling in verschill<strong>en</strong>de<br />

format<strong>en</strong>. E<strong>en</strong> overzicht van <strong>XML</strong>-toepassing<strong>en</strong> wordt bijgehoud<strong>en</strong> op http://xml.coverpages.org/<br />

xmlApplications.html<br />

2 De betek<strong>en</strong>is van technische term<strong>en</strong> die niet in deze bijdrage zelf word<strong>en</strong> verklaard, vindt u terug in de<br />

woord<strong>en</strong>lijst op de DAVID-website (http://www.antwerp<strong>en</strong>.be/david → publicaties). Op de DAVID-website zijn<br />

ev<strong>en</strong>e<strong>en</strong>s on line voorbeeld<strong>en</strong> beschikbaar (→ cases).


2. De nood aan <strong>XML</strong>: <strong>XML</strong> vs. HTML <strong>en</strong> SGML<br />

DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

<strong>XML</strong> is e<strong>en</strong> markuptaal. E<strong>en</strong> markuptaal is e<strong>en</strong> technologie voor het structurer<strong>en</strong> van e<strong>en</strong> docum<strong>en</strong>t door<br />

middel van tags. SGML <strong>en</strong> HTML, twee markuptal<strong>en</strong> waarmee <strong>XML</strong> is verwant, war<strong>en</strong> niet geschikt voor e<strong>en</strong><br />

vlotte <strong>en</strong> gebruiksvri<strong>en</strong>delijke uitwisseling van gestructureerde docum<strong>en</strong>t<strong>en</strong> via het web, zodat er e<strong>en</strong> nieuwe<br />

markuptaal werd ontwikkeld 3 .<br />

<strong>XML</strong> is ontstaan uit de sam<strong>en</strong>werking tuss<strong>en</strong> de industriële <strong>en</strong> academische wereld. De computerindustrie<br />

(Sun Microsystems, Hewlett-Packard, Microsoft, Netscape, Adobe, Fuji Xerox) <strong>en</strong> SGML-produc<strong>en</strong>t<strong>en</strong><br />

(ArborText, Inso, SoftQuad, Grif, Isog<strong>en</strong>, Texcel) war<strong>en</strong> van bij de start bij de ontwikkeling betrokk<strong>en</strong>. Later<br />

sprong<strong>en</strong> ook IBM, Oracle <strong>en</strong> Omnimark op de wag<strong>en</strong>. De academische wereld werd verteg<strong>en</strong>woordigd door<br />

onder meer het Text Encoding Initiative (TEI), NCSA <strong>en</strong> James Clark. De ontwikkeling van <strong>XML</strong> startte in 1996.<br />

Twee jaar later werd <strong>XML</strong> als Recomm<strong>en</strong>dation door het W3C vastgelegd.<br />

De <strong>XML</strong>-specificatie definieert e<strong>en</strong> standaard voor het toevoeg<strong>en</strong> van markup aan docum<strong>en</strong>t<strong>en</strong>. De <strong>XML</strong>specificatie<br />

bevat ge<strong>en</strong> vaste set tags met e<strong>en</strong> bepaalde betek<strong>en</strong>is, maar regels voor het sam<strong>en</strong>stell<strong>en</strong> van e<strong>en</strong><br />

<strong>XML</strong>-docum<strong>en</strong>t. <strong>XML</strong> is dus e<strong>en</strong> meta-taal <strong>en</strong> biedt de gebruiker de mogelijkheid om zelf de tags, hun attribut<strong>en</strong><br />

<strong>en</strong> onderlinge relatie te definiër<strong>en</strong>. <strong>XML</strong> verschilt op dit punt fundam<strong>en</strong>teel met HTML. In de HTML-specificatie<br />

ligg<strong>en</strong> zowel de beschikbare tags, hun attribut<strong>en</strong> als hun betek<strong>en</strong>is vast. In HTML kan de gebruiker ge<strong>en</strong> eig<strong>en</strong><br />

tags creër<strong>en</strong> of ge<strong>en</strong> eig<strong>en</strong> betek<strong>en</strong>is aan de tags gev<strong>en</strong> zodat m<strong>en</strong> met HTML-tags e<strong>en</strong> docum<strong>en</strong>t ge<strong>en</strong><br />

gebruikers-gedefinieerde structuur kan gev<strong>en</strong>. Met <strong>XML</strong> stelt de gebruiker als het ware zijn eig<strong>en</strong> lexicon<br />

sam<strong>en</strong>. E<strong>en</strong> ander belangrijk verschilpunt met HTML is de functie van de tags. De HTML-tags zijn in de eerste<br />

plaats op visuele pres<strong>en</strong>tatie gericht. De HTML-tags zegg<strong>en</strong> niets over de inhoud of structuur van de<br />

computerdata. Met andere woord<strong>en</strong>, e<strong>en</strong> HTML-docum<strong>en</strong>t bevat ge<strong>en</strong> echte structuur die op de data zelf is<br />

gebaseerd. In teg<strong>en</strong>stelling tot <strong>XML</strong> is HTML niet data of object georiënteerd. Dit heeft onder meer voor gevolg<br />

dat binn<strong>en</strong> HTML-bronbestand<strong>en</strong> ge<strong>en</strong> gestructureerde <strong>en</strong> semantische zoekopdracht<strong>en</strong> (bijv. maak e<strong>en</strong> lijst<br />

van alle publicaties van auteur x gesorteerd op publicatiedatum) mogelijk zijn, wat e<strong>en</strong> groot nadeel is voor<br />

accurate zoekopdracht<strong>en</strong> op het web. HTML is hierdoor niet geschikt voor informatie uitwisseling of voor<br />

geautomatiseerd gegev<strong>en</strong>sbeheer (opzoek<strong>en</strong>, manipulatie, integratie). Naast de mogelijke versiegebond<strong>en</strong>heid<br />

van tags <strong>en</strong> attribut<strong>en</strong> heeft dit ook voor gevolg dat bij HTML inhoud <strong>en</strong> opmaak niet van elkaar word<strong>en</strong><br />

gescheid<strong>en</strong>.<br />

<strong>XML</strong> is ev<strong>en</strong>min hetzelfde als SGML 4 . Beide markuptal<strong>en</strong> hebb<strong>en</strong> met elkaar geme<strong>en</strong> dat ze word<strong>en</strong> gebruikt<br />

voor dataopslag <strong>en</strong> -uitwisseling <strong>en</strong> dat de gebruiker de docum<strong>en</strong>t<strong>en</strong> zelf gedefinieerde tags <strong>en</strong> structuur kan<br />

gev<strong>en</strong>, maar SGML-docum<strong>en</strong>t<strong>en</strong> zijn ev<strong>en</strong>wel te complex om vlot via het web uit te wissel<strong>en</strong>. SGML vraagt<br />

zware system<strong>en</strong> <strong>en</strong> kan niet gemakkelijk in e<strong>en</strong> webbrowser word<strong>en</strong> geïmplem<strong>en</strong>teerd. SGML wordt bijgevolg<br />

vooral in grote docum<strong>en</strong>tatieproject<strong>en</strong> gebruikt. <strong>XML</strong> is e<strong>en</strong> afgeslankte versie van SGML <strong>en</strong> kan misschi<strong>en</strong> het<br />

best als e<strong>en</strong> application profile van SGML word<strong>en</strong> beschouwd 5 . <strong>XML</strong> is e<strong>en</strong>voudiger dan SGML. <strong>XML</strong> nam van<br />

SGML de mogelijkheid tot id<strong>en</strong>tificatie van informatie, uitbreiding <strong>en</strong> validatie over. In teg<strong>en</strong>stelling tot SGML,<br />

is bij <strong>XML</strong> de aanwezigheid van e<strong>en</strong> DTD niet vereist. E<strong>en</strong> SGML-applicatie is in staat om e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t in<br />

te lez<strong>en</strong>, maar niet omgekeerd.<br />

Het ontstaan van <strong>XML</strong> moet dus teg<strong>en</strong> de achtergrond van informatie-uitwisseling op het Internet word<strong>en</strong><br />

gesitueerd. <strong>XML</strong> was initieel bedoeld om HTML te vervang<strong>en</strong> <strong>en</strong> kreeg de reputatie het nieuwe 'ASCII van het<br />

web' te zijn. <strong>XML</strong> vervult nu al e<strong>en</strong> belangrijke rol op het web, maar ondertuss<strong>en</strong> wordt <strong>XML</strong> ook voor andere<br />

doeleind<strong>en</strong> <strong>en</strong> binn<strong>en</strong> andere toepassing<strong>en</strong> gebruikt. <strong>XML</strong> gaat om digitale informatie in het algeme<strong>en</strong>.<br />

3 Voor e<strong>en</strong> meer gedetailleerde bespreking van HTML <strong>en</strong> SGML, zie: Standaard<strong>en</strong> voor digitale archiefdocum<strong>en</strong>t<strong>en</strong><br />

(http://www.antwerp<strong>en</strong>.be/david onder 'cases' of 'publicaties').<br />

4 Voor e<strong>en</strong> gedetailleerde vergelijking, zie: J. CLARK¸ Comparison of SGML and <strong>XML</strong>, 1997<br />

(http://www.w3.org/TR/NOTE-sgml-xml.html).<br />

5 Dit kan mooi geïllustreerd word<strong>en</strong> aan de hand van de l<strong>en</strong>gte van de specificatie. De SGML-specificatie is meer<br />

dan 600 pagina's lang, terwijl die van <strong>XML</strong> nauwelijks 26 pagina's in beslag neemt.<br />

2


3. De <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong><br />

3.1 Sam<strong>en</strong>stelling<br />

DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

<strong>XML</strong> is e<strong>en</strong> op tekstkarakters gebaseerde markuptaal waarmee de structuur <strong>en</strong> betek<strong>en</strong>is van docum<strong>en</strong>t<strong>en</strong> kan<br />

word<strong>en</strong> vastgelegd. E<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t bestaat uit maximaal drie del<strong>en</strong>: de header, de body <strong>en</strong> de epiloog.<br />

E<strong>en</strong> <strong>XML</strong>-bestand begint met e<strong>en</strong> header of proloog die onder meer de declaratie bevat. De declaratie bevat<br />

minst<strong>en</strong>s het versi<strong>en</strong>ummer van de <strong>XML</strong>-specificatie die bij de creatie van het docum<strong>en</strong>t werd gevolgd.<br />

Optioneel kan m<strong>en</strong> in de header vastlegg<strong>en</strong> welke karaktertabel werd gebruikt <strong>en</strong> of het bestand afhankelijk is<br />

van externe bronn<strong>en</strong> 6 . De declaratie kan ook word<strong>en</strong> uitgebreid met e<strong>en</strong> verwijzing naar e<strong>en</strong> DTD, e<strong>en</strong> <strong>XML</strong><br />

Schema, e<strong>en</strong> stylesheet of de toegepaste namespaces (zie 4. De <strong>XML</strong>-familie).<br />

De <strong>XML</strong>-body begint met het rootelem<strong>en</strong>t <strong>en</strong> wordt afgeslot<strong>en</strong> door de eindtag van het rootelem<strong>en</strong>t. De<br />

body bestaat uit de elem<strong>en</strong>t<strong>en</strong> waaruit het <strong>XML</strong>-docum<strong>en</strong>t is opgebouwd. De elem<strong>en</strong>t<strong>en</strong> (of object<strong>en</strong>) kunn<strong>en</strong><br />

<strong>en</strong>igszins met de gegev<strong>en</strong>sveld<strong>en</strong> van e<strong>en</strong> databank word<strong>en</strong> vergelek<strong>en</strong>. De l<strong>en</strong>gte van e<strong>en</strong> elem<strong>en</strong>t kan<br />

variër<strong>en</strong> van één karakter tot e<strong>en</strong> heel boek. De elem<strong>en</strong>t<strong>en</strong> in e<strong>en</strong> <strong>XML</strong>-bestand word<strong>en</strong> hiërarchisch<br />

gemodelleerd zoals e<strong>en</strong> tree: e<strong>en</strong> elem<strong>en</strong>t kan e<strong>en</strong> onderdeel zijn van e<strong>en</strong> ander elem<strong>en</strong>t (de par<strong>en</strong>t) of uit<br />

andere elem<strong>en</strong>t<strong>en</strong> bestaan (de childs) 7 . Elem<strong>en</strong>t<strong>en</strong> die dezelfde par<strong>en</strong>t hebb<strong>en</strong>, word<strong>en</strong> siblings of sister<br />

elem<strong>en</strong>t<strong>en</strong> g<strong>en</strong>oemd. Het ord<strong>en</strong><strong>en</strong> van de elem<strong>en</strong>t<strong>en</strong> wordt nesting g<strong>en</strong>oemd. Het elem<strong>en</strong>t op het hoogste<br />

niveau is het rootelem<strong>en</strong>t. Het <strong>XML</strong>-rootelem<strong>en</strong>t is ge<strong>en</strong> onderdeel van e<strong>en</strong> ander elem<strong>en</strong>t, maar bevat de<br />

elem<strong>en</strong>t<strong>en</strong> waaruit het <strong>XML</strong>-bestand is opgebouwd. Aan elk elem<strong>en</strong>t kunn<strong>en</strong> attribut<strong>en</strong> word<strong>en</strong> toegek<strong>en</strong>d die<br />

meer informatie verschaff<strong>en</strong> (bijv. ). De elem<strong>en</strong>t<strong>en</strong> word<strong>en</strong> altijd<br />

afgebak<strong>en</strong>d door middel van e<strong>en</strong> begin- <strong>en</strong> e<strong>en</strong> eindtag.<br />

De epiloog is optioneel <strong>en</strong> kan processing instructions, whitespace <strong>en</strong> comm<strong>en</strong>tar<strong>en</strong> bevatt<strong>en</strong>.<br />

Afbeelding1: De opbouw van e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t<br />

6 <strong>en</strong>coding: UTF-8, UTF-16 <strong>en</strong> ISO-8859-1, ISO-10646-UCS-2 of ISO-10646-UCS-4. UTF-8 is de voorgedefinieerde<br />

<strong>en</strong>coding, maw applicaties gaan er van uit dat UTF-8 werd toegepast wanneer ge<strong>en</strong> <strong>en</strong>coding werd gespecifieerd.<br />

standalone="yes": docum<strong>en</strong>t bevat alle <strong>en</strong>titeit declaraties; standalone="no": docum<strong>en</strong>t heeft e<strong>en</strong> externe DTD<br />

nodig.<br />

7 De inhoud van elem<strong>en</strong>t<strong>en</strong> kan mixed, simple, elem<strong>en</strong>t <strong>en</strong> empty zijn.<br />

(mixed cont<strong>en</strong>t: bevat tekst <strong>en</strong> andere elem<strong>en</strong>t<strong>en</strong>; simple: bevat <strong>en</strong>kel tekst; elem<strong>en</strong>t cont<strong>en</strong>t: bevat <strong>en</strong>kel<br />

andere elem<strong>en</strong>t<strong>en</strong>; empty: ge<strong>en</strong> cont<strong>en</strong>t)<br />

3


DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

De markup- <strong>en</strong> inhoudskarakters van e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> bestaan allemaal uit tekstkarakters. <strong>XML</strong><br />

ondersteunt Unicode met uitzondering van e<strong>en</strong> aantal controlekarakters. De tekstkarakters word<strong>en</strong> lineair<br />

opgeslag<strong>en</strong>. Dit betek<strong>en</strong>t niet dat e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t niet de gegev<strong>en</strong>s van e<strong>en</strong> binair bestand kan bevatt<strong>en</strong>.<br />

Het <strong>XML</strong>-docum<strong>en</strong>t kan niet de binaire bitstream zelf bevatt<strong>en</strong> want deze bevat ongeldige karakters. Er zijn<br />

twee method<strong>en</strong> om binaire data in <strong>XML</strong> te bewar<strong>en</strong>: de binaire data word<strong>en</strong> als unparsed <strong>en</strong>titeit<strong>en</strong> (CDATA)<br />

bewaard of er wordt Base64-<strong>en</strong>coding toegepast. Deze laatste oplossing wordt het meest toegepast. Bij<br />

Base64-<strong>en</strong>coding (rfc-1341, rfc-2045 8 ) word<strong>en</strong> de binaire data naar tekstkarakters omgezet. De Base64<br />

standaard gebruikt e<strong>en</strong> 64 ASCII-karaktersubset (A-Z a-z 0-9 +/) om binaire data weer te gev<strong>en</strong> <strong>en</strong> het karakter<br />

"=" voor opvulling. De omzetting van binaire data naar Base64 gebeurt door de applicatie. Op die manier kan de<br />

bitstream van e<strong>en</strong> TIFF-bestand naar tekstkarakters word<strong>en</strong> omgezet <strong>en</strong> opgeslag<strong>en</strong> word<strong>en</strong> in e<strong>en</strong> <strong>XML</strong>bestand.<br />

Om het TIFF-bestand te reconstruer<strong>en</strong> word<strong>en</strong> de tekstkarakters opnieuw naar binaire data omgezet 9 .<br />

De data van e<strong>en</strong> binair bestand in e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t opnem<strong>en</strong>, kan interessant zijn voor gegev<strong>en</strong>suitwisseling<br />

<strong>en</strong>/of -inkapseling.<br />

Alle data in e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t is pure tekst. Strikt g<strong>en</strong>om<strong>en</strong> bevat e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t ook ge<strong>en</strong> andere<br />

datatyp<strong>en</strong> zoals datums <strong>en</strong> integers. Het gebruik van tekstkarakters voor zowel markup als inhoud betek<strong>en</strong>t dat<br />

e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t altijd in e<strong>en</strong> gewone teksteditor kan word<strong>en</strong> geop<strong>en</strong>d <strong>en</strong> dat de karakters altijd leesbaar<br />

zijn. <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> word<strong>en</strong> bijgevolg m<strong>en</strong>selijk leesbaar g<strong>en</strong>oemd.<br />

3.2 Docum<strong>en</strong>tmodellering<br />

Met behulp van apparatuur <strong>en</strong> programmatuur wordt k<strong>en</strong>nis als weergave van de realiteit op e<strong>en</strong> medium<br />

opgeslag<strong>en</strong> in de vorm van bitstreams. Deze bitstreams zijn op zich niets meer dan computerdata die uit<br />

zichzelf ge<strong>en</strong> betek<strong>en</strong>is of context bevatt<strong>en</strong>. Digitale archivering heeft echter niet tot doel bitstreams te<br />

bewar<strong>en</strong>, maar k<strong>en</strong>nis op e<strong>en</strong> digitale wijze in de tijd over te br<strong>en</strong>g<strong>en</strong> zodat de docum<strong>en</strong>t<strong>en</strong> interpreteerbaar<br />

blijv<strong>en</strong>. Rek<strong>en</strong>ing houd<strong>en</strong>de met de technologische veroudering di<strong>en</strong>t de digitale repres<strong>en</strong>tatie van k<strong>en</strong>nis op<br />

e<strong>en</strong> infrastructuur onafhankelijke wijze te gebeur<strong>en</strong>. M<strong>en</strong> kan dit bereik<strong>en</strong> door data- of<br />

docum<strong>en</strong>tmodellering 10 . Dit is de geijkte manier om k<strong>en</strong>nis op basis van computerdata op e<strong>en</strong> m<strong>en</strong>selijk<br />

interpreteerbare wijze te bewar<strong>en</strong>. <strong>XML</strong> biedt de mogelijkheid om docum<strong>en</strong>t<strong>en</strong> te modeller<strong>en</strong>.<br />

Ontstaan in de databankomgeving, is modellering e<strong>en</strong> methode om computerdata aan e<strong>en</strong> vastgelegd<br />

k<strong>en</strong>nismodel te koppel<strong>en</strong>. De bouwst<strong>en</strong><strong>en</strong> van het k<strong>en</strong>nismodel zijn gedefinieerde <strong>en</strong> gerelateerde<br />

computerdata. Door id<strong>en</strong>tificer<strong>en</strong>de <strong>en</strong> karakteriser<strong>en</strong>de informatie aan data toe te voeg<strong>en</strong>, wordt al de<br />

betek<strong>en</strong>is van data duidelijk, maar dit is nog onvoldo<strong>en</strong>de om tot k<strong>en</strong>nis te kom<strong>en</strong>. De informatie moet<br />

hiervoor nog gestructureerd word<strong>en</strong>. Enkel door relaties tuss<strong>en</strong> de informatie vast te legg<strong>en</strong>, komt m<strong>en</strong> tot<br />

k<strong>en</strong>nis. K<strong>en</strong>nis is met andere woord<strong>en</strong> gestructureerde informatie. Modellering is niet alle<strong>en</strong> noodzakelijk om in<br />

de toekomst k<strong>en</strong>nis uit data te reconstruer<strong>en</strong>, maar zorgt er ook voor dat bij uitwisseling onduidelijkhed<strong>en</strong> <strong>en</strong><br />

misverstand<strong>en</strong> word<strong>en</strong> vermed<strong>en</strong> 11 .<br />

Het datamodelleringsproces van docum<strong>en</strong>t<strong>en</strong> kan m<strong>en</strong> in verschill<strong>en</strong>de stapp<strong>en</strong> opsplits<strong>en</strong>: 1. het b<strong>en</strong>oem<strong>en</strong><br />

van de data, 2. de id<strong>en</strong>tificatie <strong>en</strong> definiëring van de data door ze in e<strong>en</strong> classificatieschema te giet<strong>en</strong>, 3. het<br />

vastlegg<strong>en</strong> van de relaties tuss<strong>en</strong> de data, 4. het bepal<strong>en</strong> van de eig<strong>en</strong>schapp<strong>en</strong> van de data. Het resultaat van<br />

dit proces is e<strong>en</strong> k<strong>en</strong>nismodel, waar de computerdata word<strong>en</strong> ingepast bij de creatie van docum<strong>en</strong>t<strong>en</strong>. Het<br />

ontwerp<strong>en</strong> van docum<strong>en</strong>t<strong>en</strong> is bijgevolg e<strong>en</strong> vertaling van het k<strong>en</strong>nismodel naar e<strong>en</strong> geheel van regels die bij<br />

de creatie word<strong>en</strong> gevolgd.<br />

De kern van het <strong>XML</strong>-mechanisme voor het modeller<strong>en</strong> van docum<strong>en</strong>t<strong>en</strong> is het toevoeg<strong>en</strong> van semantische<br />

tags aan data (bitstreams) <strong>en</strong> de nesting van elem<strong>en</strong>t<strong>en</strong>. De dataobject<strong>en</strong> kom<strong>en</strong> overe<strong>en</strong> met de inhoud van<br />

8 Groep<strong>en</strong> van 3 binaire octett<strong>en</strong> word<strong>en</strong> hierbij omgezet naar vier tekstkarakters, waarbij elk tekstkarakter 6 bits<br />

van de oorspronkelijke 24 bits voorstelt. Volg<strong>en</strong>s de MIME-specificatie is de lijnl<strong>en</strong>gte beperkt tot 76 karakters,<br />

maar dit geld niet binn<strong>en</strong> e<strong>en</strong> <strong>XML</strong> docum<strong>en</strong>t.<br />

9 Dit houdt niet in dat het voor archiveringsdoeleind<strong>en</strong> e<strong>en</strong> goede optie is om om het ev<strong>en</strong> welk biniar formaat in<br />

e<strong>en</strong> <strong>XML</strong>-bestand te bewar<strong>en</strong>. M<strong>en</strong> di<strong>en</strong>t altijd nog over e<strong>en</strong> applicatie te beschikk<strong>en</strong> om het binair bestand te<br />

kunn<strong>en</strong> lez<strong>en</strong>.<br />

10 Binn<strong>en</strong> de IT wordt hiervoor soms ook de term "informatiemodellering" gebruikt.<br />

11 R.W. MOORE, The preservation of data, information and knowledge, 2001.<br />

4


DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

de elem<strong>en</strong>t<strong>en</strong> waaruit e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t is opgebouwd. Door semantische tags aan de elem<strong>en</strong>t<strong>en</strong> toe te<br />

k<strong>en</strong>n<strong>en</strong>, word<strong>en</strong> de logische compon<strong>en</strong>t<strong>en</strong> van e<strong>en</strong> docum<strong>en</strong>t geïd<strong>en</strong>tificeerd <strong>en</strong> krijg<strong>en</strong> ze betek<strong>en</strong>is. De data<br />

"01012000" bijvoorbeeld kunn<strong>en</strong> van alles betek<strong>en</strong><strong>en</strong>. Door de tags er aan toe te<br />

voeg<strong>en</strong> krijgt deze cijferreeks echter betek<strong>en</strong>is. De tags kunn<strong>en</strong> beschouwd word<strong>en</strong> als attribut<strong>en</strong> <strong>en</strong> bevatt<strong>en</strong><br />

informatie over de data waardoor interpretatie mogelijk wordt. De nesting van de elem<strong>en</strong>t<strong>en</strong> weerspiegelt de<br />

relatie tuss<strong>en</strong> de informatiecompon<strong>en</strong>t<strong>en</strong> van het docum<strong>en</strong>t. Aan de tags kunn<strong>en</strong> attribut<strong>en</strong> word<strong>en</strong> toegek<strong>en</strong>d.<br />

De attribut<strong>en</strong> gev<strong>en</strong> aanvull<strong>en</strong>de informatie over de inhoud van de tag of over de tag zelf. De keuze van tags<br />

<strong>en</strong> attribut<strong>en</strong> is volledig vrij zodat de gebruiker ze volledig kan afstemm<strong>en</strong> op de docum<strong>en</strong>tvereist<strong>en</strong>.<br />

Afbeelding 2: E<strong>en</strong> hiërarchische boomstructuur in e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t gegot<strong>en</strong>.<br />

Het toevoeg<strong>en</strong> van tags (tagging) is e<strong>en</strong> heel belangrijke stap in het modeller<strong>en</strong> van e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t. De<br />

functie van tagging gaat bij docum<strong>en</strong>tmodellering e<strong>en</strong> stap verder dan louter het annoter<strong>en</strong> van docum<strong>en</strong>t<strong>en</strong><br />

waarbij informatie aan de computerdata wordt toegevoegd <strong>en</strong> ze betek<strong>en</strong>is krijg<strong>en</strong>. Door de elem<strong>en</strong>t<strong>en</strong> te<br />

nest<strong>en</strong> of te structurer<strong>en</strong> word<strong>en</strong> ze gerelateerd aan e<strong>en</strong> vastgelegd k<strong>en</strong>nismodel. Het resultaat in <strong>XML</strong> is dan<br />

hiërarchisch gestructureerde informatie. Beide stapp<strong>en</strong> vorm<strong>en</strong> de basis van het gebruik van tags binn<strong>en</strong> e<strong>en</strong><br />

<strong>XML</strong>-docum<strong>en</strong>t. Dit neemt niet weg dat de <strong>XML</strong>-tags nog tal van andere voordel<strong>en</strong> oplever<strong>en</strong>:<br />

− onderscheid<strong>en</strong> als unieke delimeters de verschill<strong>en</strong>de atom<strong>en</strong> van het bestand.<br />

− id<strong>en</strong>tificer<strong>en</strong> of beschrijv<strong>en</strong> de informatie waarvan zij de <strong>en</strong>velop zijn. De tags label<strong>en</strong> als het ware de<br />

gegev<strong>en</strong>sveld<strong>en</strong> van e<strong>en</strong> docum<strong>en</strong>t <strong>en</strong> verschaff<strong>en</strong> informatie over de betek<strong>en</strong>is <strong>en</strong> ev<strong>en</strong>tueel het<br />

datatype. Voor de betek<strong>en</strong>is van bepaalde data is m<strong>en</strong> niet meer afhankelijk van externe<br />

docum<strong>en</strong>tatie.<br />

− voeg<strong>en</strong> sam<strong>en</strong> met hun attribut<strong>en</strong> semantiek toe aan de computerdata<br />

− lat<strong>en</strong> nesting van de docum<strong>en</strong>tcompon<strong>en</strong>t<strong>en</strong> toe <strong>en</strong> weerspiegel<strong>en</strong> de structuur<br />

− mak<strong>en</strong> krachtige <strong>en</strong> gestructureerde zoekopdracht<strong>en</strong> mogelijk, met meer accurate zoekresultat<strong>en</strong> als<br />

gevolg.<br />

− lat<strong>en</strong> sorteeracties toe<br />

− zorg<strong>en</strong> ervoor dat computers gemakkelijk <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> kunn<strong>en</strong> verwerk<strong>en</strong> <strong>en</strong> interpreter<strong>en</strong>. In<br />

<strong>XML</strong>-applicaties is vastgelegd hoe bepaalde tags <strong>en</strong> hun inhoud word<strong>en</strong> verwerkt.<br />

− functioner<strong>en</strong> als nodes (bijv. adresboek/contactpersoon/adres/straat) binn<strong>en</strong> de <strong>XML</strong>-structuur <strong>en</strong><br />

gev<strong>en</strong> toegang tot de data voor raadpleging <strong>en</strong>/of manipulatie op basis van scripting teg<strong>en</strong> de nodes.<br />

− zijn de primaire instrum<strong>en</strong>t<strong>en</strong> voor het begrijp<strong>en</strong> <strong>en</strong> beher<strong>en</strong> van docum<strong>en</strong>t<strong>en</strong>. Docum<strong>en</strong>t<strong>en</strong> hoev<strong>en</strong><br />

hierdoor ge<strong>en</strong> specifieke headers of applicatiespecifieke karakters te bevatt<strong>en</strong>.<br />

5


DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

Met het oog op digitale archivering levert docum<strong>en</strong>tmodellering e<strong>en</strong> aantal interessante voordel<strong>en</strong> op. Bij<br />

<strong>XML</strong> staat het docum<strong>en</strong>t zelf <strong>en</strong> de organisatie van de data c<strong>en</strong>traal, <strong>en</strong> niet de applicatie die de data<br />

verwerkt. Met <strong>XML</strong> kan de wijze van dataopslag in principe volledig word<strong>en</strong> bepaald door de aard <strong>en</strong> de<br />

vereist<strong>en</strong> van de data, het type archiefdocum<strong>en</strong>t of het docum<strong>en</strong>tmodel zelf. In e<strong>en</strong> gewone desktopomgeving<br />

zijn het overweg<strong>en</strong>d de applicaties die de wijze van dataopslag bepal<strong>en</strong>.<br />

Het toepass<strong>en</strong> van e<strong>en</strong> docum<strong>en</strong>tmodel bij creatie, ev<strong>en</strong>tueel in combinatie met e<strong>en</strong> DTD of <strong>XML</strong> Schema,<br />

biedt mogelijkhed<strong>en</strong> op het vlak van kwaliteitscontrole <strong>en</strong> -handhaving. Hierdoor kan van de gebruiker e<strong>en</strong><br />

vaste structuur bij bepaalde types archiefdocum<strong>en</strong>t<strong>en</strong> afgedwong<strong>en</strong> word<strong>en</strong>. Het biedt de archivaris ev<strong>en</strong>e<strong>en</strong>s<br />

de kans om van bij de creatie de archiefvorming te begeleid<strong>en</strong>. Docum<strong>en</strong>tmodellering speelt ook e<strong>en</strong><br />

belangrijke rol bij het archiver<strong>en</strong> van hetzelfde type archiefdocum<strong>en</strong>t afkomstig van verschill<strong>en</strong>de platform<strong>en</strong><br />

of informatiesystem<strong>en</strong>. Op die manier kan m<strong>en</strong> per type archiefdocum<strong>en</strong>t één docum<strong>en</strong>tmodel vastlegg<strong>en</strong> <strong>en</strong><br />

toepass<strong>en</strong> bij opname in het <strong>digitaal</strong> archief zodat er uniformiteit is. Zo vermijdt m<strong>en</strong> de aanwezigheid van<br />

verschill<strong>en</strong>de docum<strong>en</strong>tmodell<strong>en</strong> voor hetzelfde type archiefdocum<strong>en</strong>t. E<strong>en</strong> praktische toepassing is<br />

bijvoorbeeld het vastlegg<strong>en</strong> van één docum<strong>en</strong>tmodel voor e-mails dat bij archivering wordt gevolgd, ongeacht<br />

de applicatie waarbinn<strong>en</strong> de e-mails werd<strong>en</strong> opgemaakt of ontvang<strong>en</strong>.<br />

Door e<strong>en</strong> docum<strong>en</strong>tmodel toe te pass<strong>en</strong> wordt in het <strong>XML</strong>-docum<strong>en</strong>t meer dan alle<strong>en</strong> maar de data<br />

bewaard. Naast de inhoud bevat e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t ook de structuur op e<strong>en</strong> expliciete wijze. Dit levert e<strong>en</strong><br />

belangrijk verschil op met bijvoorbeeld door komma's gescheid<strong>en</strong> tekstbestand<strong>en</strong>. Het vastlegg<strong>en</strong> van relaties<br />

door middel van nesting is binn<strong>en</strong> door komma's gescheid<strong>en</strong> bestand<strong>en</strong> niet mogelijk. Het derde compon<strong>en</strong>t van<br />

e<strong>en</strong> traditioneel docum<strong>en</strong>t, de pres<strong>en</strong>tatie, word<strong>en</strong> doorgaans in e<strong>en</strong> afzonderlijke stylesheet bewaard 12 (zie:<br />

3. De <strong>XML</strong>-familie). De opmaakgegev<strong>en</strong>s word<strong>en</strong> niet in het <strong>XML</strong>-docum<strong>en</strong>t bewaard, maar dit levert het<br />

voordeel op dat <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> technologie-onafhankelijk zijn. T<strong>en</strong>slotte zorgt de nesting van semantische<br />

tags er ook voor dat het <strong>XML</strong>-docum<strong>en</strong>t zelf informatie <strong>en</strong> k<strong>en</strong>nis (contextuele informatie) bevat die nodig is<br />

om achteraf te archiefdocum<strong>en</strong>t<strong>en</strong> te begrijp<strong>en</strong>.<br />

3.3 DTD <strong>en</strong> <strong>XML</strong> Schema<br />

De <strong>XML</strong>-syntax laat de gebruiker toe e<strong>en</strong> eig<strong>en</strong> docum<strong>en</strong>tmodel te ontwikkel<strong>en</strong> met zelf gekoz<strong>en</strong> elem<strong>en</strong>t<strong>en</strong>,<br />

attribut<strong>en</strong> <strong>en</strong> structuur. Dit docum<strong>en</strong>tmodel is eig<strong>en</strong>lijk e<strong>en</strong> verdere verfijning van de <strong>XML</strong>-specificatie waarbij<br />

e<strong>en</strong> eig<strong>en</strong> lexicon voor e<strong>en</strong> (type-)docum<strong>en</strong>t wordt sam<strong>en</strong>gesteld. Het documem<strong>en</strong>tmodel bevat bijkom<strong>en</strong>de<br />

regels die naast de algem<strong>en</strong>e <strong>XML</strong>-syntaxregels bij docum<strong>en</strong>tcreatie word<strong>en</strong> gevolgd. Het model van e<strong>en</strong> <strong>XML</strong>docum<strong>en</strong>t<br />

kan formeel word<strong>en</strong> vastgelegd in e<strong>en</strong> Docum<strong>en</strong>t Type Definition (DTD) of e<strong>en</strong> <strong>XML</strong> Schema. E<strong>en</strong> DTD<br />

<strong>en</strong>/of e<strong>en</strong> <strong>XML</strong> Schema docum<strong>en</strong>ter<strong>en</strong> het docum<strong>en</strong>tmodel, kunn<strong>en</strong> naar de ontvang<strong>en</strong>de computer of de<br />

gebruiker word<strong>en</strong> gecommuniceerd <strong>en</strong> zijn bruikbaar als controlemiddel.<br />

De <strong>XML</strong>-specificatie 1.0 nam de mogelijkheid om DTD's sam<strong>en</strong> te stell<strong>en</strong> over van SGML. DTD's zijn bijgevolg<br />

nog sterk docum<strong>en</strong>tgericht <strong>en</strong> word<strong>en</strong> zelf niet volg<strong>en</strong>s de <strong>XML</strong>-syntax opgesteld. In e<strong>en</strong> DTD word<strong>en</strong> de<br />

elem<strong>en</strong>t<strong>en</strong> met hun attribut<strong>en</strong>, sam<strong>en</strong>stelling, relatie <strong>en</strong> frequ<strong>en</strong>tie gedefinieerd. Dit komt in grote mate neer<br />

op de structuur <strong>en</strong> de nesting van het docum<strong>en</strong>t. Met e<strong>en</strong> DTD kan dus <strong>en</strong>kel gecontroleerd word<strong>en</strong> of de juiste<br />

tags <strong>en</strong> de correcte nesting word<strong>en</strong> gecontroleerd. In beperkte mate kan e<strong>en</strong> DTD de frequ<strong>en</strong>tie van de<br />

elem<strong>en</strong>t<strong>en</strong> definiër<strong>en</strong> <strong>en</strong> verifiër<strong>en</strong>.<br />

<strong>XML</strong> Schema's zijn in vergelijking met DTD's niet zuiver op docum<strong>en</strong>t<strong>en</strong> gericht, maar bied<strong>en</strong> ook e<strong>en</strong> aantal<br />

mogelijkhed<strong>en</strong> die werd<strong>en</strong> overg<strong>en</strong>om<strong>en</strong> uit de databankwereld. In teg<strong>en</strong>stelling tot DTD's bied<strong>en</strong> <strong>XML</strong> Schemas<br />

wel de mogelijkheid om het datatype, de veldl<strong>en</strong>gtes, de exacte minumum- <strong>en</strong> maximumfrequ<strong>en</strong>tie van de<br />

elem<strong>en</strong>t<strong>en</strong> te definiër<strong>en</strong>. Met <strong>XML</strong> Schema's kunn<strong>en</strong> er beperking<strong>en</strong> op de geldige invoermogelijkhed<strong>en</strong> word<strong>en</strong><br />

opgelegd, zodat bij de creatie al kwaliteitscontrole mogelijk is. <strong>XML</strong> Schema is gebaseerd op de <strong>XML</strong>-syntax <strong>en</strong><br />

ondersteunt namespaces (zie 4. De <strong>XML</strong>-familie).<br />

12 Het is ev<strong>en</strong>e<strong>en</strong>s mogelijk om met behulp van e<strong>en</strong> stylesheet semantiek aan <strong>XML</strong>-data toe te k<strong>en</strong>n<strong>en</strong>, maar<br />

hierdoor verliest het <strong>XML</strong>-docum<strong>en</strong>t e<strong>en</strong> stukje onafhankelijkheid <strong>en</strong> wordt niet optimaal gebruik gemaakt van<br />

zijn zelfbeschrijv<strong>en</strong>de mogelijkhed<strong>en</strong>.<br />

6


DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

De functie van e<strong>en</strong> DTD of <strong>XML</strong> Schema kan met die van e<strong>en</strong> dataschema van databank<strong>en</strong> word<strong>en</strong><br />

vergelek<strong>en</strong>. De DTD of <strong>XML</strong> Schema bevat de definitie van alle mogelijke geldige docum<strong>en</strong>t<strong>en</strong> of legt vast<br />

welke beperking<strong>en</strong> er geld<strong>en</strong>, wat de voorgedefinieerde waard<strong>en</strong> zijn, <strong>en</strong>z. E<strong>en</strong> DTD of e<strong>en</strong> XLM Schema<br />

docum<strong>en</strong>teert ev<strong>en</strong>e<strong>en</strong>s het <strong>XML</strong>-docum<strong>en</strong>t. Ze verschaff<strong>en</strong> expliciete informatie over de betek<strong>en</strong>is, het<br />

gebruik <strong>en</strong> de functie van de elem<strong>en</strong>t<strong>en</strong> zodat auteur <strong>en</strong> lezer hetzelfde begrijp<strong>en</strong>.<br />

E<strong>en</strong> DTD of e<strong>en</strong> <strong>XML</strong> Schema communiceert meta-informatie over het docum<strong>en</strong>t naar de parser 13 . Die metainformatie<br />

bevat onder andere de volgorde <strong>en</strong> de nesting van de tags, de attribuutwaard<strong>en</strong>, de datatyp<strong>en</strong> <strong>en</strong><br />

standaardwaard<strong>en</strong> van de elem<strong>en</strong>t<strong>en</strong>, de nam<strong>en</strong> van externe bestand<strong>en</strong> waarnaar wordt verwez<strong>en</strong> <strong>en</strong> de<br />

<strong>en</strong>titeit<strong>en</strong> in het bestand.<br />

Het opstell<strong>en</strong> van e<strong>en</strong> DTD of e<strong>en</strong> <strong>XML</strong> Schema komt in grote mate neer op het sam<strong>en</strong>stell<strong>en</strong> van het<br />

docum<strong>en</strong>tmodel of prototype. Door vervolg<strong>en</strong>s tags aan het archiefdocum<strong>en</strong>t toe te voeg<strong>en</strong> wordt als het ware<br />

het archiefdocum<strong>en</strong>t gemodelleerd aan de DTD of het <strong>XML</strong> Schema <strong>en</strong> wordt het docum<strong>en</strong>tmodel toegepast.<br />

DTD voor adresboek.xml<br />

Tabel 1: DTD vergelek<strong>en</strong> met <strong>XML</strong> Schema.<br />

DTD <strong>XML</strong> Schema<br />

ALGEMEEN<br />

syntax Ext<strong>en</strong>ded Backus Naur<br />

Form (EBNF)<br />

<strong>XML</strong><br />

ondersteuning<br />

namespaces<br />

nee ja<br />

uitbreidbaar nee ja<br />

overerving nee ja<br />

oriëntatie docum<strong>en</strong>t<strong>en</strong> docum<strong>en</strong>t<strong>en</strong> - data<br />

object georiënteerd<br />

opslagplaats tov <strong>XML</strong>docum<strong>en</strong>t<br />

VALIDATIEFUNCTIES<br />

intern/extern intern/extern<br />

structuur<br />

archiefdocum<strong>en</strong>t<br />

ja ja<br />

correcte tags ja ja<br />

nesting tags ja ja<br />

datatyp<strong>en</strong> nee ja<br />

veldl<strong>en</strong>gtes nee ja<br />

frequ<strong>en</strong>tie elem<strong>en</strong>t<strong>en</strong> beperkt ja<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

13 pars<strong>en</strong>: ontled<strong>en</strong> van de structuur van e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t<br />

7


<strong>XML</strong> Schema voor adresboek.xml<br />

DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

3.4 Voornaamste syntaxregels<br />

De voornaamste <strong>XML</strong>-regels zijn:<br />

− elk <strong>XML</strong>-bestand moet één basis <strong>XML</strong>-elem<strong>en</strong>t (het root elem<strong>en</strong>t of het docum<strong>en</strong>t elem<strong>en</strong>t) bevatt<strong>en</strong>.<br />

Alle andere <strong>XML</strong>-elem<strong>en</strong>t<strong>en</strong> van het docum<strong>en</strong>t<strong>en</strong> word<strong>en</strong> g<strong>en</strong>est binn<strong>en</strong> dit basiselem<strong>en</strong>t. E<strong>en</strong> <strong>XML</strong>docum<strong>en</strong>t<br />

kan slechts één rootelem<strong>en</strong>t bevatt<strong>en</strong>.<br />

− <strong>XML</strong>-tags omring<strong>en</strong> de elem<strong>en</strong>t<strong>en</strong>. De tags beginn<strong>en</strong> met het karakter < <strong>en</strong> eindig<strong>en</strong> met >. Elk<br />

elem<strong>en</strong>t heeft e<strong>en</strong> begin- <strong>en</strong> e<strong>en</strong> eindtag. E<strong>en</strong> elem<strong>en</strong>ttag bestaat uit . De<br />

elem<strong>en</strong>tnaam van begin- <strong>en</strong> eindtag is id<strong>en</strong>tiek. De eindtag onderscheidt zich van de begintag door de<br />

toevoeging van e<strong>en</strong> schuine streep voor de elem<strong>en</strong>tnaam (bijv. ).<br />

o ge<strong>en</strong> beperking op de l<strong>en</strong>gte van de tagnam<strong>en</strong><br />

o geldige karakters voor elem<strong>en</strong>tnam<strong>en</strong>:<br />

8


DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

alle letters, alle cijfers <strong>en</strong> de volg<strong>en</strong>de leestek<strong>en</strong>s: dubbelpunt, onderstreep, koppeltek<strong>en</strong><br />

<strong>en</strong> punt.<br />

beperking<strong>en</strong>: spaties zijn niet toegat<strong>en</strong>. Tagnam<strong>en</strong> mog<strong>en</strong> <strong>en</strong>kel met e<strong>en</strong> karakter,<br />

onderstreep of dubbelpunt beginn<strong>en</strong> (niet met e<strong>en</strong> cijfer, leestek<strong>en</strong> of "xml" beginn<strong>en</strong>).<br />

− de tags moet<strong>en</strong> in correcte volgorde word<strong>en</strong> afgeslot<strong>en</strong>. Er is ge<strong>en</strong> beperking op de tagniveaus of<br />

structuurdiepte van het docum<strong>en</strong>t<br />

− e<strong>en</strong> aantal tekstkarakters zijn gereserveerd voor markupdoeleind<strong>en</strong> <strong>en</strong> kunn<strong>en</strong> niet als<br />

inhoudskarakter word<strong>en</strong> gebruikt. Deze karakters word<strong>en</strong> in de cont<strong>en</strong>t van het <strong>XML</strong>-bestand<br />

vervang<strong>en</strong> door <strong>en</strong>titeit<strong>en</strong>.<br />

Tekstkarakter Entiteit<br />

< &lt;<br />

> &gt;<br />

& &amp;<br />

" &quot;<br />

' &apos;<br />

− <strong>XML</strong> is hoofdlettergevoelig: respecteer het onderscheid tuss<strong>en</strong> hoofd- <strong>en</strong> kleine letters<br />

− de attribuutwaard<strong>en</strong> staan tuss<strong>en</strong> aanhalingstek<strong>en</strong>s.<br />

3.5 Validatie<br />

De <strong>XML</strong>-specificatie 1.0 schrijft voor dat elk <strong>XML</strong>-docum<strong>en</strong>t de <strong>XML</strong>-syntaxregels van de Recomm<strong>en</strong>dation moet<br />

respecter<strong>en</strong>. E<strong>en</strong> docum<strong>en</strong>t dat hieraan voldoet, is well-formed. Elk <strong>XML</strong>-docum<strong>en</strong>t is dus per definitie wellformed.<br />

E<strong>en</strong> docum<strong>en</strong>t dat zondigt teg<strong>en</strong> één van de syntaxregels is ge<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t.<br />

De <strong>XML</strong>-specificatie voorziet ook nog e<strong>en</strong> tweede categorie <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong>: de geldige of valid <strong>XML</strong>docum<strong>en</strong>t<strong>en</strong>.<br />

Deze docum<strong>en</strong>t<strong>en</strong> zijn niet alle<strong>en</strong> well-formed, maar zijn ev<strong>en</strong>e<strong>en</strong>s volg<strong>en</strong>s e<strong>en</strong> bepaalde DTD of<br />

<strong>XML</strong> Schema opgesteld. Valid <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> voldo<strong>en</strong> dus niet alle<strong>en</strong> aan de algem<strong>en</strong>e <strong>XML</strong>-syntaxregels,<br />

maar beantwoord<strong>en</strong> ook aan het docum<strong>en</strong>tmodel dat in e<strong>en</strong> DTD of <strong>XML</strong> Schema is gedefinieerd.<br />

Voor de validering van <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> wordt e<strong>en</strong> validating <strong>XML</strong>-processor of -parser ingeschakeld. <strong>XML</strong>applicaties<br />

werk<strong>en</strong> doorgaans niet rechtstreeks op de docum<strong>en</strong>t<strong>en</strong>, maar via e<strong>en</strong> parser die h<strong>en</strong> toegang<br />

verschaft tot de inhoud <strong>en</strong> de structuur. E<strong>en</strong> parser ontleedt e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t <strong>en</strong> controleert of het<br />

docum<strong>en</strong>t conform e<strong>en</strong> bepaald docum<strong>en</strong>tmodel is opgesteld. Validatie op basis van e<strong>en</strong> <strong>XML</strong> Schema is<br />

krachtiger dan op basis van e<strong>en</strong> DTD. E<strong>en</strong> non-validating parser controleert het <strong>XML</strong>-docum<strong>en</strong>t <strong>en</strong>kel op wellformedness.<br />

9


3.6 Eig<strong>en</strong>schapp<strong>en</strong><br />

DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

De lijst met eig<strong>en</strong>schapp<strong>en</strong> van <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> is vrij uitgebreid. Hier word<strong>en</strong> in de eerste plaats de<br />

eig<strong>en</strong>schapp<strong>en</strong> beschrev<strong>en</strong> die <strong>XML</strong> geschikt mak<strong>en</strong> voor toepassing bij digitale archivering.<br />

<strong>XML</strong>:<br />

… is het resultaat van e<strong>en</strong> standaardiseringsproces <strong>en</strong> heeft de status van publieke defacto<br />

standaard 14<br />

<strong>XML</strong> werd op 10 februari 1998 als Recomm<strong>en</strong>dation van het W3C (World Wide Web Consortium)<br />

gepubliceerd. E<strong>en</strong> tweede editie van de specificatie <strong>XML</strong> 1.0 versche<strong>en</strong> op 6 oktober 2000. De<br />

tweede editie is de coördinatie van de eerste editie <strong>en</strong> de erratalijst. Versie 1.1 zit mom<strong>en</strong>teel in<br />

het stadium van working draft (versie van 25 april 2002). Het W3C is e<strong>en</strong> consortium dat zich bezig<br />

houdt met standaardisatie voor het web. Het W3C is ge<strong>en</strong> officiële standaardiseringsinstantie. De<br />

W3C Recomm<strong>en</strong>dations word<strong>en</strong> gepubliceerd <strong>en</strong> zijn vrij <strong>en</strong> gratis beschikbaar. E<strong>en</strong> specificatie<br />

doorloopt e<strong>en</strong> heel traject alvor<strong>en</strong>s het e<strong>en</strong> W3C Recomm<strong>en</strong>dation wordt: working draft → last call<br />

working draft → candidate recomm<strong>en</strong>dation → proposed recomm<strong>en</strong>dation → recomm<strong>en</strong>dation. De<br />

ope<strong>en</strong>volg<strong>en</strong>de stadia zijn gekoppeld aan adviez<strong>en</strong>, comm<strong>en</strong>tar<strong>en</strong> <strong>en</strong> goedkeuring<strong>en</strong> van andere W3C<br />

werkgroep<strong>en</strong>, het W3C team, de led<strong>en</strong> <strong>en</strong> het publiek. Substantiële wijziging<strong>en</strong> aan e<strong>en</strong><br />

Recomm<strong>en</strong>dation moet<strong>en</strong> het hele creatieproces (publieke comm<strong>en</strong>tar<strong>en</strong>, adviez<strong>en</strong> <strong>en</strong><br />

goedkeuring<strong>en</strong> inbegrep<strong>en</strong>) van e<strong>en</strong> Recomm<strong>en</strong>dation doorlop<strong>en</strong> 15 . Eén van de doelstelling<strong>en</strong> bij het<br />

ontwerp van <strong>XML</strong> was compatibiliteit met SGML. SGML werd in 1986 e<strong>en</strong> officiële ISO-standaard (ISO-<br />

8879). SGML-applicaties moet<strong>en</strong> in staat zijn om <strong>XML</strong>-bestand<strong>en</strong> in te lez<strong>en</strong>.<br />

… is uitbreidbaar<br />

<strong>XML</strong> is e<strong>en</strong> metataal waardoor het mogelijk is dat elke gebruiker zijn eig<strong>en</strong> <strong>XML</strong>-lexicon creëert.<br />

… is platformonafhankelijk<br />

<strong>XML</strong>-bestand<strong>en</strong> kunn<strong>en</strong> tuss<strong>en</strong> diverse computerplatform<strong>en</strong> word<strong>en</strong> uitgewisseld.<br />

… is softwareonafhankelijk<br />

<strong>XML</strong>-bestand<strong>en</strong> zijn niet gebond<strong>en</strong> aan één bepaalde computerapplicatie of versie voor creatie,<br />

raadpleging of editer<strong>en</strong>.<br />

… is vrij van pat<strong>en</strong>trecht<strong>en</strong><br />

<strong>XML</strong> is niet het eig<strong>en</strong>dom van één bepaalde produc<strong>en</strong>t. Niemand kan zich de eig<strong>en</strong>aar van <strong>XML</strong><br />

noem<strong>en</strong> of op eig<strong>en</strong> initiatief de <strong>XML</strong>-specificatie wijzig<strong>en</strong>.<br />

… is niet zo versiegebond<strong>en</strong> zoals andere markuptal<strong>en</strong><br />

De gebruiker definieert zijn eig<strong>en</strong> tags <strong>en</strong> attribut<strong>en</strong>. De tags <strong>en</strong> attribut<strong>en</strong> kunn<strong>en</strong> bijgevolg niet<br />

verouderd rak<strong>en</strong> bij versieverandering<strong>en</strong>.<br />

14 Het DLM-forum onderscheidde in 1997 drie niveaus van standaard<strong>en</strong>: 1. defacto standaard<strong>en</strong>, 2. publiek<br />

beschikbare specificatie, 3. juridische standaard<strong>en</strong>. Volg<strong>en</strong>s deze indeling zit <strong>XML</strong> in de tweede groep. (Guidelines<br />

on best practices for using electronic information, p. 50).<br />

15 http://www.w3c.org/About the World Wide Web Consortium (W3C).htm ; http://www.w3c.org/5 Technical<br />

Reports.htm<br />

10


… is transformeerbaar<br />

DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

Bij output kunn<strong>en</strong> de <strong>XML</strong>-data in e<strong>en</strong> andere structuur <strong>en</strong> in om het ev<strong>en</strong> welk outputformaat<br />

word<strong>en</strong> getoond.<br />

De structuur van de opgeslag<strong>en</strong> data hoeft niet noodzakelijker wijze gevolgd te word<strong>en</strong> bij output.<br />

Voor de transformatie is e<strong>en</strong> stylesheet (HTML: XSL(T); PDF: XSL:FO) of JAVA nodig. Bij de<br />

transformatie kunn<strong>en</strong> ook verschill<strong>en</strong>de acties word<strong>en</strong> uitgevoerd: verplaats<strong>en</strong> van de<br />

tekstelem<strong>en</strong>t<strong>en</strong>, toevoeg<strong>en</strong> of weglat<strong>en</strong> van tekst, sorter<strong>en</strong> op basis van één elem<strong>en</strong>t, nummer<strong>en</strong><br />

van items (bijv. koptekst<strong>en</strong>), uitvoer<strong>en</strong> van berek<strong>en</strong>ing<strong>en</strong>, <strong>en</strong>z.<br />

De inhoud van <strong>XML</strong>-bestand<strong>en</strong> kan in verschill<strong>en</strong>de (toekomstige) bestandsformat<strong>en</strong> word<strong>en</strong><br />

gepubliceerd. Mom<strong>en</strong>teel word<strong>en</strong> er op basis van <strong>XML</strong>-bestand<strong>en</strong> vooral (X)HTML- <strong>en</strong> PDFdocum<strong>en</strong>t<strong>en</strong><br />

gecreëerd, maar het is ook mogelijk om <strong>XML</strong>-cont<strong>en</strong>t om te zett<strong>en</strong> naar toekomstige<br />

doeltechnologieën die mom<strong>en</strong>teel nog onbek<strong>en</strong>d zijn.<br />

Hetzelfde <strong>XML</strong>-bronbestand kan naar meerdere outputformat<strong>en</strong> word<strong>en</strong> omgezet. <strong>XML</strong> is bijgevolg<br />

e<strong>en</strong> opslagformaat op basis waarvan verschill<strong>en</strong>de r<strong>en</strong>dities kunn<strong>en</strong> gebeur<strong>en</strong>.<br />

… bestaat <strong>en</strong>kel uit tekstkarakters (Unicode)<br />

<strong>XML</strong> is e<strong>en</strong> formaat waarbij alle markup- <strong>en</strong> inhoudsgegev<strong>en</strong>s als tekstuele karakters word<strong>en</strong><br />

geëncodeerd. <strong>XML</strong>-bestand<strong>en</strong> zijn ge<strong>en</strong> binaire bestand<strong>en</strong> die e<strong>en</strong> welbepaalde softwaretoepassing<br />

nodig hebb<strong>en</strong> om de binaire data te interpreter<strong>en</strong> <strong>en</strong> hun inhoud te reconstruer<strong>en</strong>. Hierdoor kunn<strong>en</strong><br />

<strong>XML</strong>-bestand<strong>en</strong> word<strong>en</strong> geop<strong>en</strong>d in elke applicatie die tekstuele karakters kan inlez<strong>en</strong>. <strong>XML</strong>bestand<strong>en</strong><br />

zijn bijgevolg e<strong>en</strong>voudig, gemakkelijk uitwisselbaar <strong>en</strong> <strong>digitaal</strong> duurzaam. <strong>XML</strong><br />

beantwoordt hiermee aan de vereiste van e<strong>en</strong> zo laag mogelijke platform- <strong>en</strong><br />

softwareafhankelijkheid. De <strong>en</strong>ige afhankelijkheid is het correct omzett<strong>en</strong> van de bits naar<br />

Unicodekarakters.<br />

<strong>XML</strong> gebruikt Unicode. <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> kunn<strong>en</strong> karakters bevatt<strong>en</strong> uit elke taal die door Unicode<br />

wordt ondersteund. Hierdoor krijgt <strong>XML</strong> het k<strong>en</strong>merk van universeel te zijn.<br />

Binaire bestand<strong>en</strong> kunn<strong>en</strong> in e<strong>en</strong> <strong>XML</strong>-bestand word<strong>en</strong> opgeslag<strong>en</strong>, maar de binaire data moet<strong>en</strong><br />

eerst als tekstkarakters geëncodeerd zijn. De <strong>en</strong>coding moet gedocum<strong>en</strong>teerd word<strong>en</strong>.<br />

Volledige tekstuele <strong>en</strong>coding is belangrijk voor uitwisseling. <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> kunn<strong>en</strong> hierdoor<br />

gemakkelijk verwerkt word<strong>en</strong> door computers <strong>en</strong> zijn bov<strong>en</strong>di<strong>en</strong> hierdoor ook gemakkelijk te<br />

begrijp<strong>en</strong> door m<strong>en</strong>s<strong>en</strong>.<br />

… scheidt inhoud <strong>en</strong> opmaak<br />

<strong>XML</strong> laat gescheid<strong>en</strong> archivering van inhoud <strong>en</strong> opmaak toe. De inhoud wordt in het <strong>XML</strong>-bestand<br />

bewaard, de opmaak van het archiefdocum<strong>en</strong>t kan in e<strong>en</strong> CSS of XSL(T)-bestand word<strong>en</strong> vastgelegd.<br />

Het scheid<strong>en</strong> van inhoud <strong>en</strong> opmaak biedt voordel<strong>en</strong> op het vlak van herbruikbare informatie <strong>en</strong><br />

grootschalig informatiebeheer. Door de media onafhankelijke opslag <strong>en</strong> de late koppeling van <strong>XML</strong>data<br />

met pres<strong>en</strong>tatie in het productieproces, kunn<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> naar elk gew<strong>en</strong>st<br />

bestandsformaat (<strong>XML</strong>, HTML, Voice<strong>XML</strong>, WML, PDF, TeX, RTF, <strong>en</strong>z.) voor output getransformeerd<br />

word<strong>en</strong>. Deze media onafhankelijke publishing is mogelijk in 'real-time'. Hetzelfde <strong>XML</strong>brondocum<strong>en</strong>t<br />

kan ev<strong>en</strong>e<strong>en</strong>s in combinatie met verschill<strong>en</strong>de stylesheets word<strong>en</strong> gebruikt. Het<br />

ontbrek<strong>en</strong> van hard coded opmaakgegev<strong>en</strong>s in de data zorgt mee voor e<strong>en</strong> gemakkelijke uitwisseling.<br />

… is zelfbeschrijv<strong>en</strong>d<br />

<strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> zijn zelfbeschrijv<strong>en</strong>d <strong>en</strong> zijn hierdoor gemakkelijk te interpreter<strong>en</strong> door m<strong>en</strong>s<strong>en</strong> of<br />

door computers.<br />

De <strong>XML</strong>-tags id<strong>en</strong>tificer<strong>en</strong> <strong>en</strong> labell<strong>en</strong> de compon<strong>en</strong>t<strong>en</strong> of veld<strong>en</strong> waaruit de informatie is<br />

sam<strong>en</strong>gesteld. De tags gev<strong>en</strong> het begin <strong>en</strong> einde van elk veld aan, gev<strong>en</strong> weer wat het datatype van<br />

de informatie is <strong>en</strong> gev<strong>en</strong> uitleg over de betek<strong>en</strong>is. De tagattribut<strong>en</strong> kunn<strong>en</strong> de docum<strong>en</strong>tatom<strong>en</strong><br />

verder beschrijv<strong>en</strong>. De g<strong>en</strong>este structuur is e<strong>en</strong> weerspiegeling van de relatie tuss<strong>en</strong> de<br />

verschill<strong>en</strong>de elem<strong>en</strong>t<strong>en</strong>. <strong>XML</strong> laat ev<strong>en</strong>e<strong>en</strong>s de inkapseling van metadata of contekstuele informatie<br />

toe waardoor <strong>XML</strong>-bestand<strong>en</strong> zelfbeschrijv<strong>en</strong>d zijn. Voor de semantiek, interpretatie of visualisatie<br />

11


DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

is m<strong>en</strong> bijgevolg niet afhankelijk van externe docum<strong>en</strong>tatie of bronn<strong>en</strong>. E<strong>en</strong> <strong>XML</strong>-bestand kan als<br />

<strong>en</strong>velop of container functioner<strong>en</strong> die sam<strong>en</strong> met het archiefdocum<strong>en</strong>t ook zijn beschrijving bevat.<br />

Dit is e<strong>en</strong> invloed van het object-georiënteerd d<strong>en</strong>k<strong>en</strong> waarbij het gearchiveerd computerbestand<br />

zowel het archiefdocum<strong>en</strong>t als zijn metadata bevat. <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> kunn<strong>en</strong> hierdoor gemakkelijk<br />

geïnterpreteerd <strong>en</strong> ontleed word<strong>en</strong>.<br />

<strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> zijn ook zelfbeschrijv<strong>en</strong>d in IT-term<strong>en</strong>. Alle gegev<strong>en</strong>s die computers nodig hebb<strong>en</strong><br />

voor de ontleding <strong>en</strong> de interpretatie van <strong>XML</strong>-data zit in de bestand<strong>en</strong> zelf vervat. Hierdoor is<br />

verwerking mogelijk zonder m<strong>en</strong>selijke tuss<strong>en</strong>komst.<br />

… biedt verschill<strong>en</strong>de zoekmogelijkhed<strong>en</strong><br />

Bij <strong>XML</strong> zijn de zoekmogelijkhed<strong>en</strong> niet beperkt tot full text zoekopdracht<strong>en</strong>, maar is het ook<br />

mogelijk om docum<strong>en</strong>t<strong>en</strong> terug te vind<strong>en</strong> op basis van hun structuur, metadata <strong>en</strong> semantische tags.<br />

… bewaart de structuur van e<strong>en</strong> archiefdocum<strong>en</strong>t op e<strong>en</strong> expliciete <strong>en</strong> formele wijze<br />

<strong>XML</strong> is geschikt voor e<strong>en</strong> gestructureerde opslag van informatie. De markuptags word<strong>en</strong> volg<strong>en</strong>s e<strong>en</strong><br />

bepaalde structuur g<strong>en</strong>est. De hiërarchische structuur van de elem<strong>en</strong>t<strong>en</strong> weerspiegelt de relaties<br />

tuss<strong>en</strong> de compon<strong>en</strong>t<strong>en</strong> van het archiefdocum<strong>en</strong>t <strong>en</strong> is expliciet in het docum<strong>en</strong>t aanwezig. E<strong>en</strong> DTD<br />

of e<strong>en</strong> <strong>XML</strong> Schema kan de structuur van e<strong>en</strong> archiefdocum<strong>en</strong>t verder docum<strong>en</strong>ter<strong>en</strong>.<br />

… is flexibel<br />

In de opslag van <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> zit niet verwev<strong>en</strong> wat er met de data moet gebeur<strong>en</strong>. De<br />

verwerking van <strong>XML</strong>-data is volledig afhankelijk van de applicatie. Hierdoor kan de dataopslag ge<strong>en</strong><br />

<strong>en</strong>kele beperking stell<strong>en</strong> op het toekomstig gebruik van de computerdata.<br />

… is e<strong>en</strong> combinatie van data- <strong>en</strong> docum<strong>en</strong>tc<strong>en</strong>trisch<br />

Met <strong>XML</strong> zijn de gr<strong>en</strong>z<strong>en</strong> tuss<strong>en</strong> databankgerichte (regelmatige structuur, kleine veldl<strong>en</strong>gtes, beheer)<br />

<strong>en</strong> docum<strong>en</strong>tgerichte (onregelmatige structuur, lange veldl<strong>en</strong>gtes, m<strong>en</strong>selijke consumptie)<br />

toepassing<strong>en</strong> vervaagd. Beide wereld<strong>en</strong> evoluer<strong>en</strong> immers naar elkaar toe, want tekstuele informatie<br />

is in de realiteit meestal semi-gestructureerd. Docum<strong>en</strong>t<strong>en</strong> krijg<strong>en</strong> alsmaar meer structuur<br />

(transmissie, standaardisatie) <strong>en</strong> databank<strong>en</strong> moet<strong>en</strong> in staan zijn om data met onregelmatige<br />

structuur te bevatt<strong>en</strong>. <strong>XML</strong> is in staat om het hele spectrum van zwak tot sterk gestructureerde<br />

informatie te omspann<strong>en</strong>.<br />

… k<strong>en</strong>t grote commeriële ondersteuning<br />

Alle grote softwareleveranciers ondersteun<strong>en</strong> <strong>XML</strong> 16 . <strong>XML</strong> kan word<strong>en</strong> gebruikt op Windows, MacOS<br />

<strong>en</strong> Unix. Er zijn nu al meer <strong>XML</strong>-tools voor hand<strong>en</strong> dan er ooit voor SGML beschikbaar war<strong>en</strong> (o.a.<br />

JAVA <strong>en</strong> PERL-based) 17 . <strong>XML</strong> wordt ook in bestaande softwarepakkett<strong>en</strong> geïntegreerd (bijv.<br />

webbrowsers 18 , MS Office 2000 19 , MS Office XP 20 , Op<strong>en</strong>Office.org 21 , WordPerfect 9, <strong>en</strong>z.).<br />

16 http://wwws.sun.com/software/xml/; http://www.novell.com/products/edirectory/dirxml/; http://www-<br />

106.ibm.com/developerworks/xml/; http://xml.coverpages.org/xmlSupport.html<br />

17 Voor e<strong>en</strong> overzicht van <strong>XML</strong>-tools: http://www.w3.org/<strong>XML</strong>/#software;http://www.oasisop<strong>en</strong>.org/cover/publicSW.html;<br />

http://xml.coverpages.org/xml.html#xmlSoftware;<br />

http://www.xml.org/xml/resources_focus_programming.shtml<br />

18 Internet Explorer: Versie 5.0 is gebaseerd op de <strong>XML</strong> Recomm<strong>en</strong>dation 1.0 <strong>en</strong> op e<strong>en</strong> working draft van de XSLspecificatie.<br />

Met IE is cli<strong>en</strong>t-side XSL verwerking dus mogelijk.<br />

Netscape: Versie 6.0 is volledig conform <strong>XML</strong> 1.0, maar ondersteunt XSL nog niet omdat op het og<strong>en</strong>blik van de<br />

release van Netscape de XSL-specificatie nog niet was afgerond.<br />

19 MS Office 2000: gebruik van <strong>XML</strong> data islands wanneer Excel-, Powerpoint- <strong>en</strong> Worddocum<strong>en</strong>t<strong>en</strong> als webpagina's<br />

word<strong>en</strong> bewaard. Hierdoor zijn de docum<strong>en</strong>t<strong>en</strong> in webbrowsers raadpleegbaar. Data islands zijn blokk<strong>en</strong> xml<br />

cont<strong>en</strong>t in e<strong>en</strong> HTML-pagina. Hiervoor wordt gebruik gemaakt van de niet officiële xml-tag.<br />

12


… heeft ook nadel<strong>en</strong>:<br />

− lage performantie:<br />

DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

o door de volledige tekstuele <strong>en</strong>coding van de data zijn <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> soms langdradig <strong>en</strong><br />

nem<strong>en</strong> ze meestal meer bestandsomvang in beslag dan bestand<strong>en</strong> met binaire <strong>en</strong>coding.<br />

Omwille van e<strong>en</strong> betere performantie word<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> bij netwerkuitwisseling veelal<br />

gecomprimeerd ((g)zip, http 1.1, modems, <strong>en</strong>z.). Bij <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> kunn<strong>en</strong> hoge<br />

compressieratio's word<strong>en</strong> bereikt. De compressie is lossless.<br />

o de parsing <strong>en</strong> de omzettingsoperaties van <strong>en</strong> naar <strong>XML</strong> kost<strong>en</strong> tijd<br />

− nog niet veel cli<strong>en</strong>tcomputers zijn <strong>XML</strong> <strong>en</strong>/of XSL-compatibel zodat bij de meeste <strong>XML</strong>applicaties<br />

parsing <strong>en</strong> transformaties op de server di<strong>en</strong><strong>en</strong> te gebeur<strong>en</strong><br />

3.7. Opslag <strong>en</strong> opzoek<strong>en</strong> van <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong><br />

<strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> kunn<strong>en</strong> op twee wijz<strong>en</strong> word<strong>en</strong> opgeslag<strong>en</strong>: in het bestandssysteem van e<strong>en</strong> courant<br />

besturingssysteem of in e<strong>en</strong> databank. De keuze inzake opslag is belangrijk voor de manier waarop achteraf<br />

<strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> word<strong>en</strong> teruggevond<strong>en</strong>. Bij <strong>XML</strong> komt het er niet alle<strong>en</strong> op aan om het nodige <strong>XML</strong>-docum<strong>en</strong>t<br />

te vind<strong>en</strong>, maar ook om toegang te hebb<strong>en</strong> tot de dataobject<strong>en</strong> binn<strong>en</strong> e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t.<br />

3.7.1 In e<strong>en</strong> bestandssysteem<br />

Bewaring binn<strong>en</strong> e<strong>en</strong> bestandssysteem is e<strong>en</strong>voudig <strong>en</strong> heeft als voordeel dat de <strong>XML</strong>-data snel toegankelijk<br />

zijn. De <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> word<strong>en</strong> gewoon als afzonderlijke computerbestand<strong>en</strong> met de ext<strong>en</strong>sie *.xml in<br />

bepaalde mapp<strong>en</strong> opgeslag<strong>en</strong>. De mogelijkhed<strong>en</strong> om <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> op te spor<strong>en</strong> zijn beperkt tot zoek<strong>en</strong> op<br />

basis van map- <strong>en</strong> bestandsnam<strong>en</strong> <strong>en</strong> tot full text zoekopdracht<strong>en</strong>. De resultat<strong>en</strong> van full-textzoekopdracht<strong>en</strong><br />

zull<strong>en</strong> echter niet al te zuiver zijn. Full-textzoekopdracht<strong>en</strong> mak<strong>en</strong> ge<strong>en</strong> onderscheid tuss<strong>en</strong> markupkarakters<br />

<strong>en</strong> inhoudskarakters. De nadel<strong>en</strong> van deze opslagmethode zijn de limiet<strong>en</strong> van de besturingssystem<strong>en</strong>:<br />

beperking<strong>en</strong> op maximale bestandsomvang, moeilijke navigatie in grote bestand<strong>en</strong>, ge<strong>en</strong> versiecontrole, ge<strong>en</strong><br />

multi-user toegang, lage beveiliging, <strong>en</strong>z. <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> in e<strong>en</strong> bestandssysteem bewar<strong>en</strong> is e<strong>en</strong>voudig,<br />

maar is niet aangewez<strong>en</strong> voor grote archiveringstoepassing<strong>en</strong>. Voor ge<strong>en</strong> al te grote hoeveelhed<strong>en</strong> <strong>XML</strong>docum<strong>en</strong>t<strong>en</strong><br />

kan deze opslagmethode echter volstaan.<br />

3.7.2 In e<strong>en</strong> databank<br />

Voor grote toepassing<strong>en</strong> is de opslag in e<strong>en</strong> databank meer aangewez<strong>en</strong>. Databank<strong>en</strong> bied<strong>en</strong> doorgaans ook e<strong>en</strong><br />

oplossing voor de tekortkoming<strong>en</strong> van gewone besturingssystem<strong>en</strong>. Databank<strong>en</strong> bied<strong>en</strong> ev<strong>en</strong>e<strong>en</strong>s meer<br />

zoekfunctionaliteit<strong>en</strong>. <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> word<strong>en</strong> doorgaans in relationele, object geöriënteerde of native <strong>XML</strong><br />

databank<strong>en</strong> bewaard.<br />

20 MS Office XP: import van <strong>XML</strong> docum<strong>en</strong>t<strong>en</strong> in Excel <strong>en</strong> Access, bewaring van rek<strong>en</strong>blad<strong>en</strong>, tabell<strong>en</strong>, queries <strong>en</strong><br />

views in Excel <strong>en</strong> Access als <strong>XML</strong> docum<strong>en</strong>t<strong>en</strong>, gebruik van <strong>XML</strong> smart tags in Word, Excel <strong>en</strong> Outlook. In Outlook<br />

word<strong>en</strong> views als <strong>XML</strong>-bestand<strong>en</strong> opgeslag<strong>en</strong>.<br />

21 Op<strong>en</strong>Office.org: met uitzondering van Math gebruik<strong>en</strong> alle applicaties binn<strong>en</strong> Op<strong>en</strong>Office.org (Writer, Calc, Draw,<br />

Impress, Writer global docum<strong>en</strong>t) hetzelfde formaat dat op <strong>XML</strong> is gebaseerd. Binn<strong>en</strong> de Op<strong>en</strong>Office.orgbestand<strong>en</strong><br />

word<strong>en</strong> zowel metadata (ongecomprimeerd) als de bitstream van de digitale object<strong>en</strong> (ZIP-compressie)<br />

bewaard. De Op<strong>en</strong>Office.org bestand<strong>en</strong> zijn sam<strong>en</strong>gesteld uit: meta.xml, styles.xml, cont<strong>en</strong>t.xml, settings.xml,<br />

meta-inf/manifest.xml <strong>en</strong> de mapp<strong>en</strong> pictures, dialogs, basic <strong>en</strong> obj. (http://www.op<strong>en</strong>office.org)<br />

13


3.7.2.1 Opslag in e<strong>en</strong> relationele databank<br />

DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

Aangezi<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> e<strong>en</strong> hiërarchische structuur hebb<strong>en</strong>, kunn<strong>en</strong> ze niet als dusdanig in e<strong>en</strong> relationele<br />

databank word<strong>en</strong> bewaard. De <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> word<strong>en</strong> als BLOB's in de databank opg<strong>en</strong>om<strong>en</strong> of de <strong>XML</strong>inhoud<br />

wordt naar e<strong>en</strong> relationeel datamodel vertaald. Hierbij word<strong>en</strong> de elem<strong>en</strong>t<strong>en</strong> naar tabell<strong>en</strong> <strong>en</strong><br />

kolomm<strong>en</strong> gemapt <strong>en</strong> hun relaties word<strong>en</strong> door verschill<strong>en</strong>de jointypes weer gegev<strong>en</strong>. Veel commerciële<br />

relationele databank<strong>en</strong> bevatt<strong>en</strong> al bov<strong>en</strong>op de relationele motor e<strong>en</strong> <strong>XML</strong>-mapping laag voor het bewar<strong>en</strong> <strong>en</strong><br />

zoek<strong>en</strong> van <strong>XML</strong>-data. Ook ev<strong>en</strong>tuele XSLT transformaties, XPathexpressies <strong>en</strong> XQueries moet<strong>en</strong> word<strong>en</strong><br />

omgezet. In <strong>XML</strong>-applicaties moet achteraf ook de output opnieuw als e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t word<strong>en</strong> verpakt. Al<br />

deze omzetting<strong>en</strong> bij input, bevraging <strong>en</strong> output kost<strong>en</strong> tijd. Toch levert e<strong>en</strong> relationele databank meestal<br />

sneller zoekresultat<strong>en</strong> af dan e<strong>en</strong> object-georiënteerde databank. Relationele databank<strong>en</strong> zijn goed bruikbaar<br />

wanneer de <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> niet al te complex zijn of goed gestructureerd zijn. De bewaring van slecht<br />

gestructureerde of ongestructureerde docum<strong>en</strong>t<strong>en</strong> in e<strong>en</strong> RDBMS is niet efficiënt want er gaat veel<br />

opslagruimte verlor<strong>en</strong>.<br />

3.7.2.2 Opslag in e<strong>en</strong> object-georiënteerde databank<br />

Het hiërarchisch datamodel van object-georiënteerde databank<strong>en</strong> sluit beter bij <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> aan dan dat<br />

van relationale databank<strong>en</strong>. In e<strong>en</strong> object-georiënteerde databank word<strong>en</strong> ev<strong>en</strong>min de <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> zelf<br />

als één <strong>en</strong>titeit bewaard, maar word<strong>en</strong> de nodes als afzonderlijke object<strong>en</strong> in e<strong>en</strong> bepaalde hiërarchie<br />

opgeslag<strong>en</strong>. <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> word<strong>en</strong> teruggevond<strong>en</strong> <strong>en</strong> gemaniupuleerd op basis van <strong>XML</strong>-queries op de nodes.<br />

Elke node kan afzonderlijk word<strong>en</strong> verwerkt. Het gebruik van object-georiënteerde databank<strong>en</strong> wordt<br />

aanbevol<strong>en</strong> in de gevall<strong>en</strong> waaraan de <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> complexe relaties <strong>en</strong> e<strong>en</strong> structuur met grote diepte<br />

hebb<strong>en</strong>.<br />

3.7.2.3 Opslag in e<strong>en</strong> native <strong>XML</strong> databank<br />

Native <strong>XML</strong> databank<strong>en</strong> zijn speciaal ontworp<strong>en</strong> om <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> te bewar<strong>en</strong>. Het grote verschil met<br />

andere databanksystem<strong>en</strong> is dat hun intern model gebaseerd is op <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> <strong>en</strong> niet op e<strong>en</strong> relationeel<br />

of object-georiënteerd dataschema. De <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> vorm<strong>en</strong> de basise<strong>en</strong>heid van native <strong>XML</strong> databank<strong>en</strong>.<br />

Native <strong>XML</strong> databank<strong>en</strong> respecter<strong>en</strong> de orde <strong>en</strong> interne structuur van de <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong>. De <strong>XML</strong>-<strong>en</strong>gine<br />

zoekt in querytal<strong>en</strong> die op <strong>XML</strong> zijn gebaseerd (bijv. XQL, <strong>XML</strong>-QL, XMAS) <strong>en</strong> retourneert de data als <strong>XML</strong>docum<strong>en</strong>t<strong>en</strong>.<br />

In e<strong>en</strong> <strong>XML</strong> native databank word<strong>en</strong> de <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> lineair opgeslag<strong>en</strong>. Er gaat dus ge<strong>en</strong> tijd<br />

verlor<strong>en</strong> aan mapping<strong>en</strong>, joinopdracht<strong>en</strong> <strong>en</strong> <strong>XML</strong>-wrapping van de output. De <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> kunn<strong>en</strong><br />

rechtstreeks in de databank word<strong>en</strong> gestockeerd <strong>en</strong> bevraagd. De performantie van native <strong>XML</strong> databank<strong>en</strong> is<br />

bijgevolg meestal groter dan relationele of object-georiënteerde databank<strong>en</strong>. Deze databanktechnologie is nog<br />

maar vrij jong zodat er nog maar e<strong>en</strong> beperkt aantal tools voor hand<strong>en</strong> zijn.<br />

4. De <strong>XML</strong>-familie<br />

E<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t doet op zichzelf niets want in ess<strong>en</strong>tie is het niets meer dan e<strong>en</strong> geheel van<br />

Unicodekarakters, verpakt in <strong>XML</strong>-tags. <strong>XML</strong> wordt gebruikt voor het beschrijv<strong>en</strong> van data die wordt gebruikt<br />

voor het structurer<strong>en</strong>, bewar<strong>en</strong> <strong>en</strong> verstur<strong>en</strong> van informatie. Om pres<strong>en</strong>tatie <strong>en</strong> functionaliteit<strong>en</strong> aan <strong>XML</strong>docum<strong>en</strong>t<strong>en</strong><br />

toe te voeg<strong>en</strong>, is er nood aan andere mechanism<strong>en</strong>. Rond <strong>XML</strong> word<strong>en</strong> e<strong>en</strong> heleboel andere<br />

standaard<strong>en</strong> gedefinieerd die in combinatie met <strong>XML</strong> word<strong>en</strong> gebruikt. Sam<strong>en</strong> met <strong>XML</strong> vorm<strong>en</strong> deze<br />

standaard<strong>en</strong> de <strong>XML</strong>-technologie 22 . De meeste standaard<strong>en</strong> word<strong>en</strong> ev<strong>en</strong>e<strong>en</strong>s door het W3C vastgelegd <strong>en</strong><br />

vorm<strong>en</strong> de basis voor de <strong>XML</strong>-toepassing<strong>en</strong> die door produc<strong>en</strong>t<strong>en</strong> word<strong>en</strong> ontwikkeld <strong>en</strong> in hun produkt<strong>en</strong><br />

word<strong>en</strong> geïmplem<strong>en</strong>teerd.<br />

22 <strong>XML</strong> <strong>en</strong>cryption, <strong>XML</strong> key managem<strong>en</strong>t <strong>en</strong> XForms zijn nog in ontwikkeling.<br />

14


CSS<br />

Cascading StyleSheet<br />

Versies: Level 1 (CSS1): W3C<br />

Recomm<strong>en</strong>dation (17 december 1996),<br />

herzi<strong>en</strong> op 11 januari 1999; Level 2 (CSS2):<br />

W3C Recomm<strong>en</strong>dation (12 mei 1998)<br />

<strong>XML</strong> Base<br />

Versies: W3C Recomm<strong>en</strong>dation 1.0 ( 27 juni<br />

2001)<br />

<strong>XML</strong> Signature<br />

Versies: W3C Recomm<strong>en</strong>dation 1.0 (12<br />

februari 2002)<br />

<strong>XML</strong> Query<br />

Versies: W3C Working draft (30 april 2002)<br />

<strong>XML</strong> Schema<br />

Versies: W3C Recomm<strong>en</strong>dation 1.0 (2 mei<br />

2001)<br />

XPointer<br />

Versie Candidate Recomm<strong>en</strong>dation (11<br />

september 2001)<br />

XLink<br />

<strong>XML</strong> Linking Language<br />

Versie: Recomm<strong>en</strong>dation 1.0<br />

(27 juni 2001)<br />

XSLT<br />

XSL Transformations<br />

Versies: W3C Recomm<strong>en</strong>dation 1.0<br />

(16 november 1999)<br />

XSL<br />

eXt<strong>en</strong>sible Stylesheet Language<br />

Versies: W3C Recomm<strong>en</strong>dation 1.0<br />

(15 oktober 2001)<br />

XPath<br />

Versies: W3C Recomm<strong>en</strong>dation 1.0 (16<br />

november 1999)<br />

MathML<br />

Mathematical Markup Language<br />

Versie: 1.0 (juli 1999), 2.0 (februari 2001)<br />

DOM<br />

Docum<strong>en</strong>t Object Model<br />

DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

CSS is de stylesheettaal voor HTML, maar kan ev<strong>en</strong>e<strong>en</strong>s in<br />

combinatie met <strong>XML</strong> word<strong>en</strong> gebruikt.<br />

Faciliteit voor het producer<strong>en</strong> van base URI's om del<strong>en</strong> van <strong>XML</strong><br />

docum<strong>en</strong>t<strong>en</strong> aan te duid<strong>en</strong>.<br />

Definieert e<strong>en</strong> kader gebaseerd op <strong>XML</strong> om digitale<br />

handtek<strong>en</strong>ing<strong>en</strong> aan bronn<strong>en</strong> op het web toe te voeg<strong>en</strong>.<br />

Querytaal voor <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong>, ook wel XQL g<strong>en</strong>oemd. Nog niet<br />

formeel vastgelegd.<br />

zie 3.3 DTD <strong>en</strong> <strong>XML</strong> Schema<br />

toepassing gebaseerd op XPath voor het wijz<strong>en</strong> naar bepaalde<br />

onderdel<strong>en</strong> van <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong>.<br />

biedt de mogelijkheid om hyperlinks aan <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> toe te<br />

voeg<strong>en</strong> zoals in HTML-pagina's, maar met XLink is het ook<br />

mogelijk om meer gesofisticeerde links te mak<strong>en</strong><br />

tekst<br />

XSLT wordt hoofdzakelijk gebruikt voor voor de transformatie van<br />

data van de <strong>en</strong>e <strong>XML</strong> structuur naar e<strong>en</strong> andere. Zo kan de <strong>XML</strong>-<br />

data in e<strong>en</strong> ander formaat of e<strong>en</strong> andere structuur word<strong>en</strong><br />

weergegev<strong>en</strong>. In die zin is XSL vergelijkbaar met CSS, maar XSL is<br />

krachtiger (o.a. selecter<strong>en</strong> van elem<strong>en</strong>t<strong>en</strong>, filter<strong>en</strong>, sorter<strong>en</strong><br />

transformatie van de <strong>XML</strong> boom, data afhankelijke opmaak)<br />

XSL voegt aan XSLT de mogelijkheid tot formatting objects <strong>en</strong><br />

formatting properties toe. XSL bestaat uit drie del<strong>en</strong> die meestal<br />

met elkaar word<strong>en</strong> gecombineerd: XPath, XSLT <strong>en</strong> XSL Formatting<br />

Objects. Via XPath heeft m<strong>en</strong> toegang tot de nodes van e<strong>en</strong> <strong>XML</strong>-<br />

docum<strong>en</strong>t, XSLT zorgt voor de koppeling met templates terwijl XSL<br />

de formatting objects bevat. XSL-FO (Formatting Objects) wordt<br />

ondermeer gebruikt om PDF-docum<strong>en</strong>t<strong>en</strong> te creër<strong>en</strong> op basis van<br />

<strong>XML</strong>-data. De elem<strong>en</strong>t<strong>en</strong> in de XSL:FO vocabulary definiër<strong>en</strong> zak<strong>en</strong><br />

zoals marges, headers, footers, uitlijning, spaties, word wrapping,<br />

<strong>en</strong>z. Eerst wordt de <strong>XML</strong> inhoud naar formatting object<strong>en</strong><br />

geconverteerd, vervolg<strong>en</strong>s zet e<strong>en</strong> FOP-tool deze naar PDF om. De<br />

pres<strong>en</strong>tatiemogelijkhed<strong>en</strong> binn<strong>en</strong> XSL-FO zijn vergelijkbaar met die<br />

van HTML <strong>en</strong> CSS.<br />

XPath is e<strong>en</strong> string syntax gebaseerd op URI's voor het mak<strong>en</strong> van<br />

adress<strong>en</strong> naar <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong>, -elem<strong>en</strong>t<strong>en</strong> of -attribut<strong>en</strong>.<br />

XPathexpressies word<strong>en</strong> gebruikt voor het lokaliser<strong>en</strong> van info in<br />

<strong>XML</strong> docum<strong>en</strong>t<strong>en</strong>. XPath baseert zich op de hiërarchische positie<br />

van de compon<strong>en</strong>t<strong>en</strong> in de tree. De nodes word<strong>en</strong> als unieke ID's<br />

gebruikt. XPatch biedt ge<strong>en</strong> andere queryfunctionaliteit<strong>en</strong> zodat<br />

XPath niet echt e<strong>en</strong> querytaal is. XPath wordt ondermeer gebruikt<br />

door XSLT <strong>en</strong> XPointer<br />

wordt gebruikt voor de markup van wiskunde op het web.<br />

Geme<strong>en</strong>schappelijke Application Programming Interface (API:<br />

verzameling standaardfuncties) waarmee de elem<strong>en</strong>t<strong>en</strong>, de<br />

15


Versies: Level 1 (oktober 1998) <strong>en</strong> Level 2<br />

(november 2000)<br />

RDF<br />

Resource Desciption Framework<br />

Versies: W3C Recomm<strong>en</strong>dation (22 februari<br />

1999)<br />

<strong>XML</strong> Namespaces<br />

(januari 1999)<br />

SAX<br />

Simple API for <strong>XML</strong><br />

Versie: 2.0.1<br />

SVG<br />

Scalable Vector Graphics<br />

Versie: W3C Recomm<strong>en</strong>dation 1.0 (4<br />

september 2001), W3C Candidate<br />

Recomm<strong>en</strong>dation 1.1 (30 april 2002)<br />

XTM<br />

<strong>XML</strong> Topic Maps<br />

Versie: TopicMaps.org specificatie 1.0 (2001),<br />

annex van ISO-13250 (oktober 2001).<br />

DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

structuur, de ev<strong>en</strong>em<strong>en</strong>t<strong>en</strong>, <strong>en</strong>z. afzonderlijk word<strong>en</strong> b<strong>en</strong>aderd<br />

vanuit verschill<strong>en</strong>de programmeertal<strong>en</strong> <strong>en</strong>/of scripts. DOM levert<br />

ook e<strong>en</strong> standaard interface voor andere software om <strong>XML</strong>-<br />

docum<strong>en</strong>t<strong>en</strong> te verwerk<strong>en</strong>.<br />

W3C’s metadatastandaard RDF bevat e<strong>en</strong> standaardlexicon <strong>en</strong><br />

coderingstechniek<strong>en</strong> om metadata te koppel<strong>en</strong> aan gelijk welke<br />

bron op het web. RDF moet het zoek<strong>en</strong> op het Internet verbeter<strong>en</strong>.<br />

E<strong>en</strong> RDF-toepassing is bijvoorbeeld e<strong>en</strong> bestand die in de rootmap<br />

van e<strong>en</strong> website wordt geplaatst met metadata over de website.<br />

De gebruiker beschrijft object<strong>en</strong>, <strong>en</strong> k<strong>en</strong>t er<br />

attribut<strong>en</strong>/eig<strong>en</strong>schapp<strong>en</strong> aan toe. Hij kan ook statem<strong>en</strong>ts over de<br />

object<strong>en</strong> vastlegg<strong>en</strong>. Deze statem<strong>en</strong>ts kunn<strong>en</strong> bijvoorbeeld relaties<br />

tuss<strong>en</strong> object<strong>en</strong> zijn.<br />

Met <strong>XML</strong> kan iedere<strong>en</strong> zijn eig<strong>en</strong> vocabularium sam<strong>en</strong>stell<strong>en</strong>. De<br />

kans dat elem<strong>en</strong>t<strong>en</strong> met dezelfde tags e<strong>en</strong> verschill<strong>en</strong>de betek<strong>en</strong>is<br />

hebb<strong>en</strong>, is dus bijzonder groot. Om tagb<strong>en</strong>amingsconflict<strong>en</strong> <strong>en</strong><br />

verdere uitwisselingsproblem<strong>en</strong> te voorkom<strong>en</strong>, is <strong>XML</strong> namespaces<br />

ontwikkeld. Hiermee kan het vocabularium van de gebruiker<br />

word<strong>en</strong> geïd<strong>en</strong>tificeerd zodat ambigue informatie wordt vermed<strong>en</strong>.<br />

De namespace wordt geïd<strong>en</strong>tificeerd door e<strong>en</strong> URI (URL of URN).<br />

De tags die deel uitmak<strong>en</strong> van e<strong>en</strong> bepaalde namespace hebb<strong>en</strong><br />

e<strong>en</strong> geme<strong>en</strong>schappelijke prefix. Binn<strong>en</strong> hetzelfde <strong>XML</strong>-docum<strong>en</strong>t<br />

kunn<strong>en</strong> ook verschill<strong>en</strong>de namespaces word<strong>en</strong> gebruikt. Als er e<strong>en</strong><br />

default namespace wordt gedeclareerd dan is dit geldig voor heel<br />

het docum<strong>en</strong>t. E<strong>en</strong> namespace die e<strong>en</strong> attribuut is van e<strong>en</strong><br />

par<strong>en</strong>telem<strong>en</strong>t heeft ook betrekking op de childelem<strong>en</strong>t<strong>en</strong>.<br />

Java API ontwikkeld om met <strong>XML</strong> te word<strong>en</strong> gebruikt. Voordel<strong>en</strong>:<br />

e<strong>en</strong>voudig, het volledige docum<strong>en</strong>t moet niet in het geheug<strong>en</strong><br />

word<strong>en</strong> gelad<strong>en</strong>. Nadel<strong>en</strong>: niet ondersteund door alle browsers,<br />

<strong>en</strong>kel voor <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong>, complexe zoekopdracht<strong>en</strong> kunn<strong>en</strong><br />

moeilijk zijn. SAX is niet ontwikkeld binn<strong>en</strong> de schoot van het<br />

W3C 23 . Inmiddels bestaat SAX ook voor andere omgeving<strong>en</strong> van<br />

Java.<br />

Specificatie gebaseerd op <strong>XML</strong> voor de verspreiding van vectoriële<br />

afbeelding<strong>en</strong> op het web.<br />

5. <strong>XML</strong> voor archiveringstoepassing<strong>en</strong><br />

5.1 <strong>XML</strong> als uitwisselingsformaat<br />

<strong>XML</strong> namespace voor het sam<strong>en</strong>stell<strong>en</strong> van e<strong>en</strong> topic map. <strong>XML</strong><br />

wordt als notatiewijze gebruikt, <strong>XML</strong> base URI's word<strong>en</strong> voor de<br />

links gebruikt. E<strong>en</strong> topic map bestaat uit topics die met elkaar<br />

geassocieerd zijn <strong>en</strong> geeft k<strong>en</strong>nis weer.<br />

Met <strong>XML</strong> kan gestructureerde informatie word<strong>en</strong> uitgewisseld tuss<strong>en</strong> verschill<strong>en</strong>de informatiesystem<strong>en</strong>. Dit<br />

levert e<strong>en</strong> aantal belangrijke voordel<strong>en</strong> op: snellere uitwisseling, vermijd<strong>en</strong> van fout<strong>en</strong>, uitwisseling kan<br />

automatisch verlop<strong>en</strong>, <strong>en</strong>z. <strong>XML</strong> heeft zijn eig<strong>en</strong>schap van geschikt uitwisselingsformaat onder meer te dank<strong>en</strong><br />

23 http://www.saxproject.org/<br />

16


DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

aan de tekstuele <strong>en</strong>coding van alle markup <strong>en</strong> inhoud, de scheiding van inhoud <strong>en</strong> opmaak, het gebruik van tags<br />

als delimeters, de expliciete aanwezigheid van structuur, <strong>en</strong>z.<br />

<strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> zijn hierdoor heel gemakkelijk uitwisselbaar tuss<strong>en</strong> verschill<strong>en</strong>de toepassing<strong>en</strong> zonder dat<br />

de ontvanger de organisatie van de computerdata bij de verz<strong>en</strong>der hoeft te k<strong>en</strong>n<strong>en</strong>. Er is ev<strong>en</strong>min bijkom<strong>en</strong>de<br />

code nodig. De <strong>en</strong>ige vereiste is het volg<strong>en</strong> van de regels die bij de docum<strong>en</strong>tcreatie werd<strong>en</strong> gevolgd <strong>en</strong> die in<br />

e<strong>en</strong> DTD of <strong>XML</strong> Schema werd<strong>en</strong> vastgelegd.<br />

De toepassingsgebied<strong>en</strong> van <strong>XML</strong> als uitwisselingsformaat zijn legio. Cont<strong>en</strong>t providers gebruik<strong>en</strong><br />

mom<strong>en</strong>teel <strong>XML</strong> al volop voor de verspreiding van digitale informatie. Zij mak<strong>en</strong> hierbij ook gebruik van de<br />

mogelijkheid om hetzelfde brondocum<strong>en</strong>t in verschill<strong>en</strong>de format<strong>en</strong> bij de gebruiker af te lever<strong>en</strong>.<br />

Incompatibele computersystem<strong>en</strong> kunn<strong>en</strong> met elkaar interoperer<strong>en</strong> op basis van <strong>XML</strong> 24 . Zo wordt <strong>XML</strong> al volop<br />

als intermediair formaat ingezet om data tuss<strong>en</strong> verschill<strong>en</strong>de typ<strong>en</strong> databank<strong>en</strong> (bijv. van relationeel naar<br />

object-georiënteerd) of databank<strong>en</strong> met verschill<strong>en</strong>de structuur uit te wissel<strong>en</strong>. In de databankomgeving<br />

vervang<strong>en</strong> <strong>XML</strong> interfaces meer <strong>en</strong> meer ODBC. Mom<strong>en</strong>teel wordt binn<strong>en</strong> IETF gewerkt aan e<strong>en</strong> <strong>XML</strong>uitwisselingsformaat<br />

voor e-mails tuss<strong>en</strong> verschill<strong>en</strong>de applicaties als variante op RFC822 25 .<br />

In de archiefcontext is <strong>XML</strong> inzetbaar als transmissieformaat tuss<strong>en</strong> de archiefvormer <strong>en</strong> de<br />

archiefinstelling/di<strong>en</strong>st. <strong>XML</strong> kan bijvoorbeeld gebruikt word<strong>en</strong> wanneer de archiefinstelling/di<strong>en</strong>st bepaalde<br />

softwaretoepassing<strong>en</strong> van de archiefvormer niet ondersteunt, maar toch de docum<strong>en</strong>t<strong>en</strong> met archiefwaarde<br />

archiveert. De archiefvormer br<strong>en</strong>gt de docum<strong>en</strong>t<strong>en</strong> met archiefwaarde als <strong>XML</strong>-data buit<strong>en</strong> de oorspronkelijke<br />

applicatie <strong>en</strong> legt ze als dusdanig neer bij de archivaris. De archiefdi<strong>en</strong>st kan de ontvang<strong>en</strong> <strong>XML</strong>-data naar hun<br />

eig<strong>en</strong> toepassing overbr<strong>en</strong>g<strong>en</strong> of als <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> archiver<strong>en</strong>.<br />

5.2 <strong>XML</strong> als archiveringsformaat<br />

In het tweede geval wordt <strong>XML</strong> als bestandsformaat voor archivering op lange termijn gebruikt. Als<br />

bestandsformaat b<strong>en</strong>adert <strong>XML</strong> heel sterk de k<strong>en</strong>merk<strong>en</strong> van het ideale archiveringsformaat. Het ideaal<br />

archiveringsformaat is:<br />

− stabiel <strong>en</strong> gestandaardiseerd<br />

− vrij van pat<strong>en</strong>trecht<strong>en</strong> (publiek domein)<br />

− zo e<strong>en</strong>voudig mogelijk<br />

− volledig zelf beschrijv<strong>en</strong>d, niet afhankelijk van externe bronn<strong>en</strong><br />

− geschikt om gestructureerde <strong>en</strong> zelf gekoz<strong>en</strong> metadata te bevatt<strong>en</strong><br />

− volledig gedocum<strong>en</strong>teerd (op<strong>en</strong> specificatie)<br />

− niet applicatie- of platform gebond<strong>en</strong>, maar gemakkelijk uitwisselbaar<br />

− wijdverspreid gebruikt <strong>en</strong> geïmplem<strong>en</strong>teerd<br />

− gemakkelijk te controler<strong>en</strong> op fout<strong>en</strong><br />

<strong>XML</strong> komt als bestandsformaat in grote mate aan al deze eis<strong>en</strong> tegemoet. <strong>XML</strong> is hierdoor uitermate<br />

geschikt als applicatieonafhankelijk opslagformaat. De gebruiker is hierdoor niet meer gebond<strong>en</strong> aan versies,<br />

applicaties, platform<strong>en</strong> of zelfs produc<strong>en</strong>t<strong>en</strong> om toegang te hebb<strong>en</strong> tot zijn computerdata. In teg<strong>en</strong>stelling tot<br />

produc<strong>en</strong>tgebond<strong>en</strong> opslagmethod<strong>en</strong> is m<strong>en</strong> bijvoorbeeld niet meer afhankelijk van geslot<strong>en</strong> format<strong>en</strong> of<br />

schema's om gegev<strong>en</strong>s weg te schrijv<strong>en</strong> of te op<strong>en</strong><strong>en</strong>. <strong>XML</strong>-applicaties zijn bijgevolg op<strong>en</strong> <strong>en</strong> transparant <strong>en</strong><br />

lat<strong>en</strong> toe dat <strong>XML</strong>-data gemakkelijk in toekomstige ontwikkeling<strong>en</strong> inpasbaar zijn. De <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> moet<strong>en</strong><br />

immers ge<strong>en</strong> migratieproces ondergaan wanneer ze naar e<strong>en</strong> ander informatiesysteem word<strong>en</strong> overgebracht.<br />

24 E<strong>en</strong> voorbeeld <strong>XML</strong>-toepassing is bijvoorbeeld de CEVI E-Loket waarbij de gegev<strong>en</strong>s ontvang<strong>en</strong> via on line<br />

invulformulier<strong>en</strong>, in <strong>XML</strong>-formaat naar de administratieve toepassing<strong>en</strong> word<strong>en</strong> doorgestuurd.<br />

(http://www.cevi.be/cevi/site/realisaties/cevigem/default.htm). E<strong>en</strong> ander voorbeeld is de Universal Message<br />

Engine voor de uitwisseling van gestructureerde boodschapp<strong>en</strong> tuss<strong>en</strong> heterog<strong>en</strong>e applicaties binn<strong>en</strong> de overheid<br />

(bijv. Rijksregister).<br />

25 G. KLYNE, An <strong>XML</strong> format for mail and other messages.<br />

17


DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

De kans<strong>en</strong> op informatieverlies of sch<strong>en</strong>ding van de auth<strong>en</strong>ticiteit <strong>en</strong> integriteit t<strong>en</strong> gevolge van migraties<br />

neemt bijgevolg gevoelig af. <strong>XML</strong> is ge<strong>en</strong> applicatiegebond<strong>en</strong> formaat <strong>en</strong> levert de gebruiker dus grotere<br />

onafhankelijkheid op. Dezelfde <strong>XML</strong>-data zijn bruikbaar binn<strong>en</strong> desktopapplicaties, databank<strong>en</strong>, intranet- <strong>en</strong><br />

Internettoepassing<strong>en</strong>. In die zin kunn<strong>en</strong> <strong>XML</strong>-data <strong>en</strong>igszins met SQL-data word<strong>en</strong> vergelek<strong>en</strong> 26 .<br />

De autonomie van de <strong>XML</strong>-bestand<strong>en</strong> is e<strong>en</strong> belangrijke troef. De onafhankelijkheid van <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong><br />

aan externe factor<strong>en</strong> biedt garanties voor de reconstructie van digitale archiefdocum<strong>en</strong>t<strong>en</strong>. <strong>XML</strong>-bestand<strong>en</strong><br />

blijv<strong>en</strong> wel <strong>digitaal</strong>. Er blijft software nodig voor raadpleging, maar e<strong>en</strong> grotere mate van softwareonafhankelijkheid<br />

is niet mogelijk of zelfs w<strong>en</strong>selijk. Het gaat t<strong>en</strong>slotte toch om digitale archiefdocum<strong>en</strong>t<strong>en</strong> <strong>en</strong><br />

er zal altijd software nodig blijv<strong>en</strong> om vanuit de bewaarde bits de archiefdocum<strong>en</strong>t<strong>en</strong> te reconstruer<strong>en</strong>.<br />

In vergelijking met andere bestandsformat<strong>en</strong> met de status van defacto of op<strong>en</strong> standaard, voldoet <strong>XML</strong><br />

beter aan de vereist<strong>en</strong> van geschikt archiveringsformaat. Het Portable Docum<strong>en</strong>t Format (PDF) van Adobe<br />

wordt ook regelmatig als archiveringsformaat naar voor geschov<strong>en</strong>, maar heeft toch e<strong>en</strong> aantal nadel<strong>en</strong> in<br />

vergelijking met <strong>XML</strong>. PDF is eig<strong>en</strong>domsgebond<strong>en</strong>, bevat ge<strong>en</strong> semantische markup, biedt minder<br />

zoekfunctionaliteit<strong>en</strong> <strong>en</strong> is niet "m<strong>en</strong>selijk leesbaar". E<strong>en</strong> PDF-docum<strong>en</strong>t kan niet zomaar met behulp van e<strong>en</strong><br />

teksteditor geïnterpreteerd word<strong>en</strong> want de gebruiker krijgt <strong>en</strong>kel nietszegg<strong>en</strong>de tek<strong>en</strong>s te zi<strong>en</strong>. PDFbestand<strong>en</strong><br />

zijn met andere woord<strong>en</strong> meer software-afhankelijk dan <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong>.<br />

De relatie <strong>XML</strong>-bestand <strong>en</strong> archiefdocum<strong>en</strong>t<strong>en</strong> kan variër<strong>en</strong> van één-op-één, één-op-veel <strong>en</strong> veel-op-één. In<br />

<strong>XML</strong> gaat het hem in de eerste plaats om de logische structuur van computerdata. Eén <strong>XML</strong>-bestand kan één of<br />

meerdere archiefdocum<strong>en</strong>t<strong>en</strong> bevatt<strong>en</strong> <strong>en</strong> één archiefdocum<strong>en</strong>t kan over meerdere <strong>XML</strong>-bestand verspreid<br />

word<strong>en</strong>.<br />

<strong>XML</strong> is in de eerste plaats aangewez<strong>en</strong> als archiveringsformaat voor tekstuele docum<strong>en</strong>t<strong>en</strong>. Naast de<br />

digitale duurzaamheidsgaranties is het e<strong>en</strong> pluspunt van <strong>XML</strong> dat de structuur van de archiefdocum<strong>en</strong>t<strong>en</strong> op<br />

e<strong>en</strong> expliciete wijze mee gearchiveerd wordt. Het docum<strong>en</strong>tmodel kan formeel in e<strong>en</strong> DTD of <strong>XML</strong> Schema<br />

word<strong>en</strong> vastgelegd. Na neerlegging bij de archiefdi<strong>en</strong>st <strong>en</strong> voorafgaand aan opname in het<br />

archiefbeheerssysteem kan parsing van de archiefdocum<strong>en</strong>t<strong>en</strong> teg<strong>en</strong> de DTD of <strong>XML</strong> Schema als e<strong>en</strong> soort<br />

kwaliteitscontrole di<strong>en</strong><strong>en</strong>. Door e<strong>en</strong> DTD of e<strong>en</strong> <strong>XML</strong> Schema aan het <strong>XML</strong>-docum<strong>en</strong>t toe te voeg<strong>en</strong>, neemt ook<br />

het zelfbeschrijv<strong>en</strong>d karakter toe. Aangezi<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> kunn<strong>en</strong> variër<strong>en</strong> van zwak tot sterk<br />

gestructureerd, kunn<strong>en</strong> zowel gewone tekstbestand<strong>en</strong>, rek<strong>en</strong>blad<strong>en</strong>, e-mails <strong>en</strong> databank<strong>en</strong> als <strong>XML</strong>-bestand<strong>en</strong><br />

word<strong>en</strong> gearchiveerd. De hiërarchische tree van e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t kan ev<strong>en</strong>goed relationele, objectgeoriënteerde<br />

als gewone tekstuele data van e<strong>en</strong> brief, e<strong>en</strong> e-mail of e<strong>en</strong> rek<strong>en</strong>blad bevatt<strong>en</strong>.<br />

Aan het archiver<strong>en</strong> van tekstuele docum<strong>en</strong>t<strong>en</strong> als <strong>XML</strong>-bestand<strong>en</strong> zal meestal e<strong>en</strong> migratiefase voorafgaan.<br />

Er wordt mom<strong>en</strong>teel wel werk gemaakt van de implem<strong>en</strong>tatie van <strong>XML</strong> in computerapplicaties, maar zolang de<br />

applicaties de data zelf niet als <strong>XML</strong>-data bijhoud<strong>en</strong>, zal migratie van native format<strong>en</strong> naar <strong>XML</strong> zich<br />

opdring<strong>en</strong>. In veel gevall<strong>en</strong> betek<strong>en</strong>t dit dat e<strong>en</strong> statische versie van het digitale docum<strong>en</strong>t wordt bewaard, <strong>en</strong><br />

dat er e<strong>en</strong> aantal dynamisch functionaliteit<strong>en</strong> verlor<strong>en</strong> gaan. Typisch voor deze functionaliteit<strong>en</strong> is dat ze<br />

overweg<strong>en</strong>d applicatiegebond<strong>en</strong> zijn <strong>en</strong> maar zeld<strong>en</strong> archiefwaarde hebb<strong>en</strong>. Het exporter<strong>en</strong> van computerdata<br />

als <strong>XML</strong>-bestand<strong>en</strong> begint ingang te vind<strong>en</strong> in computerprogramma's (bijv. MS Office). Op<strong>en</strong>Office is bij de<br />

implem<strong>en</strong>tatie van <strong>XML</strong> wellicht het verst geëvolueerd <strong>en</strong> gebruikt <strong>XML</strong> als native formaat voor alle<br />

toepassing<strong>en</strong> binn<strong>en</strong> het pakket 27 .<br />

Ondanks de to<strong>en</strong>em<strong>en</strong>de verspreiding van <strong>XML</strong> bied<strong>en</strong> nog heel wat bestaande applicaties ge<strong>en</strong> <strong>XML</strong>functionaliteit<strong>en</strong>.<br />

Nochtans zijn met veel van deze computertoepassing<strong>en</strong> al docum<strong>en</strong>t<strong>en</strong> met archiefwaarde<br />

gecreëerd. Om deze archiefdocum<strong>en</strong>t<strong>en</strong> van hun applicatieformaat naar <strong>XML</strong> om te zett<strong>en</strong>, di<strong>en</strong>t m<strong>en</strong> bijgevolg<br />

e<strong>en</strong> oplossing te vind<strong>en</strong> zodat de archiefdocum<strong>en</strong>t<strong>en</strong> als <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> archiveerbaar zijn. Het inschakel<strong>en</strong><br />

van één van de vele omzettingstools is e<strong>en</strong> optie. Maar ook al beschikt m<strong>en</strong> over e<strong>en</strong> exportfunctionaliteit of<br />

e<strong>en</strong> omzettingstool 28 , het is de vraag of het aangewez<strong>en</strong> is om er gebruik van te mak<strong>en</strong>. De bestaande<br />

automatische exportfunctionaliteit<strong>en</strong> of omzettingstools lat<strong>en</strong> immers zeld<strong>en</strong> toe dat de gebruiker de tags <strong>en</strong><br />

de structuur van het docum<strong>en</strong>t definieert of dat er e<strong>en</strong> extern docum<strong>en</strong>tmodel wordt gevolgd. Hierdoor is de<br />

26 E<strong>en</strong> voorbeeld hiervan uit de museumsector is Adlib. In versie 5.0 werd <strong>XML</strong> geïntroduceerd zodat bijvoorbeeld<br />

alle beschrijving<strong>en</strong> van museumobject<strong>en</strong> als <strong>XML</strong>-data kunn<strong>en</strong> weggeschrev<strong>en</strong> word<strong>en</strong>.<br />

27 Op<strong>en</strong>Office.org <strong>XML</strong> File Format, 1.0, juli 2002.<br />

28 MS Wordbestand<strong>en</strong> kunn<strong>en</strong> bijvoorbeeld naar <strong>XML</strong> word<strong>en</strong> omgezet met <strong>XML</strong> Spy. Standalone convertors voor<br />

omzetting<strong>en</strong> WORD → <strong>XML</strong> zijn bijvoorbeeld Majix (http://www.tetrasix.com) <strong>en</strong> UpCast (http://www.infinityloop.de).<br />

Tools geïntegreerd in MS Word zelf, zoals S4/Text (http://www.i4i.com), mak<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> die<br />

opnieuw als Wordbestand<strong>en</strong> kunn<strong>en</strong> word<strong>en</strong> geop<strong>en</strong>d <strong>en</strong> bewerkt. Omzetting<strong>en</strong> van Word naar <strong>XML</strong> kunn<strong>en</strong> ook<br />

gerealiseerd word<strong>en</strong> op basis van VBA, Omnimark of Perlscripts. Veel tools zett<strong>en</strong> Wordbestand<strong>en</strong> naar <strong>XML</strong> om via<br />

het Rich Text Format (RTF).<br />

18


DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

tagging <strong>en</strong> structurering van de <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> meestal afhankelijk van de gebruikte export- of<br />

omzettingstool. Dit levert moeilijkhed<strong>en</strong> op wanneer m<strong>en</strong> één docum<strong>en</strong>tmodel voor één bepaald type<br />

archiefdocum<strong>en</strong>t wil toepass<strong>en</strong>, terwijl dit net één van de krachtpunt<strong>en</strong> van <strong>XML</strong> is. Het gebruik<strong>en</strong> van<br />

verschill<strong>en</strong>de export- <strong>en</strong> omzettingstools met vaste DTD's resulteert voor hetzelfde type archiefdocum<strong>en</strong>t in<br />

verschill<strong>en</strong>de docum<strong>en</strong>tmodell<strong>en</strong> waarvoor verschill<strong>en</strong>de DTD's, stylesheets <strong>en</strong> raadplegingsapplicaties nodig<br />

zijn. Het <strong>digitaal</strong> archiefbeheer wordt hierdoor opnieuw e<strong>en</strong> stuk complexer.<br />

Vooraleer m<strong>en</strong> beroep doet op e<strong>en</strong> bestaande exportfunctionaliteit of omzettingstool is het bijgevolg<br />

belangrijk om na te gaan in welke mate e<strong>en</strong> vastgelegd docum<strong>en</strong>tmodel kan word<strong>en</strong> toegepast. De<br />

mogelijkheid tot configuratie van de export- of omzettingstool is e<strong>en</strong> belangrijk criterium bij de toolkeuze.<br />

Voldoet de <strong>XML</strong>-opslag niet aan het vastgelegde docum<strong>en</strong>tmodel, dan zijn er twee opties. M<strong>en</strong> zet de <strong>XML</strong>bestand<strong>en</strong><br />

na de export naar het vastgelegde docum<strong>en</strong>tmodel (bijv. via XSLT) om of m<strong>en</strong> voorziet e<strong>en</strong><br />

gecustomiseerde <strong>XML</strong>-wrapper die het gedefinieerde docum<strong>en</strong>tmodel wel onmiddellijk respecteert 29 . Deze<br />

tweede oplossing is efficiënter want er wordt e<strong>en</strong> tuss<strong>en</strong>stap uitgespaard <strong>en</strong> problem<strong>en</strong> in verband met het<br />

opsplits<strong>en</strong> van <strong>XML</strong>-elem<strong>en</strong>t<strong>en</strong> word<strong>en</strong> vermed<strong>en</strong>.<br />

De <strong>XML</strong>-wrapper moet ondermeer zorg<strong>en</strong> voor e<strong>en</strong> tekstuele output, toepassing van de correcte <strong>en</strong>coding <strong>en</strong><br />

de vervanging van gereserveerde karakters. Het spreekt voor zich dat voor de <strong>en</strong>coding best Unicode wordt<br />

toegepast, al is dat nog altijd ge<strong>en</strong> evid<strong>en</strong>tie. Unicode is relatief nieuw. Het mer<strong>en</strong>deel van de tekstuele<br />

digitale informatie is niet in Unicode opgeslag<strong>en</strong> <strong>en</strong> slechts de jongste g<strong>en</strong>eraties besturingssystem<strong>en</strong> of<br />

applicaties ondersteun<strong>en</strong> Unicode 30 . Bij e<strong>en</strong> retroactieve migratie naar <strong>XML</strong> is de kans ook groot dat<br />

gereserveerde karakters (&, , ', ") als inhoudskarakters word<strong>en</strong> gebruikt. Deze karakters moet<strong>en</strong> bij de<br />

omzetting naar <strong>XML</strong> word<strong>en</strong> omgezet naar e<strong>en</strong> <strong>en</strong>titeit. Door de toevoeging van semantische tags kan ook de<br />

bestandsomvang gevoelig to<strong>en</strong>em<strong>en</strong>. Bij e<strong>en</strong> omzetting naar <strong>XML</strong> is het t<strong>en</strong> slotte ook belangrijk om aandacht<br />

te bested<strong>en</strong> aan de opslagplaats van DTD's of <strong>XML</strong> Schema's. Om het zelfbeschrijv<strong>en</strong>d karakter <strong>en</strong> de autonomie<br />

van de <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> te vergrot<strong>en</strong>, zou m<strong>en</strong> kunn<strong>en</strong> overweg<strong>en</strong> om deze in het <strong>XML</strong>-docum<strong>en</strong>t als interne<br />

DTD's of interne <strong>XML</strong> Schema's op te nem<strong>en</strong>. Dit druist echter teg<strong>en</strong> de principes van herbruikbaarheid <strong>en</strong> del<strong>en</strong><br />

van informatiebronn<strong>en</strong> in. De DTD of het <strong>XML</strong> Schema in e<strong>en</strong> bepaalde map bewar<strong>en</strong> (lokaal of op (web)server),<br />

heeft als nadeel dat de pathaanduiding in de URI aanpassing behoeft, wanneer de DTD of het <strong>XML</strong> Schema<br />

word<strong>en</strong> verplaatst of de domeinnaam van e<strong>en</strong> webserver wijzigt.<br />

In <strong>XML</strong>-bestand<strong>en</strong> kan ook de tekstuele inhoud van databank<strong>en</strong> word<strong>en</strong> gearchiveerd. Op zich zijn <strong>XML</strong>bestand<strong>en</strong><br />

ge<strong>en</strong> databank<strong>en</strong>, maar docum<strong>en</strong>t<strong>en</strong> want ze bevatt<strong>en</strong> <strong>en</strong>kel lineaire tekst <strong>en</strong> ge<strong>en</strong> index<strong>en</strong>, relaties<br />

of <strong>en</strong>ige andere logica voor het bewerk<strong>en</strong> of bevrag<strong>en</strong> van de gegev<strong>en</strong>s. <strong>XML</strong> biedt wel de mogelijkheid tot<br />

gestructureerde dataopslag <strong>en</strong> de <strong>XML</strong>-familie voorziet in querytools <strong>en</strong> programmeerinterfaces. Met <strong>XML</strong> is in<br />

ieder geval de gr<strong>en</strong>s tuss<strong>en</strong> databank <strong>en</strong> docum<strong>en</strong>t vager geword<strong>en</strong>. Hoe de inhoud van databank<strong>en</strong> naar <strong>XML</strong><br />

wordt omgezet, is afhankelijk van het type databank. Hiërarchische databank<strong>en</strong> bevatt<strong>en</strong> op zich al e<strong>en</strong><br />

structuur <strong>en</strong> nesting die grote gelijk<strong>en</strong>iss<strong>en</strong> met <strong>XML</strong> vertoont (root-par<strong>en</strong>t-child). Bij export di<strong>en</strong><strong>en</strong> <strong>XML</strong>-tags<br />

toegevoegd te word<strong>en</strong>. Het datamodel van e<strong>en</strong> hiërarchische databank vormt de basis voor de DTD of het <strong>XML</strong><br />

Schema 31 . Bij relationele databank<strong>en</strong> is de omzetting naar <strong>XML</strong> wat complexer. De veld<strong>en</strong> van één record zijn<br />

immers over verschill<strong>en</strong>de tabell<strong>en</strong> verspreid. De constructie van <strong>XML</strong>-elem<strong>en</strong>t<strong>en</strong> of -docum<strong>en</strong>t<strong>en</strong> kan op basis<br />

van SQL gebeur<strong>en</strong>. Aan de query in de hoofdtabel word<strong>en</strong> subqueries gekoppeld die in de gerelateerde tabell<strong>en</strong><br />

word<strong>en</strong> uitgevoerd. In e<strong>en</strong> volg<strong>en</strong>de stap wordt de output getagd <strong>en</strong> lineair geord<strong>en</strong>d (nesting) zodat er e<strong>en</strong><br />

<strong>XML</strong>-docum<strong>en</strong>t wordt gecreëerd. De primaire sleutel kan als (uniek) ID word<strong>en</strong> gebruikt zodat alle childr<strong>en</strong><br />

onder de juiste par<strong>en</strong>t kom<strong>en</strong> te staan. Bij object-georiënteerde databank<strong>en</strong> is er e<strong>en</strong> grote overe<strong>en</strong>komst<br />

tuss<strong>en</strong> object<strong>en</strong> <strong>en</strong> <strong>XML</strong>-elem<strong>en</strong>t<strong>en</strong> 32 .<br />

<strong>XML</strong> is niet alle<strong>en</strong> bruikbaar voor de archivering van tekstuele docum<strong>en</strong>t<strong>en</strong>. Scalable Vector Graphics is e<strong>en</strong><br />

bestandsformaat gebaseerd op <strong>XML</strong> voor afbeelding<strong>en</strong>. <strong>XML</strong>-bestand<strong>en</strong> kunn<strong>en</strong> ev<strong>en</strong>e<strong>en</strong>s de tekstuele bitstream<br />

van binaire bestand<strong>en</strong> bevatt<strong>en</strong> (afbeelding<strong>en</strong>, geluid, <strong>en</strong>z). M<strong>en</strong> di<strong>en</strong>t wel rek<strong>en</strong>ing te houd<strong>en</strong> met de nood<br />

29 Deze oplossing werd door DAVID gevolgd bij de <strong>XML</strong>-archivering van e-mails. Op basis van het vastgelegde<br />

docum<strong>en</strong>tmodel voor e-mail werd e<strong>en</strong> script geschrev<strong>en</strong> waardoor e-mails rechtstreeks vanuit het<br />

cli<strong>en</strong>tprogramma als <strong>XML</strong>-bestand word<strong>en</strong> bewaard.<br />

30 Kladblok van Windows 95 <strong>en</strong> 98 bijvoorbeeld ondersteunt Unicode niet, wat problem<strong>en</strong> met e<strong>en</strong> aantal<br />

diakritische tek<strong>en</strong>s kan veroorzak<strong>en</strong>. M<strong>en</strong> kan dit oplossing door in de <strong>XML</strong>-declaratie de toegepaste <strong>en</strong>coding<br />

expliciet op te gev<strong>en</strong>. Bijv: of: . Vanaf Windows 2000 ondersteunt Kladblok wel Unicode.<br />

31 De archivering van het kiezersregister <strong>en</strong> het bevolkingsregister van de stad Antwerp<strong>en</strong> was e<strong>en</strong> toepassing van de<br />

<strong>XML</strong>-archivering van e<strong>en</strong> hiërarchische databank (voor meer info: http://www.antwerp<strong>en</strong>.be/david onder 'cases').<br />

32 R. BOURRET, <strong>XML</strong> and databases, febr. 2002.<br />

19


DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

aan de pass<strong>en</strong>de software voor het op<strong>en</strong><strong>en</strong> van de bestand<strong>en</strong> nadat de tekstkarakters opnieuw naar binaire<br />

tek<strong>en</strong>s zijn omgezet. M<strong>en</strong> kiest bijgevolg het best voor e<strong>en</strong> formaat met de status van standaard <strong>en</strong> waarvan de<br />

specificatie vrij beschikbaar is. In de toekomst wordt het wellicht ook mogelijk om multimediabestand<strong>en</strong> als<br />

pure <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> te bewar<strong>en</strong> <strong>en</strong> niet <strong>en</strong>kel in e<strong>en</strong> <strong>XML</strong>-wrapper te verpakk<strong>en</strong>. <strong>XML</strong> is immers uitbreidbaar.<br />

In de archiefwereld wordt <strong>XML</strong> algeme<strong>en</strong> als één van de meest aangewez<strong>en</strong> bestandsformat<strong>en</strong> voor lange<br />

termijn archivering bestempeld. In veel land<strong>en</strong> wordt <strong>XML</strong> formeel als geschikt archiveringsformaat aangeduid.<br />

<strong>XML</strong> voldoet aan de vereist<strong>en</strong> van het MTIC <strong>en</strong> is e<strong>en</strong> aanbevol<strong>en</strong> standaard binn<strong>en</strong> de Franse overheid 33 . In<br />

Nederland wordt <strong>XML</strong> in de Regeling geord<strong>en</strong>de <strong>en</strong> toegankelijke staat archiefbescheid<strong>en</strong> (art. 6) sam<strong>en</strong> met<br />

PDF als standaard voor tekstdocum<strong>en</strong>t<strong>en</strong> opgesomd. Het Public Record Office beveelt <strong>XML</strong> aan wanneer de<br />

migratiepiste wordt gevolgd 34 . Het stadsarchief Antwerp<strong>en</strong> startte in 2000 met de eerste toepassing<strong>en</strong> van <strong>XML</strong><br />

bij de archivering van het kiezersregister <strong>en</strong> het bevolkingsregister. <strong>XML</strong> wordt er ook gebruikt bij de<br />

archivering van e-mails 35 . <strong>XML</strong> speelt ook e<strong>en</strong> belangrijke rol in de Persist<strong>en</strong>t Object Preservation<br />

archiveringsstrategie van het NARA <strong>en</strong> het San Diego Super Computer C<strong>en</strong>ter (SDSCC). Op basis van de<br />

docum<strong>en</strong>taire vorm wordt e<strong>en</strong> DTD opgesteld voor de verschill<strong>en</strong>de types digitale archiefbescheid<strong>en</strong>. Op basis<br />

van deze DTD's word<strong>en</strong> de archiefdocum<strong>en</strong>t<strong>en</strong> bij opname in het <strong>digitaal</strong> archief dan geannoteerd met <strong>XML</strong>tags.<br />

5.3 <strong>XML</strong> als metadataformaat<br />

De metadata van digitale archiefbescheid<strong>en</strong> zijn de administratieve, technische <strong>en</strong> archivistische<br />

beschrijving<strong>en</strong> waardoor toekomstige reconstructie <strong>en</strong> interpretatie mogelijk blijft. Ongeacht de gevolgde<br />

archiveringsstrategie, is er nood aan metadata. De metadata moet<strong>en</strong> net zoals de archiefdocum<strong>en</strong>t<strong>en</strong> zelf<br />

toegankelijk blijv<strong>en</strong>. Om die red<strong>en</strong> werd<strong>en</strong> metadata gangbaar op papier afgedrukt of in e<strong>en</strong> puur ASCIIbestand<br />

bijgehoud<strong>en</strong>. <strong>XML</strong> biedt meerdere mogelijkhed<strong>en</strong> om metadata te archiver<strong>en</strong>. Door semantische tags<br />

aan e<strong>en</strong> docum<strong>en</strong>t toe te voeg<strong>en</strong>, wordt t<strong>en</strong> eerste in het <strong>XML</strong>-docum<strong>en</strong>t zelf al id<strong>en</strong>tificer<strong>en</strong>de <strong>en</strong><br />

karakteriser<strong>en</strong>de gegev<strong>en</strong>s over de data bijgehoud<strong>en</strong>. De metadata van digitale archiefbescheid<strong>en</strong> kunn<strong>en</strong> t<strong>en</strong><br />

tweede altijd in e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t word<strong>en</strong> opgeslag<strong>en</strong>.<br />

Door de metadata in e<strong>en</strong> <strong>XML</strong>-docum<strong>en</strong>t te bewar<strong>en</strong>, voldoet m<strong>en</strong> al in grote mate aan de<br />

leesbaarheidsvoorwaarde. Bov<strong>en</strong>di<strong>en</strong> is het mogelijk om de metadata op e<strong>en</strong> gestructureerde wijze te<br />

bewar<strong>en</strong>. De semantische aard van <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> maakt <strong>XML</strong> e<strong>en</strong> geschikt formaat voor de bewaring,<br />

bevraging <strong>en</strong> uitwisseling van metadata. E<strong>en</strong> metadatamodel kan gemakkelijk in <strong>XML</strong> word<strong>en</strong> aangelegd. Vanuit<br />

de <strong>XML</strong>-bestand<strong>en</strong> met metadata kan in principe om het ev<strong>en</strong> welk beschrijvingssysteem word<strong>en</strong> gevoed. <strong>XML</strong> is<br />

duidelijk e<strong>en</strong> betere optie dan de bewaring van metadata op papier of in e<strong>en</strong> gewoon tekstbestand.<br />

In de bibliotheekwereld heeft m<strong>en</strong> METS, Metadata Encoding <strong>en</strong> Transmission Standard 36 , ontwikkeld. Dit is<br />

e<strong>en</strong> standaard in <strong>XML</strong> voor de opslag <strong>en</strong> uitwisseling van de metadata van sam<strong>en</strong>gestelde object<strong>en</strong><br />

(multimedia). De Nederlandse Regeling geord<strong>en</strong>de <strong>en</strong> toegankelijke staat archiefbescheid<strong>en</strong> (art. 6) schrijft<br />

bijvoorbeeld voor dat docum<strong>en</strong>tatie over de databankstructuur of dat de metagegev<strong>en</strong>s van e<strong>en</strong> tekstdocum<strong>en</strong>t<br />

in TIFF of PDF in e<strong>en</strong> <strong>XML</strong>-bestand wordt opgeslag<strong>en</strong>. Het Stadsarchief Antwerp<strong>en</strong> houdt de metadata van de<br />

gearchiveerde websites als <strong>XML</strong>-bestand<strong>en</strong> bij. Het archiveringsprototype dat door CEDARS werd uitgewerkt,<br />

past <strong>XML</strong> toe om de Preservation Description Information (PDI) als onderdeel van het Archival Information<br />

Package (AIP) vast te legg<strong>en</strong>. In Frankrijk wordt <strong>XML</strong> ev<strong>en</strong>e<strong>en</strong>s aanbevol<strong>en</strong> als meest geschikt formaat voor de<br />

digitale vastlegging van metadata 37 .<br />

De Persist<strong>en</strong>t Object Preservation methode van het NARA <strong>en</strong> het SDSCC maakt niet alle<strong>en</strong> gebruik van <strong>XML</strong>,<br />

DTD's <strong>en</strong> stylesheets, maar ook van <strong>XML</strong> Topic Maps om k<strong>en</strong>nis weer te gev<strong>en</strong>. De <strong>XML</strong> Topic Maps 38 legg<strong>en</strong> het<br />

33 MTIC, Guide to the conservation of data and electronic docum<strong>en</strong>ts for teleprocedures, intranets and Internet<br />

sites. Formats, media. Parijs, 2001, p. 7.<br />

34 Sustainable electronic records: strategies for the maint<strong>en</strong>ance and preservation of electronic records and<br />

docum<strong>en</strong>ts in the transition to 2004, p. 23.<br />

35 Meer informatie hierover vindt u in DAVID-publicaties <strong>en</strong> op de DAVID-website (onder 'cases').<br />

36 http://www.loc.gov/standards/mets/<br />

37 C. DHÉRENT, Les archives électroniques. Manuel pratique, febr. 2002, (onder IV. 2.Constituer les métadonnées).<br />

38 http://www.topicmaps.org/xtm/index.html. Zie ook de DAVID-bijdrage <strong>XML</strong> Topic Maps voor digitale archivering.<br />

20


DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

verband vast tuss<strong>en</strong> de archiefstukk<strong>en</strong> <strong>en</strong> het werkproces waarbinn<strong>en</strong> ze werd<strong>en</strong> ontvang<strong>en</strong> of opgemaakt. Er<br />

wordt ev<strong>en</strong>e<strong>en</strong>s e<strong>en</strong> DTD opgesteld om de (hiërarchische) structuur van het geheel van archiefbescheid<strong>en</strong> vast<br />

te legg<strong>en</strong>. Op die manier word<strong>en</strong> de relaties tuss<strong>en</strong> de archiefbestanddel<strong>en</strong> formeel <strong>en</strong> expliciet gearchiveerd.<br />

De logische relatie tuss<strong>en</strong> de attribut<strong>en</strong> van het geheel wordt beschrev<strong>en</strong> op basis van Data Definition Language<br />

(DDL) <strong>en</strong> wordt gemapt naar de DTD van het geheel 39<br />

E<strong>en</strong> e<strong>en</strong>voudige toepassing hiervan is de beschrijving van e<strong>en</strong> mapp<strong>en</strong>structuur in e<strong>en</strong> <strong>XML</strong>-bestand. Digitale<br />

docum<strong>en</strong>t<strong>en</strong> word<strong>en</strong> traditioneel in mapp<strong>en</strong> geord<strong>en</strong>d. De mapp<strong>en</strong>indeling is belangrijk voor de bewaring van<br />

de archivalische band tuss<strong>en</strong> de docum<strong>en</strong>t<strong>en</strong> onderling <strong>en</strong> met het werkproces. Aangezi<strong>en</strong> mapp<strong>en</strong> in courante<br />

besturingssystem<strong>en</strong> niets meer zijn dan e<strong>en</strong> soort index, zou m<strong>en</strong> kunn<strong>en</strong> overweg<strong>en</strong> om de structuur <strong>en</strong><br />

sam<strong>en</strong>stelling van e<strong>en</strong> geheel archiefdocum<strong>en</strong>t<strong>en</strong> op e<strong>en</strong> meer formele <strong>en</strong> expliciet wijze in e<strong>en</strong> <strong>XML</strong>-bestand<br />

te beschrijv<strong>en</strong>. E<strong>en</strong> dergelijk <strong>XML</strong>-bestand beschrijft dan de 'oude orde'. De DTD voor e<strong>en</strong> mapp<strong>en</strong>structuur kan<br />

relatief e<strong>en</strong>voudig word<strong>en</strong> gehoud<strong>en</strong> 40 :<br />

DTD voor e<strong>en</strong> mapp<strong>en</strong>structuur:<br />

<br />

<br />

<br />

<br />

<br />

<br />

5.4 <strong>XML</strong> als inkapselingsformaat<br />

Encapsulation is de archiveringsstrategie waarbij het archiefdocum<strong>en</strong>t sam<strong>en</strong> met informatie die nodig is voor<br />

het bewar<strong>en</strong>, het interpreter<strong>en</strong> <strong>en</strong> het terugvind<strong>en</strong> in e<strong>en</strong> nieuw <strong>digitaal</strong> object wordt gegroepeerd. Het<br />

nieuwe <strong>digitaal</strong> bestand functioneert als e<strong>en</strong> combinatie van archiveringsformaat voor het archiefdocum<strong>en</strong>t <strong>en</strong><br />

als metadataformaat. De metadata word<strong>en</strong> ingekapseld zodat deze informatie onlosmakelijk verbond<strong>en</strong> zijn<br />

met het digitale archiefstuk. Op die manier blijft de band tuss<strong>en</strong> archiefdocum<strong>en</strong>t <strong>en</strong> metadata bewaard <strong>en</strong><br />

beperkt m<strong>en</strong> ook de afhankelijkheid van het archiefdocum<strong>en</strong>t aan externe bronn<strong>en</strong>. Dit laatste is niet<br />

onbelangrijk, want bij digitale archivering moet m<strong>en</strong> er immers van uitgaan dat verlies van de externe bron in<br />

verlies van het archiefdocum<strong>en</strong>t kan resulter<strong>en</strong>. Door die bron of zijn bouwst<strong>en</strong><strong>en</strong> mee op te nem<strong>en</strong> in het<br />

gearchiveerde docum<strong>en</strong>t blijft die informatie beschikbaar of is het mogelijk om e<strong>en</strong> externe bron opnieuw<br />

sam<strong>en</strong> te stell<strong>en</strong>. Op die manier is het bijvoorbeeld mogelijk om de afhankelijkheid van de<br />

archiefbeheersapplicatie te beperk<strong>en</strong>. Op e<strong>en</strong> gegev<strong>en</strong> mom<strong>en</strong>t zal ook de archiefbeheersapplicatie te kamp<strong>en</strong><br />

hebb<strong>en</strong> met technologische veroudering. E<strong>en</strong> alternatief voor het omzett<strong>en</strong> van de data uit deze applicatie is<br />

het opnieuw sam<strong>en</strong>stell<strong>en</strong> van externe bronn<strong>en</strong> zoals databank<strong>en</strong> <strong>en</strong> index<strong>en</strong> op basis van de metadata die in<br />

de digitale archiefdocum<strong>en</strong>t<strong>en</strong> zelf word<strong>en</strong> bijgehoud<strong>en</strong>. Bij inkapseling word<strong>en</strong> de metadata immers<br />

voornamelijk op het niveau van de gearchiveerde computerbestand<strong>en</strong> bijgehoud<strong>en</strong>. Het nieuwe digitale object<br />

komt dan fysiek overe<strong>en</strong> met de logische e<strong>en</strong>heid archiefdocum<strong>en</strong>t <strong>en</strong> metadata.<br />

Het principe van e<strong>en</strong> inkapselingsformaat zit vervat in het Op<strong>en</strong> Archival Information System (OAIS) 41 , het<br />

standaardmodel voor e<strong>en</strong> archiveringssysteem voor digitale archiefdocum<strong>en</strong>t<strong>en</strong>. Binn<strong>en</strong> e<strong>en</strong> OAIS wordt bij<br />

opname in het <strong>digitaal</strong> depot e<strong>en</strong> AIP sam<strong>en</strong>gesteld dat bestaat uit de compon<strong>en</strong>t<strong>en</strong> van het archiefdocum<strong>en</strong>t,<br />

informatie over de archivering <strong>en</strong> informatie nodig voor de pres<strong>en</strong>tatie. <strong>XML</strong> beantwoordt perfect aan de<br />

vereist<strong>en</strong> om als inkapselingsformaat te gebruik<strong>en</strong> zoals voorgeschrev<strong>en</strong> binn<strong>en</strong> OAIS. Eén <strong>XML</strong>-bestand kan<br />

overe<strong>en</strong>kom<strong>en</strong> met één AIP <strong>en</strong> combineert de functies van archiveringsformaat <strong>en</strong> metadataformaat. De<br />

metadata in het <strong>XML</strong>-bestand opnem<strong>en</strong> zorgt er mete<strong>en</strong> ook voor dat deze informatie op e<strong>en</strong> duurzame <strong>en</strong><br />

39 K. THIBODEAU, R. MOORE <strong>en</strong> C. BARU, Persist<strong>en</strong>t Object Preservation: Advanced Computing Infrastructure for Digital<br />

Preservation.<br />

40 E<strong>en</strong> uitgewerkt voorbeeld van deze toepassing is beschikbaar op de DAVID-website<br />

(http://www.antwerp<strong>en</strong>.be/david → cases).<br />

41 www.ccsds.org/docum<strong>en</strong>ts/pdf/CCSDS-650.0-R-1.pdf<br />

21


DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

leesbare wijze wordt gearchiveerd. <strong>XML</strong> wordt hierbij als e<strong>en</strong> combinatie van archiverings- <strong>en</strong><br />

metadataformaat gebruikt.<br />

Het soort metadata die m<strong>en</strong> in het <strong>XML</strong>-bestand opneemt kan heel divers zijn: contekstuele informatie<br />

(archiefnummer, refer<strong>en</strong>tie naar de zaak of het dossier, gerelateerde archiefdocum<strong>en</strong>t<strong>en</strong>),<br />

compressiealgoritme, hashcode, trefwoord<strong>en</strong>, verwijzing<strong>en</strong> naar docum<strong>en</strong>tatie, specificatie bestandsformaat,<br />

indexgegev<strong>en</strong>s. Zelfs de bitstream van de viewer die nodig is voor het bekijk<strong>en</strong> van het archiefdocum<strong>en</strong>t kan<br />

mee in het <strong>XML</strong>-bestand word<strong>en</strong> bewaard. Op basis van die ingekapselde metadata is het bijvoorbeeld mogelijk<br />

om achteraf e<strong>en</strong> viewer of externe index opnieuw op te bouw<strong>en</strong>, wanneer die verlor<strong>en</strong> zoud<strong>en</strong> zijn. Voor<br />

dezelfde metadata voor e<strong>en</strong> grote hoeveelheid archiefdocum<strong>en</strong>t<strong>en</strong> ga je op voorhand wel best na of je de<br />

metadata zelf of e<strong>en</strong> <strong>en</strong>kel verwijzing naar de geme<strong>en</strong>schappelijk gedeelde metadata (bijv. specificatie van<br />

e<strong>en</strong> bestandsformaat) mee opneemt.<br />

Inkapseling van digitale docum<strong>en</strong>t<strong>en</strong> in <strong>XML</strong>-bestand<strong>en</strong> is toepasbaar op elk type computerbestand. Het<br />

verpakk<strong>en</strong> van digitale archiefbescheid<strong>en</strong> in e<strong>en</strong> <strong>XML</strong>-bestand beperkt dus het aantal verschill<strong>en</strong>de soort<strong>en</strong><br />

items die binn<strong>en</strong> het <strong>digitaal</strong> archief word<strong>en</strong> bijgehoud<strong>en</strong>. Door toepassing van inkapseling in <strong>XML</strong>-bestand<strong>en</strong> is<br />

het <strong>digitaal</strong> archief vrij homoge<strong>en</strong> sam<strong>en</strong>gesteld, wat het archiefbeheer vergemakkelijkt.<br />

Inkapseling is voor digitale archiveringsdoeleind<strong>en</strong> op meerdere wijz<strong>en</strong> toepasbaar. Aan de bytestream van<br />

het archiefdocum<strong>en</strong>t zelf kunn<strong>en</strong> de nodige metadata word<strong>en</strong> toegevoegd. Inkapseling kan ook toegepast<br />

word<strong>en</strong> om meerdere versies van hetzelfde archiefdocum<strong>en</strong>t als één <strong>digitaal</strong> bestand te bewar<strong>en</strong>. Hetzelfde<br />

<strong>XML</strong>-bestand kan zowel de tekstuele (<strong>XML</strong>) als de rastervoorstelling (TIFF) van het archiefdocum<strong>en</strong>t bevatt<strong>en</strong>.<br />

<strong>XML</strong> wordt onder meer door VERS (Victorian Electronic Records Strategy 42 ) voor de inkapseling van<br />

archiefbescheid<strong>en</strong> gebruikt. Het <strong>XML</strong>-bestand bevat ondermeer het archiefobject zelf, de digitale<br />

handtek<strong>en</strong>ing <strong>en</strong> de metadata. Het archiefobject wordt binn<strong>en</strong> VERS in het PDF-formaat gearchiveerd. Het<br />

Nederlandse E-Archive project gebruikt <strong>XML</strong>-bestand<strong>en</strong> als containers waarin de metadata, de originele<br />

bitstream, de viewerlijst (bestandsnam<strong>en</strong> van de AIP's met de broncode van de pass<strong>en</strong>de viewers), <strong>en</strong> mogelijk<br />

alternatieve repres<strong>en</strong>taties voor bibliografische items. De AIP's voor de viewers zijn ev<strong>en</strong>e<strong>en</strong>s <strong>XML</strong>-bestand<strong>en</strong> 43 .<br />

Ook de <strong>XML</strong>-toepassing van de Persist<strong>en</strong>t Object Preservation methode kan als inkapseling word<strong>en</strong> beschouwd.<br />

6. Besluit<br />

<strong>XML</strong> is niet de ultieme oplossing voor alle moelijkhed<strong>en</strong> die bij digitale archivering om de hoek kom<strong>en</strong> kijk<strong>en</strong>,<br />

maar kan de archivaris wel e<strong>en</strong> flink stuk op weg help<strong>en</strong>. Binn<strong>en</strong> de archiefwereld wordt <strong>XML</strong> geleidelijk aan<br />

meer <strong>en</strong> meer gebruikt als metadata- <strong>en</strong> archiveringsformaat. Hiermee lost m<strong>en</strong> al grot<strong>en</strong>deels het probleem<br />

van de technologische veroudering op <strong>en</strong> g<strong>en</strong>iet m<strong>en</strong> van de voordel<strong>en</strong> van gestructureerde <strong>en</strong> semantische<br />

opslag van digitale archiefdocum<strong>en</strong>t<strong>en</strong>. Op dit og<strong>en</strong>blik is er ge<strong>en</strong> <strong>en</strong>kele technologie die betere waarborg<strong>en</strong><br />

voor lange termijn leesbaarheid biedt. Bov<strong>en</strong>di<strong>en</strong> zijn <strong>XML</strong>-docum<strong>en</strong>t<strong>en</strong> gemakkelijk om te zett<strong>en</strong> naar nieuwe<br />

technologieën. Docum<strong>en</strong>tmodellering wordt nog niet op zo'n brede schaal toegepast. Door <strong>XML</strong> toe te pass<strong>en</strong><br />

als inkapselingsformaat beperkt m<strong>en</strong> de afhankelijkheid van externe bronn<strong>en</strong> <strong>en</strong> kan m<strong>en</strong> de autonomie van de<br />

digitale archiefdocum<strong>en</strong>t<strong>en</strong> nog vergrot<strong>en</strong>.<br />

7. Bronn<strong>en</strong><br />

http://www.w3C.org<br />

http://www.xml.com<br />

http://xml.coverpages.org<br />

http://www.covax.org/<br />

42 http://www.prov.vic.gov.au/vers/welcome.htm<br />

43 http://www.library.tudelft.nl/e-archive/<br />

22


http://www.topicmaps.org/xtm/index.html<br />

http://www.w3schools.com<br />

DAVID - <strong>en</strong> <strong>digitaal</strong> archiver<strong>en</strong><br />

R. BOURRET, <strong>XML</strong> and databases, febr. 2002. (http://www.rpbourret.com/xml/<strong>XML</strong>AndDatabases.htm )<br />

J. CLARK¸ Comparison of SGML and <strong>XML</strong>, 1997 (http://www.w3.org/TR/NOTE-sgml-xml.html).<br />

S. GILHEANY, <strong>XML</strong> for records managers, (http://www.archivebuilders.com)<br />

D. MARTIN e.a., Professional <strong>XML</strong>, Birmingham 2000.<br />

R.W. MOORE, The preservation of data, information and knowledge, 2001.<br />

T. SHINKLE <strong>en</strong> R. MARCIANO, Using "<strong>XML</strong>" Standards for the preservation of records, lezing gegev<strong>en</strong> tijd<strong>en</strong>s de<br />

ARMA 2001 Annual Meeting, 3 oktober 2001 te Montreal.<br />

K. THIBODEAU, R. MOORE <strong>en</strong> C. BARU, Persist<strong>en</strong>t Object Preservation: Advanced Computing Infrastructure for<br />

Digital Preservation, in: Proceedings of the DLM-Forum on electronic records. European citiz<strong>en</strong>s and electronic<br />

information: the memory of the Information Society, Brussel, 18-19 oktober 1999, p. 113-118.<br />

E. VAN DER VLIST, <strong>XML</strong> for docum<strong>en</strong>t preservation, 2001. (http://www.xmlhack.com/read.php?item=1030&r=1)<br />

K. WILLIAMSON, <strong>XML</strong>: The complete refer<strong>en</strong>ce, Berkeley, 2001.<br />

23

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!