Syntaks og struktur i EDI-meddelelser



Relaterede dokumenter
Indholdsfortegnelse. 1. Formål Referencer... 4

Indledning... 2 Opbygning... 2 Servicesegmenternes sammenhæng... 3 UNA... 4 UNB... 6 UNH UNT UNZ... 14

Teknisk Implementerings Guide UN/EDIFACT & UNA/UNB-UNZ

Oversættelse til dansk af APERAK. Application Error and Acknowledgement Message. Dank EDI Message Implementation Guide

2. BRUGEN AF EDIFACT. Indholdsfortegnelse

OIOUBL Guideline. OIOUBL Guideline

Bilagsrapport 4: DataHub - Webservice interface Forskrift F1: EDI-kommunikation med DataHub'en i elmarkedet. Træder i kraft den 1.3.

Kvitteringsprincipper og -regler

Metodeanmeldelse af markedsforskrift F1 - EDIkommunikation

14. KONTROLMEDDELELSE

Meddelelses Implementerings Guide (MIG) for CONTRL meddelelsen

EDI-guide for CONTRL. Version 1.0 Final

Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit.

Internt notat

Håndbog Til CPR services. Bilag 8 GCTP-standard m.m. CPR-kontoret

DAVAR Omdøbt til SagDokumentFormat. Attention er skilt ud i et selvstændigt format, AttentionFormat.

Forskrift F: EDI-kommunikation

NemKonto. XML skemaer for. ukomplette og komplette betalinger. til NKS

Oversættelse til dansk af UTILMD. Utility Master Data Message. Dansk EDI Message Implementation Guide

Forskrift F: EDI-kommunikation

Udgivelsen er beskyttet af Creative Commons license, Navngivning 2.5

STINA-vejledning Automatiseret indberetning

Tilslutning til ecomone Basis (OIO Faktura)

MT 940 Customer Statement Message ( i FINSTA format)

OIOXML dokumentationsguide Person

EDI-kommunikation med DataHub i elmarkedet

BILAG. til KOMMISSIONENS GENNEMFØRELSESFORORDNING (EU).../...

EDI-guide for Regres Bilag 2 Ajourføringshistorik

1 Brug af snitfladebeskrivelsen Formål og beskrivelse Hvad er formålet med snitfladen? Beskrivelse af snitfladen...

DKAL Snitflader Masseforsendelse

Unitel EDI MT940 Juni Baseret på: SWIFT Standards - Category 9 MT940 Customer Statement Message (januar 2004)

Lokale, norske betalinger Business Online

Den Gode VANSEnvelope. MedCom

De gode stamdata. MEDPID01: Triggermeddelelse. Version 1.0. MedCom De gode stamdata, MEDPID01, ver

Den gode lægevagtsafregning 1. oktober 2005 Revideret EDIFACT Facitliste for. MEDRUC Lægevagtsafregning version: U0831U Brvtype: RUC08

AO FORRETNINGSREGLER EDI fakturaer fra vareleverandører. (offentliggøres på Suppliers Portal)

Guideline. EAN-systemet

ABM standard arbejdsgruppen nedsat af Statens Arkiver, Biblioteksstyrelsen og Kulturarvsstyrelsen

Udgivelsen er beskyttet af Creative Commons license, Navngivning 2.5

BILAG 1 GENERELLE BETINGELSER INTERN (VERSION 1.0 AF 31. MAJ 2005) (I DET FØLGENDE KALDET GENERELLE BETINGELSER) OIO STANDARDAFTALE FOR WEB SERVICES

e faktura Betalingsformat version november 2004 Version 2.0

Unitel EDI EDIFACT 96A CREMUL Juni Tillæg til: Danske Pengeinstitutters Vejledning for Finansielle Meddelelser i EDIFACT

15. FINANSIEL AFLYSNINGSMEDDELELSE (FINCAN)

DB EDI-STANDARD VERSION

13. BANK-STATUSMEDDELELSE (BANSTA)

Format og schema beskrivelse. SP-Envelope version DataGruppen MultiMed Side 1 af 17

DB EDI-STANDARD VERSION

Webservice til upload af produktionstilladelser

