Online OIOUBL Dokumentation


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. Figure Description

    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