• No results found

General Code List XML Schema Components2702

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