Den gode doseringskort kvittering

Det gode kommuneadvis 2. juli 2001 Revideret

SUP-specifikation, version 2.0. Bilag 14. SUP-Styregruppen. Ordliste (informativ) Udkast af 12. juni Udarbejdet for

Betalinger til udlandet fra Sverige Business Online

Kommunikationsvejledning omkring kopimodtagere, videresendelse og kvitteringer m.m.

Introduktion til MeMo

OIOUBL Kodeliste. OIOUBL AccountTypeCode K01. Version 1.1. Published under Creative Commons license, attribution 2.0

Integration af DocuBizz og Helios

Dokumentationsguide for dansk Bankkonto

Planhåndtering i det danske elmarked

Indholdsfortegnelse. August 2005 Side 1 af 11

Udgivelsen er beskyttet af Creative Commons license, Navngivning 2.5

Indholdsfortegnelse...1 ORDRE Upload/download...2 Opbygning af Ordrefil...3 Ordrehoved...4 Kontaktinformation...6 Ordrelinier...7 Afstemning...

Vejledning og feltværdier

KRAVSPECIFIKATION for underretningsstatistik

Vejledning til anvendelse af MeMo og SMTP. Næste generation Digital Post Maj 2018, version 0.9

Den gode Børnedatabaseindberetning fra almen praksis

Udgivelsen er beskyttet af Creative Commons license, Navngivning 2.5

Alarms Manager Ekstra

Den gode lægeafregning 1. oktober 2005 Revideret EDIFACT Facitliste for MEDRUC Lægeafregning version: U0131U Brvtype: RUC01

09/ Version 1.4 Side 1 af 37

Underbilag 2O Beskedkuvert Version 2.0

Annonceimport på GulogGratis.dk

TRS orienteringsmøde. Tekniske følgegruppe 2. september 2008 kl.: 13:00-15:00

Anvendelsesvejledning for entydig identifikation af målesteder i naturgas distribution ved hjælp af EAN-systemet.

DESIGNDOKUMENT (Teknisk dokumentation)

Syntaks- og kommunikationsregler. for MedComs EDIFACT meddelelser 1. marts 2001 revideret

XML webservice for pensionsordninger. Version 1.0 Draft A

Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2

Opstartsvejledning ATS aktørudgave

Indholdsfortegnelse. Faktura upload/download - August 2005 Side 1 af 15

OIOUBL Guideline. OIOUBL Guideline

Lokale, finske betalinger Business Online

TravelTales; håndtering af konfigurationsfil

Vejledning for anvendelse af PensionsIndberetningssystem PI

Den danske rollemodel

Bekendtgørelse om ændring af bekendtgørelse om ret til sygehusbehandling m.v.

Filspecifikation. Post Danmark-format PO-112-PostDanmarkformat-DK-dk

Vejledning til validator test af metadata

Forsikring & Pension WebEDI server. Udvekslingsguide Pgf. 41. CSC Danmark A/S SMB Network Consultancy

Definition: unikt beskrivende navn på engelsk, der entydigt refererer til egen- skaben

Da beskrivelserne i danzig Profile Specification ikke er fuldt færdige, foreslås:

Introduktion til MeMo

BEK nr 1334 af 27/11/2017 (Gældende) Udskriftsdato: 26. juni 2019

Digital post Snitflader Bilag C Filbaseret Version 6.3

ecomone Faktura / Kreditnota Layout og eksempler

Den Gode Webservice. version W 1

AO FORRETNINGSREGLER EDI fakturaer fra vareleverandører. (offentliggøres på Suppliers Portal)

Dokumentdefinition. EDI-light Faktura TDC A/S

Nedenstående oversigt viser elementerne i den meddelelse, der skal overføres fra fødeafdeling til kirkekontor/sogn.

RETNINGSLINJER FOR ADRESSEVALIDERING

Transkript:

Forskrift F: EDI-kommunikation Bilagsrapport 1: Syntaks og struktur i EDI-meddelelser November 2011 Rev. 2 Dok.løbenr. 79520-07_v2 1/15

