XML en digitaal archiveren - eDAVID
XML en digitaal archiveren - eDAVID
XML en digitaal archiveren - eDAVID
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 />
< <<br />
> ><br />
& &<br />
" "<br />
' '<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