![]()
Åpne standarder for datautveksling i offentlig sektor realiseres med XML skjemaer. Bruk av XML skjemaer alene gir imidlertid liten gevinst dersom de ikke inngår i et felles konsept. Det må etableres strenge regler for struktur, navngiving og gjenbruk av XML skjemaer og skjemakomponenter. Gevinstene er:
Økt lesbarhet og enklere tolkning av data som utveksles.
Enklere identifisering og bruk av eksisterende standardiserte skjemakomponenter.
Enklere utvikling av nye standardiserte skjemaer.
Hensikten med dette dokumentet er å definere regler for utvikling av XML skjemaer. Innholdet baserer seg på resultater fra tilsvarende arbeid i regi av det Danske Ministeriet for Videnskap, Teknologi og Udvikling1.
Grensen mellom skjemaer, som kun er fragmenter i en datamodell, og skjemaer som beskriver en konkret grenseflate, kan være flytende. Hovedprinsippet er at utviklingen av et skjema i størst mulig grad skal baseres på gjenbruk av eksisterende typer og elementer. XML skjemaene grupperes i følgende varianter:
Er skjemaer med basis datatyper og verdilister som anvendes overalt. Eksempler på dette er ”FirstName”, ”LastName” og ”CivilRegistrationNumber”. Typene samles i logiske pakker som f.eks. en personpakke.
Er skjemaer med element- og attributtdefinisjoner og benyttes til å ensrette elementnavngivingen på hyppig forekommende elementer og attributter. En elementdefinisjon skal som hovedregel ta utgangspunkt i en definisjon av tilhørende datatype. F.eks. vil definisjonen av elementet ”CivilRegistrationNumber” være basert på typen ”CivilRegistrationNumberType”.
Inneholder referanser til sentrale elementer og typer. Pakker organiseres logisk etter bestemte områder som personer, adresser osv. Fordelen er at skjemautvikleren enkelt kan importere en hel samling relevante typer og elementer ved kun å referere til en enkelt pakke.
Bygger på de sentrale typer og elementer. I motsetning til pakker vil sammensatte skjemaer typisk beskrive struktur, semantikk og kardinalitet på elementer for en større struktur, som igjen kan inngå i andre sammenhenger. Et sammensatt skjema viser et gitt områdes forståelse av f.eks. en adresse. Den samme basispakke for Adresse kan brukes i forskjellige områder.
Beskriver et grensesnitt mellom 2 systemer og består typisk av en eller flere sammensatte skjemaer. Rotelementet i et grensesnittskjema gjenspeiler konteksten hvor skjemaet inngår.
Nye elementer, typer eller komplekse skjemaer skal kun defineres når det i forveien ikke finnes en anerkjent standard på området. Følgende skjemadatabaser bør kontrolleres:
ebXML Core Component Dictionary v1.04: http://www.ebxml.org/specs/ccDICT_print.pdf
UK GovTalk: http://www.govtalk.gov.uk
XML.org Registry: http://www.xml.org/xml/registry.jsp
DOD XML Registry: http://diides.ncr.disa.mil/xmlreg/user/index.cfm
Et XML skjema skal uttrykkes i XML Schema Definition Language og overholde W3C’s anbefaling av XML skjema av 2. mai 2001. (http://www.w3.org/XML/Schema).
UTF-8 kan representere hele ISO 10646 og foretrekkes internasjonalt.
elementFormDefault skal alltid være qualified
Av hensyn til etterfølgende transformasjon av XML-instanser er det viktig at alle typer og elementer er kvalifisert med et prefiks.
Alle XML skjemastandardens muligheter må utnyttes for å typesjekke data innen de oversendes til en applikasjon. Dette gjøres f.eks. ved bruk av attributter for maks, min, regulære uttrykk og verdilister.
I stedet kan man benytte ”\p{L}*” som angir at man kan benytte alle store og små bokstaver i gjeldende tegnsett.
De sentrale typer og elementer skal være anvendelige på tvers av offentlig og privat sektor og må utformes uavhengig av eksisterende systemer og begrensninger.
Det skal eksplisitt defineres hvorvidt et element tillates å ikke å være utfylt.
For å sikre gjenbruk må man kunne søke frem det enkelte skjema i en database. Enhver type er sentral dersom andre skjemadesignere kan tenkes å ville benytte den.
Bruk av documentation-elementet eller felles verktøy for utfylling av separate metadata-elementer.
Dokumentasjon i form av metadata skal refereres med source-attributtet på documentation-elementet.
For å sikre gjenbruk av skjemafragmenter, skal skjemaet struktureres modulært med anvendelse av navngitte typer og med referanse til elementer og typer.
Skjemaer skal samles i en pakke vha. include-definisjoner.
Datatyper skal defineres i skjemaets rot uansett om de har relevans utenfor det aktuelle skjemaet.
Dersom elementet skal gjenbrukes innenfor, eller på tvers av skjemaer.
Dokumentorientert markup krever at elementer kan inneholde både data og andre elementer.
Elementet som substitueres må være innlemmet i et statisk element.
Kopiering av eksisterende definisjoner fra et skjema til et annet må ikke forekomme.
Med XML skjemaets arvemekanisme kan en ny datatype defineres basert på en allerede eksisterende.
Navngivingskonvensjonen er basert på ISO 11179, ”Spesification and Standardization of Data Elements” med noen avvik ift. endringer vedtatt i ebXML core components, standardisert av OASIS.
Det benyttes entallsform. Dersom elementet eller typen opptrer i kontekst av et objekt, kan objekt-prefikset utelates.
Unngå denne endelsen på elementnavn.
Kun ord på mer enn 8 tegn bør forkortes. Bruk eksisterende forkortelser. Skriv forkortelsen med store bokstaver.
Navngivingen skal sikre at samme definisjon ikke forekommer mer enn en gang.
Suppleres med en norsk forklaring. Dersom det ikke finnes et dekkende engelsk ord, benyttes norsk med engelsk forklaring.
Stor bokstav først og stor forbokstav i alle påfølgende ord.
Liten bokstav først men stor forbokstav i alle påfølgende ord.
Såfremt det ikke eksplisitt benyttes stor forbokstav som f.eks. i egennavn.
For skjemaer benyttes <NamespacePrefixMedVersaler>_<Element-/typenavn>.xsd.
Endelsen ”Interface” legges til.
Det må tilstrebes å velge prefikser som ikke overstiger 4 tegn.
Ved å kopiere den gamle definisjonen og tilføye et fortløpende siffer til det nye navnet.
Samtidig skal alle tidligere versjoner av definerte elementer og typer slettes slik at det nye namespace blir ”rent”.
Releasenummeret skal endres når tidligere versjoner av skjemaet vil forhindre validering av eksisterende dokumenter.
Åpne standarder for datautveksling i offentlig sektor beskrevet som XML-skjemaer i henhold til dette dokumentet vil bidra til en kosteffektiv realisering av eNorge-visjonen både i sentral- og lokalforvaltningen.
Plogen er en norsk rådgivingsorganisasjon som tilbyr et bredt spekter av profesjonelle tjenester innen IKT utvikling og anvendelse.
1 Regelsamling for udvikling av XML Schemaer, den fælles offentlige XML komité, Danmark
-felles løft
mot felles mål