Indholdsfortegnelse 1. EDIFACT-syntaks og -struktur... 3 1.1 EDIFACT-struktur og begreber... 3 1.2 EDIFACT-syntaks... 4 1.2.1 Tegnsæt og opbygning... 4 1.2.2 Brug af reserverede tegn... 4 1.2.3 Undlad overflødige tegn... 4 1.3 Ikke beskrevne segmenter og elementer i meddelelsesguiderne. 4 1.4 Forsendelsesreference, meddelelses-id og forsendelsesversion.. 5 1.5 Faste segmenter... 5 1.5.1 UNA Syntakssegment... 5 1.5.2 UNB EDIFACT envelope for all documents except CONTRL... 5 1.5.3 UNH EDIFACT document header... 8 1.5.4 UNZ... 9 2. XML-syntaks og -struktur...10 2.1 Hvad er XML?...10 2.1.1 XML i elmarkedet...10 2.2 XML-syntaks...11 2.2.1 Well-formness...11 2.2.2 Brug af attributter og tomme tags...11 2.2.3 DTD kontra XML-skema...12 2.2.4 Anvendelse af tegnsæt og karakterer...12 2.3 Forsendelsesreference, meddelelses-id og forsendelsesversion.13 2.4 Core Components...13 2.5 Anvendelse og opbygning af XML-skemaer...13 2.6 Versionering for XML-skema...14 2.7 Referencer...15 Dok.løbenr. 79520-07_v2 2/15

1. EDIFACT-syntaks og -struktur Denne bilagsrapport beskriver den tekniske syntaks og strukturen i EDIFACTstandarden. Indholdet bygger på ebix Common rules and recommendations. 1.1 EDIFACT-struktur og begreber 1 EDIFACT er en FN-standard (UN/CEFACT), der bruges til at flytte data i struktureret form. Det betyder, at EDIFACT er underlagt nogle syntaksregler, der gælder til enhver tid, og som altid skal overholdes. EDIFACT indeholder følgende begreber: En forsendelse består af alle oplysninger i en forsendelse. En fysisk forsendelse kan bestå af én eller flere meddelelser. En forsendelse har én afsender og én modtager. En meddelelse er eksempelvis: o Målinger o Planer I Danmark er det reglen, at der kun må sendes én meddelelse pr. forsendelse. Et segment er en gruppering af sammenhørende dataelementer/felter. Det kan f.eks. være en adresse. I segmentet udspecificeres adressen i navn, vej, postnummer, by, land osv. Et sammensat dataelement består af to eller flere dataelementer. Et dataelement/felt er de enkelte informationer, der sendes i et segment. Det kan f.eks. være en tidsangivelse eller en et antal kilowatt timer. En fysiske forsendelse UNA UNB Meddelelse Meddelelse Meddelelse UNZ UNH Segment Segment Segment Segment UNT Dataelement+Sammensat dataelement+sammensat dataelement+sammensat dataelemen+... Dataelement:Dataelement:Dataelement:Dataelement:Dataelement:Dataelement:Dataelement: Ovenstående figur illustrerer de fire begreber anvendt i relation til hinanden. UNA, UNB og UNZ er segmenter, der bruges til at angive begyndelsen på og afslutningen af en forsendelse. UNH og UNT er segmenter, der bruges til at angive begyndelsen og afslutningen på en meddelelse. 1 Afsnittet bygger på UN/CEFACT http://www.gefeg.com/jswg/ Dok.løbenr. 79520-07_v2 3/15

