Skrevet af Tobias Hinnerup den 16. september 2006. Sidst redigeret den 6. marts 2008. © Alle rettigheder forbeholdt.
Skrevet for Dansk Metals magasin IT2U, trykt i nummer 17, 2004.
Præcis som når kommunikation sker mellem mennesker, er det i forbindelse med computer-systemer nødvendigt, at afsender og modtager er enige ikke alene om hvilket "sprog" der kommunikeres på, men også at de ord der anvendes tillægges samme semantiske tolking. Traditionelt er valget af sprog afgjort af geografi, og semantikken fastlagt af en faglig sammenhæng. Men for computer-baseret kommunikation er geografi relativt betydningsløs, og faglig sammenhæng et særdeles luftigt begreb. OIOXML er det offentlige danmark's bud på en løsning, der både fastlægger et fælles kommunikationsformat og definerer den benyttede semantik.
XML står for eXtensible Markup Language, og er defineret ud fra krav som bland andre at data i formatet skal være:
Formatet definerer en hierarkisk træ-struktur, i hvilken der kan være præcis et øverst element, der kan indeholde et vilkårligt antal elementer, der hver især igen kan indeholde et vilkårligt antal elementer, og så fremdeles.
De individuelle elementer i formatet kan vælges frit, og et eksempel på data i XML-format kunne være:
<?xml version="1.0" encoding="iso-8859-1"?>
<paragraph>
<word>
Hello
</word>
<word>
World
</word>
</paragraph>
I ovenstående er "<paragraph>" og "<word>" element-navne, og "Hello" og "World" er data. Med en sådan repræsentation kan en sætning opbygges af, eller indeholde, et vilkårligt antal ord.
Siden den 10. februar 1998 har XML været World Wide Web Consortium's (W3C) anbefalede format til udveksling af data mellem computer-systemer. Med introduktionen af XML Schema i maj 2001, tre år senere, blev etableret en standard for beskrivelse af struktur, indhold og betydning af data i XML-format.
I september 2003 forpligtede landets 279 kommuner sig, sammen med amterne og 79 statslige institutioner, til at skabe en fælles fremtid i den digitale forvaltning. Mission: Få systemerne til at tale og fungere sammen.
Anbefalingerne fra W3C for XML og XML Schema danner grundlaget for løsningen på denne opgave, og har fået det overordnede navn Offentlig Information Online XML (OIOXML ). OIOXML består primært af to delprojekter - henholdsvis en standardiseringsproces og etablering af en database over standardiserede elementer, navngivet Infostrukturbasen (ISB) - og sekundært af en række regelsamlinger.
Standardiseringsprocessen har til mål at fastlægge standarder i XML for udveksling af data mellem offentlige myndigheder og mellem offentlige og private institutioner.
Et XML Schema er i sig selv et XML dokument. Formålet med et XML Schema er, at definere hvilke data der er gyldige i et givent XML dokument.
Et XML Schema definerer, hvilke elementer der kan forekomme, samt disses:
Med udgangspunkt i eksemplet fra boksen "Fakta: Hvad er XML?", kan et XML Schema for sætninger opbygges som herunder.
<?xml version="1.0" encoding="iso-8859-1"?>
<xs:schema
targetNamespace="http://hinnerup.net/2004/articles/oioxml/"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:th="http://hinnerup.net/2004/articles/oioxml/"
xmlns:xs="http://www.w3.org/2001/XMLSchema" >
<xs:element
name="paragraph">
<xs:complexType>
<xs:sequence>
<xs:element
ref="word"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="word" type="xs:string"/>
</xs:schema>
I ovenstående er præcis beskrevet, at et XML dokument, for at overholde dette XML Schema, skal bestå af et øverste element med navnet "paragraph". Dette element må indeholde et ubegrænset antal forekomster af elementer med navnet "word" - og "word" elementer må slutteligt indeholde data af typen "string".
Tilbundsgående forklaring af attributterne Namespace og xmlns kan findes i bla. W3Schools Onlinekursus i XSD.
For at angive i XML dokumentet hvilket XML Schema det overholder, skal angives en reference til det, som i nedenstående.
<?xml version="1.0" encoding="iso-8859-1"?>
<paragraph
xmlns="http://hinnerup.net/2004/articles/oioxml/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://hinnerup.net/2004/articles/oioxml/
Paragraph.xsd">
<word>
Hello
</word>
<word>
World
</word>
</paragraph>
Som en bonus vil det, ud fra de to ovenstående eksempler, være muligt maskinelt at afgøre hvorvidt XML dokumentet rent faktisk er i overensstemmelse med det XML Schema hvis definition det angiver at overholde.
Den grundliggende tanke er, at der i den data-udveksling der foregår mellem offentlige og private myndigheder, institioner og virksomheder er en hyppig gentagelse af grundlæggende data-elementer, såsom eksempelvis personnavne og adresser. Idéen er, at frem for at hver enkelt instans definerer egne, og dermed sandsynligvis forskellige, repræsentationer af disse elementer, kan en fælles standard etableres og dermed blive en "byggesten", der kan anvendes ved opbygning af fremtidige systemer.
Den tilsigtede gevinst ved en sådan fremgangsmåde, er dels at reducere omkostninger i forbindelse med systemudvikling - i og med at "den dybe tallerken" ikke skal genopfindes hver gang - dels at sandsynliggøre, at systemer der ikke fra starten af er tiltænkt at kommunikere med hinanden, på fornuftig vis vil kunne bringes til at kunne dét.
Udviklingen af de standardiserede elementer, foregår som en åben proces, hvor alle har mulighed for at deltage og komme med forslag til standarden, inden den bliver fastlagt - meget i stil med den fremgangsmåde f.eks. W3C benytter. Når en enhed har et forslag til en standardisering klar, offentliggøres dette til høring i en periode på 30 dage. Under høringen er det mulight for interesserede at stille spørgsmål og forslag til standardernes elementer, hvorefter disse eventuelt justeres, og derefter overgår til at være egentlige standarder. Derved sikres, at de standardiserede elementer har den bredest mulige appel og anvendelighed.
Etableringen af Infostrukturbasen (ISB) kan opfattes som "fase 2" i OIOXML, i og med at denne indeholder informationer om de standardiserede elementer, samt information om hvordan man får adgang til disse standarder, samt oplysning om hvem der er ansvarlig for de pågældende standarder.
I ISB er de mest fundamentale elementer fra starten oprettet af en central gruppe, Nøgledata-arbejdsgruppen, sådan at disse kan benyttes som byggesten af myndigheder, virksomheder og institioner til at skabe standarder inden hver deres virkefelt, og dermed udvide ISB med disse standarder - der så efterfølgende kan anvendes, enten i deres helhed eller i fragmenter, som byggesten i andre standarder. Nøgledata-arbejdsgruppens standarder er altså tiltænkt at være "lavine-starteren", på hvis fundament kommende standarder stilles.
Udover processen omkring standardisering og databasen over standarder, er OIOXML suppleret med en række regelsamlinger eller "kogebøger", der strømliner ting som navngivning af elementer i XML ud fra deres indhold, og sikrer en ensartet håndtering af versionering af standarderne.
Disse kogebøger fungerer i praksis som et lagt "oven på" XML Schema - nærmest som en art "OIO Schema for XML Schema" og er dermed i høj grad en essentiel del af OIOXML, i og med at de definerer hvordan XML-data og Schema'er under OIOXML adskiller sig fra vilkårlige andre XML-dokumenter og Schema'er.
Med udgangen af sidste år havde Kommunernes Landsforening etableret standarder for en række centrale formularer på sygedagpengeområdet. Tilsvarende havde Undervisningsministeriet opstillet standarder for udveksling af eksamensbeviser. På den private front valgte Microsoft, som det første sted i verden, at publicere deres dokument-standarder i ISB.
Den 9. februar blev "Referenceprofilen" sendt i høring. Referenceprofilen er den tværoffentlige it-arkitekturkomités bud på en sammenhængende oversigt over de centrale it-standarder, der er relevante i Forbindelse med udbygningen af digital forvaltning. OIOXML er blandt de beskrevne standarder.
Aktivitet skorter det heller ikke på i OIOXML's egne rækker: Med udgangen af januar måned har Told & Skat netop afsluttet en høring på ISB vedrørende XML Schema'er for udveksling af kreditvurderingsoplysninger med bankerne - og Arbejdsmarkedsstyrelsen har tilsvarende afsluttet høring vedrørende XML Schema'er for udveksling af ressourceprofiler under arbejdsevnemetoden.
Kigger man lidt længere ud i tiden, er for eksempel Banestyrelsen i gang med at klarlægge hvilke trafikdata de nu og i fremtiden har brug for at kommunikere, såvel internt som eksternt, med henblik på at omlægge denne kommunikation til XML. Tilsvarende arbejder Vejdirektoratet på at etablere fælles datastandarder på vej- og trafikområdet, for at opnå og sikre den bedst mulige kommunikation mellem vejforvaltninger internt, såvel som andre myndigheder.
Og det er blot toppen af kransekagen - på OIO's side (www.oio.dk) er registreret ikke mindre en 33 igangværende XML-relaterede projekter.
Også i internationalt perspektiv bevæger man sig i retning af en fælles semantik for kommunikation - fra og med den 10. februar har både Ressource Description Framework og Web Ontology Language (OWL) været anbefalinger fra W3C. Begge disse specifikationer beskriver data-genbrug på tværs af applikationer, men sammenlignet med OIOXML er fællesmængden større med OWL end den er med RDF. OWL's sigte er, at skabe en måde at opbygge domæne-, emne- og fag-specifikke "ordforråd", med henblik på at gøre disse ord eller elementer genanvendelige i andre og nye sammenhænge. Hvor OIOXML adskiller sig fra OWL er i tilstedeværelsen af ISB: Med OWL er der helt frit slag for at vælge at definere egne standarder - og intet centralt sted hverken at søge eller publicere de "ordforråd" man definerer.
Med en overvældende opbakningen omkring OIOXML, er der ingen tvivl om, at digital forvaltning i danmark har taget et stort skridt i den rigtige retning - hvilket kun understreges af det faktum, at de internationale standarder på området bevæger sig i samme retning, men rent faktisk er bagude i skrivende stund.
Enjoy your visit.
Tobias Hinnerup
6. marts 2008