Validering af OIOXML elektronisk regning

Vigtig information om validering af OIOXML elektronisk regning

Spørgsmål vedr. artiklen bedes rettet til  .

Vigtige links

> Online validering

> Valideringsschematron

Dette notat præciserer, hvordan validering af elektroniske regninger baseret på OIOXML elektronisk regning bør foregå, og hvilke værktøjer IT- og Telestyrelsen stiller til rådighed til valideringen. Følgende 3 emner behandles i notatet:

  1. Elektroniske regninger skal valideres mod lokale XML skemaer
    Applikationer, som dynamisk refererer til XML skemaer på IT- og Telestyrelsens server, risikerer at fejle i tilfælde af netværksproblemer eller andre problemer med driftsstabilitet.

  2. Præcisering af anvendelsen af XML skemaer og øvrige valideringsværktøjer
    Det understreges, at de tilgængelige XML skemaer og værktøjer på ingen måde kan udtrykke alle de integritetsregler, som bekendtgørelsen indeholder. Anvendelsen af XML skemaer til validering er ikke et alternativ til at læse bekendtgørelsen. Det er naturligvis til enhver tid bekendtgørelsens regler, som skal overholdes. Forskellene mellem XML skemaer og værktøjer præciseres.

  3. Anvendelse af OIOXML validator - Et værktøj til validering af OIOXML elektroniske regninger
    OIOXML validatoren er et værktøj for dem, der ikke selv ønsker at konfigurere et udviklingsmiljø med XML-parsere og Schematron validering. Validatoren baserer sig på præcis de samme skemaer, som man ville benytte, hvis man arbejdede med valideringen i sit eget udviklingsmiljø.

Elektroniske regninger skal valideres mod lokale XML skemaer

Et meget væsentligt forhold er, at løsninger bør foretage valideringen mod lokalt lagrede kopier af de XML skemaer, der stilles til rådighed. Der er ingen grund til at foretage dynamiske referencer til XML skemaerne. Applikationer, som dynamisk refererer til XML skemaer på IT- og Telestyrelsens server, risikerer at fejle i tilfælde af netværksproblemer eller andre problemer med driftsstabilitet. IT- og Telestyrelsens server må ikke benyttes som en central komponent i et forretningskritisk system.

Hyperlink ikon Her kan du finde zippede samling af skemaer


Præcisering af anvendelsen af XML skemaer og øvrige valideringsværktøjer

Det er væsentligt at skelne mellem de XML skemaer, der refereres til i bekendtgørelsen om indholdet i OIOXML elektronisk regning, og de værktøjer, som IT- og Telestyrelsen stiller til rådighed som bistand for løsningsudviklere til at teste om de meddelelser, som genereres fra deres systemer, overholder bekendtgørelsen. En væsentlig pointe er, at de tilgængelige XML skemaer og værktøjer på ingen måde kan udtrykke alle de integritetsregler, som bekendtgørelsen indeholder. Anvendelsen af XML skemaer til validering er ikke et alternativ til at læse bekendtgørelsen. Det er naturligvis til enhver tid bekendtgørelsens regler som skal overholdes.

Der skelnes i dette notat mellem følgende XML skemaer og værktøjer:

  • De XML skemaer, der refereres til i bekendtgørelsen om indholdet i OIOXML elektronisk regning. Disse skemaer omtales som de ”svagt validerende skemaer”.
  • De XML skemaer, som stilles til rådighed som et værktøj fra IT- og Telestyrelsen og som tilbyder en stærkere validering end de ”svagt validerende skemaer”. Disse skemaer udtrykker i højere grad de integritetsregler, som bekendtgørelsen indeholder, og skemaerne omtales derfor som de ”stærkt validerende skemaer”.
  • Endelig tilbydes et værktøj til betinget validering ved hjælp af Schematron. Integritetsregler, som går på interne afhængigheder mellem elementer, kan ikke udtrykkes med XML Schema. IT- og Telestyrelsen stiller en Schematron-baseret validering til rådighed som et supplerende værktøj.

cirkelskema

Figuren illustrerer, hvordan det mulige udfaldsrum bliver mindre og mindre, jo stærkere validering, der benyttes. Den stærke validering suppleret med en Schematron-baseret validering sikrer tættere overensstemmelse med bekendtgørelsen end de svagt validerende skemaer eller de stærkt validerende skemaer alene.

I det følgende præciseres forskellene mellem XML skemaer og værktøjer yderligere.

XML skemaer til validering af elektroniske regninger jf. bekendtgørelse om indholdet i OIOXML elektronisk regning

Bekendtgørelsen om indholdet i OIOXML elektronisk regning refererer til følgende XML skemaer under linket Eksempler (XML-skemaer LAX) til højre.