Følgende tegn anvendes til at markere adskillelse, afslutning mv. i forbindelse med dataelementer og segmenter: + Markerer adskillelse mellem dataelementer og mellem segmenter. ' Markerer, at et segment er færdigt. : Markerer adskillelse mellem de enkelte datafelter i sammensatte dataelementer; det vil sige flere felter, der beskriver det samme. 1.2 EDIFACT-syntaks Grundregler for meddelelser anvendt i elmarkedet: 1.2.1 Tegnsæt og opbygning EDIFACT skal sendes som en lang linje (streng) uden linjeskift. Forsendelser skal altid sendes i tegnsættet ISO 8859-1, også kaldet UNOC. I UNB en skal yymmdd og hhmm udfyldes fuldt ud. Det vil sige, at man ikke må nøjes med at sende f.eks. 645 for at angive klokkeslettet. Det korrekte er 0645. Meddelelsesnavne og segmentnavne skrives altid med STORT, når de transmitteres. EDIFACT version 3 anvendes i Danmark. 1.2.2 Brug af reserverede tegn Segmentet UNA beskriver de skilletegn (reserverede tegn), der benyttes i den fremsendte EDIFACT. Standarden er: UNA:+.? Hvis man bruger et af de reserverede tegn (+, :, '), skal man sætte et spørgsmålstegn (?) foran. F.eks. skal addition af to tal (f.eks. 10 + 20) angives som 10?+20. Hvis man skal bruge et spørgsmålstegn, skal man skrive to spørgsmålstegn (??). Det første spørgsmålstegn betyder, at det næste har sin normale betydning. Bruger man en sådan 'release'-karakter, tæller den ikke med i feltlængden. Hvis et felt rummer mulighed for 20 alfanumeriske karakterer, og der er brug for 2 'release'-karakterer, kan feltet fylde op til 22 karakterer. 1.2.3 Undlad overflødige tegn Efterstillede plusser (+) i hele segmentet slettes. Efterstillede koloner i hvert enkelt data slettes. Foranstillede plusser (+) eller koloner (:) slettes ikke. Dataelementer (felter) kan springes over ved at udelade felternes 'værdi'. F.eks. 24500+45++25600, hvor feltværdien mellem 45 og 25600 er udeladt. Hvis der er tale om et sammensat dataelement, kan det f.eks. blive 3650:3575::3400, hvor feltværdien mellem 3575 og 3400 er udeladt. 1.3 Ikke beskrevne segmenter og elementer i meddelelsesguiderne EDIFACT-meddelelser skal leve op til alle beskrevne regler i forskriften. Såfremt en aktør modtager EDIFACT-meddelelser, der indeholder yderligere segmenter og elementer, der ikke står beskrevet i de gældende guidelines, skal disse igno- Dok.løbenr. 79520-07_v2 4/15

reres. Det må således ikke give anledning til en fejlmeddelelse til afsender, så længe meddelelsen overholder den grundlæggende struktur for den pågældende EDIFACT-meddelelse (f.eks. UTILMD eller UTILTS). 1.4 Forsendelsesreference, meddelelses-id og forsendelsesversion Forsendelsesreferencen (interchange control reference) findes i UNBsegmentets element S004.0020, som skal være unikt over tid for afsender defineret i S002. Hvis det ikke er tilfældet, skal den sidst modtagne meddelelse automatisk afvises. Meddelelses-ID (message ID) findes i BGM-segmentets element C002.1004 og anvendes til unik identifikation af en meddelelse. Meddelelses-ID skal være unik over tid for hver aktør. Forsendelsesversion benyttes ikke i EDIFACT. 1.5 Faste segmenter Herunder beskrives udvalgte service-segmenter (UN-segmenter). UNA og UNB 1.5.1 UNA Syntakssegment UNA indleder en forsendelse og kan betragtes som forsendelsens konvolut. UNB anvendes af det modtagende EDI-system til genkendelse af afsender og modtager. Function: Classification: Service String advice Til angivelse af notation i EDIFACT-udvekslingen Conditional, (1) Comments: Nedenstående er default. Anvendes i Danmark UNA UNA:+.? ' Ref. Name Cl. Form. Description SAMMENSAT DATAELEMENT, SEPARATOR DATAELEMENT, SEPARATOR M an1 : (kolon) M an1 + (Plus) DECIMAL NOTATION M an1. (punktum) OPHÆVELSESTEGN M an1? (spørgsmålstegn) RESERVERET FREMTIDIG BRUG M an1 (blank) SEGMENT TERMINATOR M an1 ' (apostrof) 1.5.2 UNB EDIFACT envelope for all documents except CONTRL UNB Interchange Header Dok.løbenr. 79520-07_v2 5/15

