|
Læsevejledning
Denne side beskriver nogle af de informationer der er nyttige for at kunne forstå og bruge OIO_UBL standarden.
Dokumentets opbygning
Disse sider skal ses som den normative beskrivelse af de klasser der beskrives. I tilfælde af konflikter er det altid den mest specifikke beskrivelse, der er den gældende. Eksemplerne i dokumentet og de tilhørende tværgående guidelines skal ses som beskrivende. Teksten i guidelinen har forrang for figurerne.
Selve specificationen er opbygget af:
- En figur, der viser de elementer i klassen, der er medtaget i OIOUBL.
- En tekstuel specifikation af klassen.
- En liste over de felter, der indgår i klassen sammen med en tilhørende tabel med nøgledata som definitioner, navne, referencer og forreningsregler for hver af klassens felter.
- En liste over de underklassser, der indgår i klassen sammen med en tilhørende tabel med nøgledata som definitioner, navne, referencer og forreningsregler for klassens underklasser.
- Et eksempel på brugen af klassen
- En liste over elementer, der er eksluderet fra UBL 2.0, enten fordi de ikke giver mening i kontekten eller fordi de strider imod danske forretningsmæssige krav
Figurforklaring
I klassespecifikationerne er klassen vist som en skemadokumentation.
Ordforklaringer
I denne specifikation vil følgende termer blive anvendt i tabellerne:
Term |
Forklaring |
UBL-Navn |
Det navn, man vil kunne finde i UBL 2.0 skemaerne |
DK-Navn |
Navnet på dansk |
Brug |
Beskriver kardinaliteten, altså reglen for hvor mange forekomster af forretningsinformationen, der er tilladt:
- [1] angiver, at der skal være en og kun en forekomst.
- [0..1] betyder at forretningsinformationen er valgfri.
- [0..n] betyder, at der kan være nul til uendelig mange forekomster
- [1..n] betyder, at der mindst er en, men at der kan være uendelig mange forekomster.
|
Alternativ term |
Beskriver en term, som forretningsinformationen også er kendt som. |
Afløftes |
Angiver om man kan forvente, at modtageren er i stand til at læse den beskrevne forretningsinformation. Information der ikke afløstes kan dog stadig anvendes efter bilateral aftale. |
Forretningsregel |
Beskriver de regler, der knytter sig til forretningsinformationen. Forretningsregler er normative og vil indgå i valideringen af det pågældende dokument. |
Anbefaling |
Angiver at det er god praksis have have den beskrevne forretningsinformation med. Det er en ikke-normativ vejledning om anvendelse af forretningsinformationen. |
Lovlige værdier |
Beskrivelse af det udfaldsrum, som et forretningselement skal holde sig inden for. |
Kodeliste |
Refererer til den kodeliste, som udfaldsrummet skal findes inden for. |
Klasse |
En struktur af sammenhængende forretningsinformation. |
Udfyldelse af instanser af OIOUBL dokumenter
Et xml dokument skal følge det tilhørende UBL skema og samtidig overholde vejledningen. Instanserne følger standarden XML standarden, så med mindre andet er angivet, gælder de normale regler for XML standarden. Det anbefales derfor, at man anvender en ægte xml-fortolker til at læse dokumenterne med.
Namespace
Namespaces er et semantisk rum, hvori navne er unikke og knyttet til en bestemt betydning. Namespaces optræder ofte som et bibliotek, og kan refereres til via en alias-variable. Udtrykket:
<… xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" …>
betyder at elementer, der har præfixet "cac" (allias-variabel) tilhører "…CommomAggregateComponents-2" namespacet. Det namespace, som selve dokumenter rereferer til er angivet med "xmlns =...", altså uden alias-variabel. Det anbefales at anvende de alias variable, der er angivet i UBL, men det er ikke er krav. Sålænge de er unikke, kan man anvende hvad man har lyst til. For at et OIOUBL dokumentetinstans kan valideres skal følgende namespaces angives:
Alias variable |
Namespace |
|
The target namespace of the document in question |
cac |
urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2 |
ccts |
urn:oasis:names:specification:ubl:schema:xsd:CoreComponentParameters-2 |
cbc |
urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2 |
sdt |
urn:oasis:names:specification:ubl:schema:xsd:SpecializedDatatypes-2 |
udt |
urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2 |
ext |
urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2 |
xsi |
http://www.w3.org/2001/XMLSchema-instance |
Kommentarer
Man kan anvende kommentarer i dokumenterinstanser for at lette en eventuel manuel behandling af dokumentet. Dette er særligt relevant i forbindelse med en indkøringsperiode af nye systemer, der anvender OIOUBL. Hvis man ønsker at formalisere disse kommentarer, anbefaler vi at anvende Dublin-Core metadata definitioner se "http://dublincore.org/documents/dcmi-terms/". Følgende termer er anvendt i eksempler i scenariebeskrivelserne:
DC-Term |
Beskrivelse |
Eksempel |
title |
Beskriver titlen på dokumentinstansen |
BASPRO_01_01_00_Invoice_v2p0.xml |
replaces |
Beskriver den forgående |
BASPRO_01_01_00_Invoice_v0p1.xml |
publisher |
Beskriver hvem der der er ansvarlig for dokumentinstansen. |
"IT og Telestyrelsen" |
Creator |
Beskriver den person eller det system, der har skabt instansen. |
"OIOERP v 1.0.2 relesase 34" |
created |
Dato (og evt. tid) for hvornår, dokumentet er skabt. |
2006-09-08 |
modified |
Dato (og evt. tid) for, hvornår det sidst er ændret. |
2006-09-08 |
issued |
Dato (og evt. tid) for hvornår det er afsendt. |
2006-09-08 |
conformsTo |
Beskrivelse af den kontekst, det tilhører. |
OIOUBL_ScenarioPackage_BASPRO |
description |
Generel beskrivelse |
"This document is procuced as part of the OIOUBL Basic procurement scenario package" |
rights |
Eventuelle ophavsrettigheder, knyttet til instansen. |
"It can be used following the Common Creative Licence" |
Man bør kun anvende de meta-data, man finder anvendelige og kun angive valide data. Af Afstående liste anbefaler vi særligt, at anvende "Creator"-termen, da denne kan lette felfindingen i modtagerens system.
Procesinstruktioner
Procesinstruktioner er instruktioner, som ligger uden for standarden, men som kan anvedes til at støde anden logik på. Et eksempel kan være til at angive, at en instans er til testformål. En procesinstruktion angives med "<?navn ... ?>" og kan rumme attributter som vist i nedenstående eksempel.
<?TestInstance
ResponseTo="smtp:test@company.dk"
description= "apply your comment here"
?>
Forhold til instanser af andre tilpasninger
Man angiver, at en instans er OIOUBL ved at sætte "CustomizationID" til "OIOUBL". Instanser af OIOUBL bygger på UBL 2.0 og vil således direkte kunne forståes af UBL 2.0 fortolkere. Instanser fra andre UBL 2.0 tilpasninger vil direkte kunne forståes af en OIOUBL fortolker ved at ændre "CustomizationID", såfremt instansen overholder kravene i denne guideline.
Kodeeksempel
Kodeeksempler findes i scenariebeskrivelserne
|