XML skemaerne, som bekendtgørelsen har taget sit afsæt i, bygger på en fælles offentlig OIOXML standard vedtaget i foråret 2004. XML skemaerne omtales som ”svagt validerende” og kan alene validere struktur og basale datatyper for de enkelte elementer i en elektronisk regning / kreditnota. XML skemaerne kan ikke stå alene og fritager på ingen måde applikationsudvikleren fra at læse bekendtgørelsen. Applikationsudviklere kan med andre ord ikke forlade sig på, at XML skemaerne udtrykker alle de integritetsregler, som kommer til udtryk i bekendtgørelsen.

Formålet med de svagt validerende skemaer er med andre ord, at de danner den formelle XML-valideringsramme, som bekendtgørelsen om indholdet i OIOXML elektronisk regning bygger på.

XML skemaer med stærkt validering – et supplerende værktøj

IT- og Telestyrelsen har udviklet et supplerende sæt XML skemaer, som omtales som de ”stærkt validerende skemaer”, som i højere grad validerer de udfaldsrum og integritetsregler, som bekendtgørelsen indeholder. Der er udviklet følgende stærkt validerende XML skemaer under linket Eksempler (XML-skemaer STRICT) til højre.

 

XML ikon Elektronisk regning - en fuldt fortolket elektronisk regning (strict)

XML ikon Elektronisk kreditnota - et fuldt fortolket eletronisk kreditnota (strict)

XML ikon Elektronisk regning (Læs Ind-bureau) - en elektronisk regning  fra et Læs Ind-bureau (strict)

XML ikon Elektronisk kreditnota (Læs Ind-bureau) - et elektronisk kreditnota fra et Læs Ind-bureau (strict)

 

De stærkt validerende skemaer stilles til rådighed som et tilbud fra IT- og Telestyrelsen, og der stilles ikke krav om, at disse skemaer anvendes. IT- og Telestyrelsen anbefaler dog, at løsningsudviklere sikrer sig, at de regninger som afsendes fra deres applikationer vil kunne valideres med et af de stærkt validerende skemaer. Det er IT- og Telestyrelsens opfattelse, at de stærkt validerende skemaer kan være et nyttigt værktøj under udviklingen og den senere test af en løsning. Det står en løsningsudviklere frit for at lade de stærkt validerende skemaer indgå som en integreret del af en applikation.

Formålet med de stærkt validerende skemaer er med andre ord at tilbyde en stærkere validering, som ligger tættere på de integritetsregler, som bekendtgørelsen om indholdet i OIOXML elektronisk regning indeholder.

Betinget validering med Schematron

Det ligger ikke indenfor rammerne af XML skema at validere såkaldt betinget information. Betinget information er information / elementer, hvis indhold afhænger af anden information. Et eksempel kunne være, at et ID-element kan indeholde enten et CVR-nummer på 8 cifre eller en EAN-lokationsnummer på 13 cifre, som skal overholde en modulus-funktion. Et XML skema kan ikke sikre / validere, at et sådant ID-element indeholder det korrekte antal cifre afhængig af typen, eller om EAN-lokationsnummeret er validt i henhold til modolus-funktionen.

Med valideringssproget Schematron er det muligt at foretage en lang række af denne type betingede integritetscheck. For at bistå løsningsudviklere, har IT- og Telestyrelsen derfor forsøgt at udtrykke et antal integritetsregler i Schematron.

Schematron filen og en kortfattet vejledning i brugen af Schematron er tilgængelig i en zip-fil:

ZIP ikon Schematron (m. vejledning)


Formålet med Schematron valideringen er med andre ord at tilbyde et værktøj, som kan udtrykke yderligere integritetsregler, som bekendtgørelsen om indholdet i OIOXML elektronisk regning indeholder, og som ikke kan udtrykkes med XML skema.

Anvendelse af OIOXML validator – Et værktøj til validering af OIOXML elektroniske regninger

IT- og Telestyrelsen har fået udviklet et online værktøj til validering og transformation af OIOXML elektroniske regninger. Validatoren gør det muligt via en simpel grænseflade at teste om en meddelelse kan validere mod hhv. de svagt validerende skemaer eller de stærkt validerende skemaer suppleret med Schematron-valideringen. Værktøjet kan være nyttigt for løsningsudviklere, der af forskellige årsager ikke ønsker eller har mulighed for at etablere et udviklingsmiljø, hvor valideringen kan foretages lokalt. OIOXML validatoren baserer sig på MSXML-parseren fra Microsoft og anvender de XML skemaer og de Schematron-filer, der er tilgængelige via oio.dk. Der er med andre ord ikke forskel på den validering, som en bruger kan foretage lokalt med en tilsvarende parser og den validering, som foregår via OIOXML validatoren.

Vælger man at validere med ”stærk validering” får man i tilknytning til eventuelle fejl som følge af den stærke validering med XML skema, også præsenteret eventuelle fejl som følge af Schematron valideringen. Fejlmeddelelserne er tydeligt adskilt, så man kan skelne mellem hvilke fejl, der kommer fra XML skema parseren og Schematron valideringen. OIOXML validatoren må på ingen måde blive brugt via automatiserede opslag som en integreret del af en løsning.

Sidst opdateret 31.05.2011 kl. 12.06
Til top