Function: Classificatio n: Til identifikation og adressering af forsendelsen, angivelse af kvitteringsanmodning, samt testindikation. Mandatory (M1). Comments: Brugen af UNB-segmentet skal aftales i en forsendelsesaftale. Example: UNB+UNOC:3+5790000395620:14+5790000432752:14+070120:16 06+31929++DK-TIS-MET++1+DK Ref. Name Cl. Form. Description S001 SYNTAX IDENTIFIER M 0001 Syntax identifier M a4 Kode: UNOC (ISO 8859-1) S002 INTERCHANGE SENDER M 0002 Syntax version number M n1 Kode: 3 Version 3 af EDIFACTsyntax Skal anvendes hvis Syntax identifier er UNOC 0004 Sender identification M an..35 GLN- eller EIC-nummer. 0007 Partner identification code qualifier 0008 Address for reverse S003 routing INTERCHANGE RECIPIENT R an..4 Kode: 14 GLN (Global Location Number) 305 EIC (European Identification Code) O an..14 Kun hvis bilateralt aftalt. 0010 Recipient identification M an..35 GLN eller EIC nummer. 0007 Partner identification code qualifier M R an..4 Kode: 14 GLN (Global Location Number) 305 EIC (European Identification Code) 0014 Routing address O an..14 Kun hvis bilateralt aftalt. S004 DATE AND TIME OF PREPARATION M 0017 Date M n6 Dato for dannelse af forsendelsen (YYMMDD) 0019 Time M n4 Klokkeslæt for dannelse af forsendelsen (TTMM) Dok.løbenr. 79520-07_v2 6/15

0020 INTERCHANGE CONTROL REFERENCE S005 RECIPIENTS REFERENCE, PASSWORD 0022 Recipient's reference/ password 0025 Recipient's reference/ password qualifier 0026 APPLICATION REFERENCE M an..14 Entydig forsendelsesreference. Skal matche med dataelement X X X an..14 an..2 0020 i UNZ Skal være unik over tid for afsender defineret i element S002.0004 ellers skal forsendelsen afvises. O an..14 BPI anvendes jf. nationale regler eller ebix Business information models. 0029 PROCESSING PRIORITY CODE 0031 ACKNOWLEDGEMENT REQUEST 0032 COMMUNICATION AGREEMENT ID X a1 O n1 Kode: 1 Kvittering sendes blank Ingen kvittering O an..35 Kode: DK Danske kommunikations bestemmelser. 0035 TEST INDICATOR D n1 Kode: 1 Anvendes hvis forsendelsen er en test. Skal bilateralt aftales. blank Meddelelsen er i produktion. Dok.løbenr. 79520-07_v2 7/15

1.5.3 UNH EDIFACT document header UNH-segmentet er beskrevet, idet dansk praksis for elementet 0068 afviger fra ebix. UNH Function: Classification: Comments: Example: Message header UNH sendes en gang pr. dokument i en forsendelse og fortæller, hvilken meddelelse der sendes, versionsnummer og kode for udvekslingssamarbejde. Mandatory (M1). UNH+1+UTILMD:D:02B:UN:E5DK02+DK-BT-001-002' Ref. Name Cl 0062 MESSAGE REFERENCE NUMBER. Form. Description M an..14 Angiver en entydig reference for meddelelsen. S009 MESSAGE IDENTIFIER M 0065 Message type identifier M an..6 Angivelse af den anvendte meddelelse (f.eks. UTILMD) 0052 Message type version number 0054 Message type release number M an..3 M an..3 EDIFACT meddelelsesversion. 0051 Controlling agency M an..2 Organisation meddelelsen er underlagt. 0057 Association assigned code 0068 COMMON ACCESS S010 REFERENCE STATUS OF THE TRANSFER 0070 Sequence message transfer number 0073 First/last seq. mess. transfer. Indicator. C an..6 MIG versions nummer. Se MIG. Skal anvendes. C an..35 Business Combined id C M C n..2 a1 Dok.løbenr. 79520-07_v2 8/15

