Tegnsæt i OIOXML elektronisk regning
Anvendt tegnsætning i OIOXML elektronisk regning.
Resume
Tegnsættet UTF-8 skal anvendes ved udformning af elektroniske regninger i overensstemmelse med "Bekendtgørelse om information i OIOXML elektronisk afregning med offentlige myndigheder", som kan findes via dette link.
Samtidig skal UTF-8 erklæres som tegnsæt i selve meddelelsen som en del af XML-deklarationen. Se nedenfor:
![]()
Erklæringen er ikke casesensitiv, dvs. at både "UTF-8" og "utf-8" er legale.
Baggrund
Specifikationen for XML fra W3C stiller krav om at alle XML-processorer skal understøtte UTF-8 og UTF-16 kodning af Unicode. Yderligere kræver specifikationen, at meddelelser kodet med UTF-16 skal starte med et byte-order-mark. Meddelelser kodet med UTF-8 kan starte med et byte-order-mark.
I OIOXML elektronisk regning er UTF-8 kodningen af Unicode valgt som enkodningsformat. [Fremhævet 20. april 05]
Supplerende begrundelse: De eksempler der indeholder en fuld meddelelse i "Bekendtgørelse om information i OIOXML elektronisk afregning med offentlige myndigheder" viser begge brugen af UTF-8. UBL-standarden, som OIOXML elektronisk regning bygger på, stiller ligeledes krav om at UTF-8 skal anvendes. Da XML-parsere ikke behøver at understøtte andet end UTF-8 og UTF-16, og da mange forskellige parsere anvendes ved modtagelsen af OIOXML elektronisk regning, og da bekendtgørelsen ikke illustrerer andet end brugen af UTF-8, har det været nødvendigt at gennemtvinge UTF-8 som eneste afleveringsformat.
Bemærk: Åbner man en UTF-8 kodet XML-instans i en editor, som ikke forventer at UTF-8 indeholde et byte-order-mark, kan dette vise sig som tre firkanter i starten af instansen. Dette er et visningsproblem i nogle editorer.
Validering af brugen af UTF-8
For at sikre, at en meddelelse baseret på OIOXML elektronisk regning vil kunne modtages og processeres, skal man sikre sig, at der er overensstemmelse mellem det tegnsæt som er erklæret i XML-erklæringen og det faktiske tegnsæt benyttet i meddelelsen (UTF-8).
Da UTF-8 ikke behøver at indeholde et byte-order-mark (BOM) kan det være svært at afgøre om meddelelsen rent faktisk er en UTF-8-meddelelse. Unicode.org har tilgængeliggjort C-kode, hvormed man kan teste om en streng er UTF-8 kodet med funktionen "isLegalUTF8Sequence".
Afvisning af meddelelser af VANS-operatører
VANS-operatørerne har indført validering af tegnsæt i indkomne meddelelser. Meddelelser, der ikke er kodet i UTF-8 bliver afvist af VANS-operatørerne, medmindre der er truffet særlig aftale med VANS-leverandøren om konvertering fra et tegnsæt til et andet.
English


