7 General XML Schema Definition Language Conventions
8.6 Code List XML Schema Files
8.6.1 General Code List XML Schema Components2702
Both Common Code List XML Schema Files and Business Code List XML Schema 2703
Files define codes using a consistent approach.
2704
8.6.1.1 Code List XML Schema File Structure 2705
Each Code List XML Schema File will be structured in a standard format in order to 2706
ensure consistency and ease of use. This structure is show in Example 8-35.
2707
Example 8-35: Code List XML Schema File structure 2708
<?xml version="1.0" encoding="UTF-8"?>
2709
Schema agency: UN/CEFACT
2714
Schema version: 2.0
2715
Schema date: 16 January 2006
27162717
Code list name: Measurement Unit Common Code
2718
Code list agency: UNECE
2719
Code list version: 3
27202721
Copyright (C) UN/CEFACT (2006). All Rights Reserved.
27222723
... see copyright information ...
27242725
-->
2726
<xsd:schema targetNamespace=" ... see namespace ...
2727
... see root element declaration ...
2733
<!-- ===== Type Definition: Measurement Unit Common Code Content Type == -->
2737
<!-- =================================================================== -->
2738
... see type definition ...
2739
</xsd:schema>
2740
8.6.1.2 Code List XML Schema Name 2741
The name of Code List XML Schema Files are dependent upon the agency that 2742
defines them and the name of the code list itself.
2743
[R 849E]
Code List XML Schema File names MUST be of the form:
<List Agency Identifier>_<List Identifier>_<List Version Identifier>.xsd
All periods, spaces, or other separators are removed except for the . before xsd and the _ between the names.
Where:
List Agency Identifier – Identifies the agency that manages the list. The default agencies used are those from DE 3055 but roles defined in DE 3055 cannot be used.
List Identifier – Identifies a list of the respective corresponding ids.
List Version Identifier – Identifies the version.
2
8.6.1.3 Element Declarations 2744
A Code List XML Schema File contains one global element declaration. This global 2745
element is a unique identifier for the code list and is mandatory for UN/CEFACT 2746
Code List XML Schema Files. Other organizations using this specification may 2747
choose to not provide the Code List Root Element and still be in compliance with this 2748
specification.
2749
[R 8D1D] Each Code List XML Schema File MUST declare a single global
element. 3
The global element serves as the root element and is of the one xsd:simpleType 2750
that is defined in the Code List XML Schema File.
2751
[R BE84]
The Code List XML Schema File global element MUST be of the xsd:simpleType that is defined in the Code List XML Schema File.
1
The global element is named using the formal code list name.
2752
[R B5EC]
The Code List XML Schema File global element name MUST be the formal name of the code list with the word Code appended if not present in the code list name.
1
Example 8-36 shows a root element declaration for a code list.
2753 2754
Example 8-36: Code list global root element declaration 2755
<!-- =================================================================== -->
2756
<!-- ===== Root Element ===== -->
2757
<!-- =================================================================== -->
2758
<xsd:element name="AccountTypeCode" type="clm64437:AccountTypeCodeContentType"/>
2759
The actual implementation of the code list is through the use of its 2760
xsd:simpleType by a BDT BVD or BBIE.
2761
8.6.1.4 Type Definitions 2762
Each Code List XML Schema File will have one named xsd:simpleType defined.
2763
The name of this type will correspond to the code list name with the word 2764
ContentType appended.
2765
[R A8EF] Each Code List XML Schema File MUST define one, and only one, named xsd:simpleType for the content component. 1
[R 92DA]
The Code List XML Schema File xsd:simpleType name MUST be the name of the code list with the word code appended if it is not part of the code list name, and with the word ContentType appended.
1
Code List contents are expressesed using xsd:enumeration, where each value of 2766
the code list is defined using xsd:value.
2767
[R 962C]
Each code in a Code List XML Schema File MUST be expressed as an xsd:enumeration, where the xsd:value for the
enumeration is the actual code value.
1
Example 8-37 shows a simple type definition used in a code list.
2768
Example 8-37: Code list xsd:simpleType definition 2769
<!-- =================================================================== -->
2770
<!-- ===== Type Definitions ===== -->
2771
<!-- =================================================================== -->
2772
<!-- ===== Type Definition: Account Type Code ===== -->
2773
<!-- =================================================================== -->
2774
<xsd:simpleType name="AccountTypeCodeContentType">
2775
<xsd:restriction base="xsd:token">
2776
<xsd:enumeration value="2">
2777
... see enumeration ...
2778
</xsd:enumeration>
2779
</xsd:restriction>
2780
</xsd:simpleType>
2781
8.6.1.5 Annotation 2782
8.6.1.5.1 Annotation Documentation 2783
8.6.1.5.1.1 Code List Documentation 2784
Every Code List XML Schema file must include structured annotation documentation.
2785
[R A142]
Every Code List MUST contain a structured set of
xsd:annotation xsd:documentation elements that contain:
SchemeOrListID (mandatory): The unique identifier assigned to the code list.
SchemeOrListAgencyID (mandatory): The unique identifier assigned to the Agency that owns or is responsible for the code list being referenced.
SchemeOrListVersionID (mandatory): The version of the scheme or list.
SchemeOrListModificationAllowedIndicator (mandatory):
Indicates whether the values being validated can be outside the enumerations specified by the code list.
1
Example 8-38 shows the declaration of the code list documentation structure.
2786
Example 8-38: Code list documentation structure 2787
<xsd:group name="SchemeOrListDocumentation">
2788
<xsd:sequence>
2789
<xsd:element name="SchemeOrListID" type="IDType"/>
2790
<xsd:element name="SchemeOrListVersionID" type="IDType" />
2791
<xsd:element name="SchemeOrListAgencyID" type="IDType" />
27922793
<xsd:element name="SchemeOrListModificationAllowedIndicator"
2794
type="IndicatorType"/>
2795
< </xsd:sequence>
2796
</xsd:group>
2797
8.6.1.5.1.2 Code List Value Documentation 2798
In order to facilitate a clear and unambiguous understanding of the list of allowable 2799
codes within an element, annotation documentation will be provided for each 2800
enumeration. This documentation will be the name of the value and a description of 2801
the code.
2802
[R A814]
Each code list xsd:enumeration MUST contain a structured set of xsd:annotation xsd:documentation elements that
contain:
Name (mandatory): The name of the code.
Description (optional): Descriptive information concerning the code.
1
Example 8-39 shows the annotation documentation definition for the enumerations 2803
values of a code list.
2804 2805
Example 8-39: Code list enumeration annotation documentation 2806
<xsd:simpleType name="PaymentMethodCodeContentType">
2807
<xsd:restriction base="xsd:token">
2808
<xsd:enumeration value="1"> Name (mandatory): The name of the
2809
code.
2810
Description (optional): Descriptive information concerning the code.
28112812
<xsd:annotation>
2813
<xsd:documentation xml:lang="en">
2814
<ccts:Name>Direct payment</ccts:Name>
2815
<ccts:Description>An assigned invoice has
2816
been paid by the buyer to the factor.</ccts:Description>
2817
</xsd:documentation>
2818
</xsd:annotation>
2819
</xsd:enumeration>
2820
</xsd:restriction>
2821
</xsd:simpleType>
2822
8.6.2 Common Code List XML Schema Components