1.5.4 UNZ UNZ Function: Classification: Comments: Example: Interchange Trailer Til afslutning af forsendelse, samt angivelse af total antal meddelelser i forsendelse Mandatory (M1). Dataelement 0020 skal være identisk med 0020 i UNB UNZ+1+358765298' Ref. Name Cl 0036 INTERCHANGE CONTROL COUNT 0020 INTERCHANGE CONTROL REFERENCE. Form. Description M n..6 Antal meddelelser i forsendselse M an..14 Skal matche med dataelement 0020 i UNB-segmentet Dok.løbenr. 79520-07_v2 9/15

2. XML-syntaks og -struktur Afsnittet er en hjælp til aktører i det danske elmarked, der skal anvende XMLmeddelelser. Som følge af, at XML ikke er en standard, gør man i elmarkedet brug af rammeværk, der består af en række grundkomponenter, som meddelelserne opbygges af. De enkelte meddelelser er ikke beskrevet på samme måde som EDIFACT-meddelelser. 2.1 Hvad er XML? XML 2 er et sprog, der benyttes til at beskrive data på en struktureret og generel måde. Data beskrives i XML ved brug af ren tekst, der opdeles i en træstruktur. Træstrukturen angives ved brug af tags, der er en opmærkning af data, som vist i det følgende eksempel: <person> <navn>per</navn> <postnr>5000</post> </person> Når data opmærkes, giver det mulighed for struktureret udveksling mellem to eller flere partner. I XML står det enhver frit at definere en vilkårlig opmærkning. Derfor er det i de fleste sammenhænge nødvendigt at definere en standardiseret opmærkning til brug for dataudvekslingen. I elmarkedet er man i flere organer blevet enige om en fælles standard for XMLforsendelser, der standardiser opmærkningen af data. Dette sikrer, at dataindholdet i forsendelserne fortolkes ens af afsender og modtager. XML-forsendelsen i sig selv er ren tekst lagret i en tekstfil. Der skal derfor også tages stilling til hvilken metode, der benyttes til transport af forsendelsen frem til modtageren. Dette kan gøres f.eks. via en webservice eller per e-mail. 2.1.1 XML i elmarkedet I elmarkedet benyttes en standardiseret opmærkning i XML-baseret på ENSTO- E's XML-standarder. I forbindelse med forsendelser relateret til planhåndtering er det specielt ETSO's ESS-standard, der ligger til grund for standardiseringen. ESS er introduceret som tværeuropæisk standard for udveksling af data mellem systemoperatører og mellem systemoperatører og balanceansvarlige. ESS består af en række standardmeddelelser og kernekomponenter, der muliggør design af nye meddelelser ved at gøre brug af det rammeværk, der indgår i kernekomponenterne. ESS ligner ikke tidligere XML-meddelelser, der har været anvendt på det danske elmarked, som f.eks. Eltras XML-DELFOR, der var en direkte oversættelse af EDIFACT til XML. 2.2 XML-syntaks XML (extensible Markup Language) består af tags, der omslutter og derved opmarkerer typen af data. Et postnummer kunne for eksempel være markeret med en start-tag <postnr> og slut-tag </postnr> (se eksemplet herunder). 2 extensible Markup Language Dok.løbenr. 79520-07_v2 10/15

<postnr>5000</postnr> I ovenstående eksempel giver værdien 5000 nu mening, idet det er defineret som et postnummer. Alternativt kunne værdien symbolisere hvad som helst. Start-tag er defineret ved: <tag-navn> Slut-tag er defineret ved: </tag-navn> Tilsammen definerer start-tag, slut-tag og indholdet mellem disse et element. I ovenstående eksempel definerer tag en postnr således elementet. En tag kan også indeholde attributter, der giver yderligere information og dermed værdi i forhold til indholdet af tag en, udover navnet. Attributter erklæres inde i start-tag en med navn som vist i eksemplet herunder. <postnr landekode= DK >5000</postnr> I ovenstående eksempel giver attributten landekode= DK eksempelvis information om, at indholdet af tag en (5000) er et dansk postnummer. Attributter defineres i start-tag en ved: attributnavn= attributværdi Alternativet kunne være en efterfølgende tag for landekoden (se eksemplet herunder) <postnr>5000</postnr> <landekode>dk</landekode> 2.2.1 Well-formness Hvis et XML-dokument skal være velformet (well-formness), skal dokumentet overholde W3C s XML-specifikation på den måde, at der er nøjagtigt ét rodelement. Alle elementer skal omsluttes af en start-tag og en slut-tag. Hvis elementet er tomt skal der anvendes tags som beskrevet i afsnit 2.2.2. Se et eksempel på anvendelse af tags herunder. <rod-element> <navn>per</navn> <postnr>5000</post> </rod-element> Ovenstående eksempel er well-formed efter den beskrevne specifikation. 2.2.2 Brug af attributter og tomme tags En tag kan indeholde et vilkårligt antal forskellige attributter. En attribut defineres ved: <tag-navn attributnavn= attributværdi > Dok.løbenr. 79520-07_v2 11/15

En tag behøver ikke nødvendigvis at indeholde data. I så fald er der tale om en tom tag. En tom tag kan defineres ved enten en start- og slut-tag uden noget indhold imellem eller som vist i eksemplet herunder. <postnr/> En tom tag defineres ved enten: <tag-navn></tag-navn> eller ved: <tag-navn /> 2.2.3 DTD kontra XML-skema Document Type Definition (DTD) og XML Schema Definition (XSD) er to mulige måder, hvorpå man kan definere indehold, struktur og type-definitioner for et XML-dokument. DTD har tidligere været ret udbredt i forbindelse med definition af XML-beskedens indhold direkte i XML-dokumentet. I dag går tendensen dog mod separate skema-filer (XSD) til definition af XML-dokumentets indhold. XSD gør det nemt at: beskrive muligt indhold validere korrektheden af data definere datafacetter (restriktioner for dataindhold) definere datamønstre (dataformater) konvertere data mellem forskellige datatyper (ved brug af redefine) Desuden er udvikling og validering af XSD understøttet af en række XMLeditorer, parsere og andre værktøjer. Valideringen af et XML-document sker i forhold til datadefinitionen (enten DTD eller XSD). 2.2.4 Anvendelse af tegnsæt og karakterer I den standardiserede XML-standard anvendes UTF-8 tegnsættet, der er bagudkompatibelt med ASCII-tegnsættet. UTF-8 er et 2 bytes pr. tegn-tegnsæt, der er en komprimeret version af Unicode. Encoding angives i starten af XML-filen på følgende måde: <?xml version="1.0" encoding="utf-8"?> XML-syntaksen indeholder en række reserverede tegn, der ikke må optræde i indholdet i elementer eller attributter: Dok.løbenr. 79520-07_v2 12/15

Reserveret tegn Alternativ notation < kan skrives som < > kan skrives som > & kan skrives som & " kan skrives som " ' kan skrives som &apos; XML-notationen er case-sensitiv (gælder ikke indholdet i et element). Elementet <Identifikation></ Identifikation> er ikke det samme som <identifikation></ identifikation> på grund af forskellen på det store og lille I/i. 2.3 Forsendelsesreference, meddelelses-id og forsendelsesversion En XML-meddelelse har ikke en forsendelsesreference, men et unikt meddelelses-id, der opnås ved kombination af elementerne MessageIdentification og MessageVersion. Versionsnummeret er fortløbende startende med 1. Er placeret i elementet MessageVersion. 2.4 Core Components Core Components er en række kernekomponenter defineret af UN/CEFACT (United Nations Centre for Trade facilitation and Electronic Business). Core Components er syntaksneutrale og teknologineutale i deres grundform og kan bruges til datamodellering. CCTS (Core Component Technical Specification) sikrer en høj grad af genbrug på tværs af meddelelser og forbedrer interoperabiliteten imellem it-systemer. Formålet med disse komponenter er, at de er så generiske, at de kan anvendes i en række forskellige meddelelser. Det er komponenter, der eksempelvis definerer rolle-begrebet, dato-tidsstempler og beskedtyper. Der er tale om komponenter, der flere gange anvendes i sammenhæng med forskellige beskedtyper. Hvor det er muligt, bør disse kernekomponenter anvendes, ligesom der bør tænkes på kandidater til kernekomponenter, når der udvikles nye beskedtyper. 2.5 Anvendelse og opbygning af XML-skemaer XML-skemaer anvendes til at validere XML-meddelelsen ved afsendelse og modtagelse. Hvis XML-meddelelsen ikke stemmer overens med skemaets definitioner, er meddelelsen ikke valid og bør derfor afvises. Dette sker med en Acknowledgement document. XML-skemaer skal struktureres således, at der er stærk binding internt i skemaet og mulighed for genbrug. Ved stærk binding forstås, at et element i et skema skal have en relation til de resterende elementer i skemaet. Hvis der er elementer, der kan genbruges i andre skemaer, skal disse dog som hovedregel udtrækkes i separate skemaer (generalisering). Hvert XML-skema skal struktureres således, at child-notes indlejres i parentnotes, hvorved der kun findes ét hoved-element defineret i hvert skema (se eksemplet herunder). <element name="adresse" type="adressetype"/> Dok.løbenr. 79520-07_v2 13/15

<complextype name="adressetype"> <xsequence> <element name="vejnavn" type="string"/> <element name="nummer" type="integer"/> <element name="postnummer" type="postnummertype"/> </sequence> <attribute name="id" type="string"/> <attribute name="version" type="string"/> </xs:complextype> <simpletype name="postnummertype"> <restriction base="integer"> <pattern value="\d{4}"/> </restriction> </simpletype> 2.6 Versionering for XML-skema XML-skemaer, der er udviklet til kommunikation mellem Energinet.dk og deres eksterne parter, anvender et target namespace, der er opbygget som følger: http://www.energinet.dk/schemas/ +<subnamespace>+ / +<document>+ /v +<version>. Nedenstående eksempel viser, hvordan navngivning af et namespace kan se ud for XML-skemaet vedrørende balanceansvarlige aktørers udveksling af aktørplaner: http://www.energinet.dk/schemas/balresp/xml/marketscheduledoc ument/v2 XML-skemaerne versioneres ved brug af filnavnet. Det er en opbygning af navnet på XML-skemaets rodelement kombineret med versionsnummer. Kombinationen af de to dele adskilles af - (bindestreg), som vist herunder: <rodelementnavn>+ - +<version>+.xsd Nedenstående eksempel viser navngivningen af første version af et XML-skema, hvor rodelementet er navngivet MarketScheduleDocument : MarketScheduleDocument-1.xsd Attributten version i schema-elementet skal udover versionsnummer også afspejle udgivelsesnummer adskilt af punktum. Følgende eksempel gælder for version 2, udgivelse 4: version= 2.4 Ændring i versionsnummeret vil skyldes strukturændringer i skemaet. Strukturændringer kan være tilføjelse eller fjernelse af elementer, navneændringer af elementer eller attributter eller ændringer i strukturen for elementerne. Ændring i udgivelsesnummeret vil skyldes mindre ændringer. Mindre ændringer Dok.løbenr. 79520-07_v2 14/15

kan være tilføjelse af valgfri elementer, ændringer i regler for attributindhold (så længe det ikke indskrænker) og lignende. Det vil sige, at der ikke fjernes elementer fra strukturen. Det skal således være muligt at anvende flere forskellige udgivelser af en version af et XML-skema, uden at de kommer i konflikt med hinanden (det vil sige, at de skal være bagudkompatible). En tidligere version af et XML-skema vil dog komme i konflikt med en nyere. Energinet.dk sørger for løbende at kunne håndtere den seneste frigivne version samt dens forgænger. Der er således altid to forskellige versioner til rådighed, hvor der kan findes flere udgivelser inden for hver version. 2.7 Referencer ENTSO-E EDI (tidliger ETSO) https://www.entsoe.eu/resources/edi-library/ ETSO Scheduling System https://www.entsoe.eu/fileadmin/user_upload/edi/library/schedulev3r3/ documentation/ess-guide-v3r3.pdf ENTSO-E CORE COMPONENTS https://www.entsoe.eu/fileadmin/user_upload/edi/library/core/entso-ecore-cmpts-v18r0.doc Dok.løbenr. 79520-07_v2 15/15