ndr main document… · web viewworking draft 21, 13 december 2002 document identifier:...

77
Universal Business Language (UBL) Naming and Design Rules Working Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location: http://www.oasis-open.org/committees/ubl/ndrsc/drafts/ Editors: Bill Burcham, Sterling Commerce <[email protected]> Mavis Cournane, Cognitran Ltd <[email protected]> (primary editor) Mark Crawford, LMI <[email protected]> Arofan Gregory, Aeon Consulting <[email protected]> Eve Maler, Sun Microsystems <[email protected]> Lisa Seaburg, Aeon Consulting <[email protected]> Contributors: Fabrice Desré, France Telecom Matt Gertner, Schemantix Jessica Glace, LMI Phil Griffin, Griffin Consulting Michael Grimley, US NavyEduardo Gutentag, Sun Microsystems Sue Probert, CommerceOne Gunther Stuhec, SAP Paul Thorpe, OSS Nokalva wd-ublndrsc-ndrdoc-21 1 13 December 2002 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 2 3 4 5 6

Upload: others

Post on 13-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

Universal Business Language (UBL) Naming and Design RulesWorking Draft 21, 13 December 2002Document identifier:

wd-ublndrsc-ndrdoc-21 (Word, PDF)Location:

http://www.oasis-open.org/committees/ubl/ndrsc/drafts/Editors:

Bill Burcham, Sterling Commerce <[email protected]>Mavis Cournane, Cognitran Ltd <[email protected]> (primary editor)Mark Crawford, LMI <[email protected]>Arofan Gregory, Aeon Consulting <[email protected]>Eve Maler, Sun Microsystems <[email protected]>Lisa Seaburg, Aeon Consulting <[email protected]>

Contributors:Fabrice Desré, France TelecomMatt Gertner, SchemantixJessica Glace, LMIPhil Griffin, Griffin ConsultingMichael Grimley, US NavyEduardo Gutentag, Sun MicrosystemsSue Probert, CommerceOneGunther Stuhec, SAPPaul Thorpe, OSS Nokalva

Abstract:This specification documents the naming and design rules and guidelines for the construction of XML components for the UBL vocabulary.

Status:This is a draft document and is likely to change on a weekly basis.If you are on the [email protected] list for NDR subcommittee members, send comments there. If you are not on that list, subscribe to the [email protected] list and send comments there. To subscribe, send an

wd-ublndrsc-ndrdoc-21 1 13 December 2002

1

2

3

4

56789

101112131415161718192021222324252627282930313233

1

23456

Page 2: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

email message to [email protected] with the word "subscribe" as the body of the message.For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Security Services TC web page (http://www.oasis-open.org/committees/security/).

Copyright © 2001, 2002 The Organization for the Advancement of Structured Information Standards [OASIS]

wd-ublndrsc-ndrdoc-21 2 13 December 2002

343536373839

4041

7

89

101112

Page 3: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

Table of Contents1 Introduction............................................................................................................................ 6

1.1 Audiences......................................................................................................................... 61.2 Terminology and Notation................................................................................................61.3 Guiding Principles.............................................................................................................6

1.3.1 Adherence to general UBL guiding principles.......................................................61.3.2 Design For Extensibility.........................................................................................81.3.3 Code Generation...................................................................................................8

2 Choice of schema language...................................................................................................93 Relationship to ebXML Core Components...........................................................................10

3.1 Rules for Mapping Business Information Entities, Their Properties, and Primitive Types to XML...................................................................................................................................... 11

4 XML Constructs.................................................................................................................... 154.1 UBL Documentation.......................................................................................................15

4.1.1 The UBL Dictionary.............................................................................................154.1.2 Other UBL Documentation..................................................................................154.1.3 Embedded documentation..................................................................................15

4.2 Naming and Design of XML Constructs..........................................................................164.2.1 General Naming Rules........................................................................................164.2.2 Rules for Mapping the UBL Syntax-Neutral Model to XML Constructs...............174.2.3 Rules for Mapping the Core Component Types to XML Constructs....................184.2.4 Rules for Using Code Lists with XML Constructs................................................194.2.5 Rules for Embedding Documentation into XML Constructs................................19

4.3 Containership and element design.................................................................................204.3.1 Nil Values............................................................................................................20

5 Modularity, Namespaces, and Versioning............................................................................215.1 Schema Module Concepts.............................................................................................215.2 Rules for Creating Namespaces.....................................................................................245.3 Rules for Namespace Identification................................................................................245.4 Rules for Schema Module Schema Location..................................................................255.5 Rules for Versioning.......................................................................................................25

6 Restrictions and Facets........................................................................................................266.1 Introduction.....................................................................................................................266.2 Rules.............................................................................................................................. 26

7 Rules for Context.................................................................................................................298 Core Component Types.......................................................................................................30

8.1 Code Lists......................................................................................................................458.2 Identifier..........................................................................................................................45

wd-ublndrsc-ndrdoc-21 3 13 December 2002

42

43444546474849505152535455565758596061626364656667686970717273747576777879

13

1415161718

Page 4: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

8.2.1 Necessary Attributes...........................................................................................468.2.2 Specific use for global and/or proprietary identifier.............................................47

8.3 Date and Time................................................................................................................498.3.1 Introduction.........................................................................................................498.3.2 Rules for specific points of date/time...................................................................498.3.3 Rules for duration................................................................................................498.3.4 Core Component Types and Representation Terms...........................................498.3.5 Period.................................................................................................................. 498.3.6 Frequency of recurrent period.............................................................................51

9 Code Lists............................................................................................................................ 5510 UBL Messages..................................................................................................................... 56

10.1 General Message Rules.............................................................................................5611 References........................................................................................................................... 5712 Technical Terminology.........................................................................................................58Appendix A. UBL NDR Rules........................................................................................................61Appendix B. Notices...................................................................................................................... 62

wd-ublndrsc-ndrdoc-21 4 13 December 2002

80818283848586878889909192939495

96

19

2021222324

Page 5: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

1 IntroductionThis specification documents the rules and guidelines for the naming and design of XML components for the UBL library. It contains only rules that have been agreed on by the OASIS UBL Naming and Design Rules Subcommittee (NDR SC). Proposed rules, and rationales for those that have been agreed on, appear in the accompanying NDR SC position papers, which are available at http://www.oasis-open.org/committees/ubl/ndrsc/.The W3C XML Schema form of the UBL library is currently constructed automatically from the metamodel developed by the OASIS UBL Library Content Subcommittee (LC SC). As such, most of the rules in this document are used to guide the development of the engine, produced by the OASIS UBL Tools and Techniques Subcommittee (TT SC), that generates the XSD schema modules. However, some of the rules address the creation of XML instance constructs and other practices that must be undertaken by humans, such as developers, who are customizing UBL for their own purposes.

1.1 AudiencesThere are two primary audiences for this document – the internal TC member/perl scriptwriter, and the UBL customizer.Unless otherwise specified, the rules in this document apply to both the UBL Library and customizations thereof.

1.2 Terminology and NotationThe key words must, must not, required, shall, shall not, should, should not, recommended, may, and optional in this document are to be interpreted as described. Error: Reference source not found Non-italicized forms of these words are used in the regular English sense.The notation [Rn] indicates a rule that requires conformance. Only rules are normative; all other text is explanatory. The value of R is a prefix for a rule; and n (1..n) indicates the sequential number of the rule.The adding of brackets “[ ]” around a document title or reference refers the reader to the Reference Section 11, for further information. These are also in bold.Bold - The bolding of words is used to represent example names or parts of names taken from the library.Italics – All words appearing in italics, when not titles or used for emphasis, are special terms defined in Appendix B.The terms “W3C XML Schema” and “XSD” are used throughout this document. They are considered synonymous; both refer to XML Schemas that conform to the W3C XML Schema Recommendations Error: Reference source not found. See Section 12 for additional term definitions.

wd-ublndrsc-ndrdoc-21 5 13 December 2002

979899

100101102103104105106107108109

110111112113114

115116117118119120121122123124125126127128129130131

25

2627282930

Page 6: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

1.3 Guiding Principles

1.3.1 Adherence to general UBL guiding principlesThe UBL NDRSC is following the high-level guiding principles for the design of UBL as approved by the UBL TC. These principles are:

Internet Use - UBL shall be straightforwardly usable over the Internet. Interchange and Application Use–UBL is intended for interchange and application use. Tool Use and Support - The design of UBL will not make any assumptions about sophisticated tools for creation, management, storage, or presentation being available. The lowest common denominator for tools is incredibly low (for example, Notepad) and the variety of tools used is staggering. We do not see this situation changing in the near term. Time Constraints–Urgency is a key item in the development of UBL. Many facets of XML are still being debated. UBL will make rapid “informed” decisions that may not agree with the ultimately “right” design decisions subsequently reached elsewhere. Legibility - UBL documents should be human-readable and reasonably clear Simplicity - The design of UBL must be as simple as possible (but no simpler). 80/20 Rule - The design of UBL should provide the 20% of features that accommodate 80% of the needs. Component Reuse -The design of UBL document types should contain as many common features as possible. The nature of e-commerce transactions is to pass along information that gets incorporated into the next transaction down the line. For example, a purchase order contains information that will be copied into the purchase order response. This forms the basis of our need for a core library of reusable components. Reuse in this context is important, not only for the efficient development of software, but also for keeping audit trails. Standardization - The number of ways to express the same information in a UBL document is to be kept as close to one as possible. Domain Expertise - UBL will leverage expertise in a variety of domains through interaction with appropriate development efforts. Customization and Maintenance - The design of UBL must facilitate customization and maintenance. Context Sensitivity - The design of UBL must ensure that context-sensitive document types aren’t precluded. Prescriptiveness - UBL design will balance prescriptiveness in any one usage scenario with prescriptiveness across the breadth of usage scenarios supported. Having precise, tight content models and datatypes is a good thing (and for this reason, we might want to advocate the creation of more document type “flavors” rather than less; see below). However, in an interchange format, it is often difficult to get the prescriptiveness that would be desired in any one usage scenario. Content Orientation - Most UBL document types should be as “content-oriented” (as opposed to merely structural) as possible. Some document types, such as

wd-ublndrsc-ndrdoc-21 6 13 December 2002

131

132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172

31

3233343536

Page 7: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

product catalogs, will likely have a place for structural material such as paragraphs, but these will be rare. XML Technology - UBL design will avail itself of standard XML processing technology wherever possible (XML itself, XML Schema, XSLT, XPath, and so on). However, UBL will be cautious about basing decisions on “standards” (foundational or vocabulary) that are works in progress. Relationship to Other Namespaces - UBL design will be cautious about making dependencies on other namespaces. UBL does not need to reuse existing namespaces wherever possible. For example, XHTML might be useful in catalogs and comments, but it brings its own kind of processing overhead, and if its use is not prescribed carefully it could harm our goals for content orientation as opposed to structural markup. Legacy formats - UBL is not responsible for catering to legacy formats; companies (such as ERP vendors) can compete to come up with good solutions to permanent conversion. This is not to say that mappings to and from other XML dialects or non-XML legacy formats wouldn’t be very valuable. Relationship to xCBL - UBL will not be a strict subset of xCBL, nor will it be explicitly compatible with it in any way.

1.3.2 Design For ExtensibilityMany e-commerce document types are, broadly speaking, useful but require minor structural modifications for specific tasks or markets. When a truly common XML structure is to be established for e-commerce, it needs to be easy and inexpensive to modify.Many data structures used in e-commerce are very similar to “standard” data structures, but have some significant semantic difference native to a particular industry or process. In EDI, there has been a gradual increase in the number of published components to accommodate market-specific variations. Handling these variations are a requirement, and one that is not easy to meet. A related EDI phenomenon is the overloading of the meaning and use of existing elements, which greatly complicates interoperation.To avoid the high degree of cross-application coordination required to handle structural variations common to EDI and DTD based systems - it is necessary to accommodate the required variations in basic data structures without either overloading the meaning and use of existing data elements, or requiring wholesale addition of new data elements. This can be accomplished by allowing implementers to specify new element types that inherit the properties of existing elements, and to also specify exactly the structural and data content of the modifications.This can be expressed by saying that extensions of core elements are driven by context [need ref here]. Context driven extensions should be renamed to distinguish them from their parents, and designed so that only the new elements require new processing.Similarly, data structures should be designed so that processes can be easily engineered to ignore additions that are not needed.

1.3.3 Code GenerationMost of the schema modules in the UBL Library are generated automatically from the underlying model in order to ensure faithful adherence to the model. Therefore, the UBL design process needs to ensure successful automation. For example, the model needs to provide enough

wd-ublndrsc-ndrdoc-21 7 13 December 2002

173174175176177178179180181182183184185186187188189190

191192193194195196197198199200201202203204205206207208209210211

212213214215

37

3839404142

Page 8: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

information to take advantage of schema constraint opportunities, and the design rules that apply to these need to avoid requiring human judgment at generation time

wd-ublndrsc-ndrdoc-21 8 13 December 2002

216217

218

43

4445464748

Page 9: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

2 Choice of schema language[R 1] All UBL schema design rules must be based on the W3C XML Schema

Recommendations: XML Schema Part 1: Structures; and XML Schema Part 2: Datatypes

[R 2] All UBL schemata and messages must be based on the World Wide Web Consortium (W3C) suite of technical specifications holding recommendation status

We need information here about how we made this decision.Some of the benefits of the above decisions are:

Elements and types can be managed separately Type inheritance and derivation allows for deep type hierarchies Elements, datatypes, and attributes can independently be locally or globally scoped Namespace support allows for federation of component creation and reuse And importing (outer) schemas can reset some settings

wd-ublndrsc-ndrdoc-21 9 13 December 2002

219220221

222223

224225226227228229230231

49

5051525354

Page 10: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

3 Relationship to ebXML Core ComponentsUBL employs the methodology and model described in UN/CEFACT Draft Core Components Specification 30 September 2002, Version 1.85, [CCTS]. In the terminology of that specification, the UBL vocabulary consists primarily of Aggregate Business Information Entities (ABIE). An ABIE is similar to a Class in object-oriented modeling (e.g. UML). An ABIE is also similar to an entity in Entity Relationship modeling.According to the [CCTS], each ABIE must have a unique name (Object Class Term). Each ABIE must have one or more BIE Properties. Each BIE Property must have a name (Property Term). That name must be unique within that ABIE.There are two kinds of BIE Property. A Basic BIE Property represents an intrinsic property of an ABIE. An Association BIE Property represents an extrinsic property – in other words an association from one ABIE instance to another ABIE instance. It is the Association BIE Property that expresses the relationship between ABIEs.In order to actually define the intrinsic structure of an ABIE, a set of Basic Business Information Entities (BBIE) is defined. These are the “leaf” types in the system in that they contain no Association BIE Properties, and no Basic BIE Properties. A BBIE must have a single Content Component and one or more Supplementary Components. A Content Component is of some Primitive Type.Here’s a picture of the relevant parts of the Core Components metamodel:

Figure 3.1 The Core Component Metamodel

wd-ublndrsc-ndrdoc-21 10 13 December 2002

232233234235236237238239240241242243244245246247248249250

251

252

55

5657585960

Page 11: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

The preceding diagram depicts a summary of the Core Components metamodel. Whereas the Core Components metamodel encompasses two broad categories of model element, the Core Component and the Business Information Entity, UBL is concerned with only the latter.Since UBL is concerning itself only with the development of Business Information Entities, and their realization in XML, the UBL metamodel speaks only in terms of BIE concepts. For instance, while the Core Components metamodel specifies that each BIE is “based on” a particular Core Component – that detail is not considered by UBL. UBL defines no Core Components.Similarly, the Core Components metamodel describes parallel model elements to capture low-level types, such as Identifiers and Dates. In that metamodel, a Core Component Type describes these low-level types for use by Core Components, and (in parallel) a “Data Type” – corresponding to that Core Component Type, describes these low-level types for use by Business Information Entities. UBL is not; therefore concerned with Core Component Types since again, they pertain only to the Core Components model, which UBL is not specifying. UBL defines no Core Components, and UBL defines no Core Component Types.That being said, you might rightly expect to see Data Type appear in the diagram above, however, since in the Core Components metamodel there is a one-to-one correspondence between a Data Type and a Business Information Entity, UBL has elected to define only the latter. The alternative would be for UBL to define Data Types (e.g. AmountType, CodeType, DateTimeType, etc.) and also to define corresponding BIE’s. To do so would add no value to the work product, so we will model only one. UBL defines no Data Types separate from BIE’s – there is only the BIE’s.

3.1 Rules for Mapping Business Information Entities, Their Properties, and Primitive Types to XML

A primary deliverable of the UBL effort is XML Schemas. These schemas declare a complex type for each ABIE, and a complex type for each BBIE. Each Association BIE Property becomes an element definition (within the appropriate complex type). Similarly each Basic BIE Property becomes an element definition within a complex type.This diagram depicts the relationship between the ABIE model and the XML Schema/XML instance models:Figure 3.2 ABIE and XML schema instance models

wd-ublndrsc-ndrdoc-21 11 13 December 2002

253254255256257258259260261262263264265266267268269270271272273274

275276277278279280281282283

284285

61

6263646566

Page 12: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

Each ABIE results in a complex type declaration in the XML Schema. The complex type name is derived like this:

<ABIE Object Class Term>”Type”

Here are some examples:

ABIE Object Class Term

Complex Type Name

Address AddressType

Party PartyType

wd-ublndrsc-ndrdoc-21 12 13 December 2002

286287288289290291

292293

294

67

6869707172

Page 13: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

Each BBIE results in a complex type declaration in the XML Schema. The name of the complex type is derived like this:

<BBIE Object Class Term>”Type”

Here are some examples:

BBIE Object Class Term

Complex Type Name

Amount AmountType

DateTime DateTimeType

Each Basic BIE Property results in an element in the XML Schema. The tag name is derived like this:

<Basic BIE Property Property Term>( ( <BBIE Object Class Term> != “Text” && <Basic BIE Property Property Term> != <BBIE Object Class Term>) ? (<BBIE Object Class Term> == “Identifier” ? “ID” : <BBIE Object Class Term>)

So the tag name is the name of the Basic BIE Property followed by the name of the pertinent BBIE. If the BBIE is named “Text” or if the name of the Basic BIE Property is the same as the name of the BBIE then it must be elided. If the BBIE Object Class Term is Identifier then it is translated to “ID” in the tag name.

Here are some examples:

Basic BIE Property Property Term

BBIE Object Class Term

Tag name

Purpose Code PurposeCode

Name Text Name

Party Identifier PartyID

Each Association BIE Property results in an element definition in the XML Schema. The tag name is derived like this:

wd-ublndrsc-ndrdoc-21 13 13 December 2002

295296297

298299

300301

302

303304305

306307308309310

311312313314315

316317

318

319

320321322

323

73

7475767778

Page 14: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

<Association BIE Property Property Term>( (<Association BIE Property Property Term> != < ABIE Object Class Term of ABIE in the “to” role>) ? (<ABIE Object Class Term of ABIE in the “to” role >)

Here are some examples:

Association BIE Property Property Term

ABIE Object Class Term of ABIE in the “to” role

Tag name

Receiving Contact ReceivingContact

Address Address Address

TODO: we need to add the excruciating details of mapping Basic Business Information Entities, and their associated content component and supplementary components to XSD and XMl.

wd-ublndrsc-ndrdoc-21 14 13 December 2002

324325326

327328329

330

331332333

79

8081828384

Page 15: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

4 XML ConstructsIn W3C XML Schema, elements are defined in terms of complex or simple types and attributes are defined in terms of simple types. The rules in this section govern the consistent naming and structuring of these constructs and the manner for unambiguously and thoroughly documenting them in the UBL Library

4.1 UBL Documentation

4.1.1 The UBL DictionaryThe primary component of the UBL documentation is its dictionary. The entries in the dictionary fully define the pieces of information available for use in UBL business messages. Each dictionary entry has a full name that ties the information to its standardized semantics, while the name of the corresponding XML element or attribute is only shorthand for this full name. The rules for element and attribute naming and dictionary entry naming are different.

[R 3] Each dictionary entry name must define one and only one fully qualified path (FQP) for an element or attribute.

The fully qualified path anchors the use of that construct to a particular location in a business message. The dictionary definition identifies any semantic dependencies that the FQP has on other elements and attributes within the UBL library that are not otherwise enforced or made explicit in its structural definition. The dictionary serves as a traditional data dictionary, and also serves some of the functions of traditional implementation guides.

4.1.2 Other UBL DocumentationThe UBL documentation also includes definitions of:

XSD complex and simple types in the UBL library, including whether and how that type maps to a core component type The top-level whole message elements in UBL Global attributes Summaries of Code Lists UBL-specific Core Component Types UBL-specific representation terms

The UBL documentation should be automatically generated to the extent possible, using embedded documentation fields in the structural definitions.

4.1.3 Embedded documentationSent info to Arofan, waiting for answer.(Incorporate: [R ] Element declarations must be accompanied by documentation in the form of an <xsd:annotation> element with an <xsd:documentation> element that has a source attribute value of “Use”. The documentation specifies the use of the element within its parent type. (Note: This is an incorrect use of the “source” attribute, which holds a URI (?).) )

wd-ublndrsc-ndrdoc-21 15 13 December 2002

334335336337338

339

340341342343344345

346347

348349350351352

353354355356357358359360361362363

364365366

367368369

85

8687888990

Page 16: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

4.2 Naming and Design of XML ConstructsThe rules in this section make use of the following special concepts related to XML elements and attributes.Top-level element: An element that encloses a whole UBL business message. Note that UBL business messages might be carried by messaging transport protocols that themselves have higher-level XML structure. Thus, a UBL top-level element is not necessarily the root element of the XML document that carries it.Lower-level element: An element that appears inside a UBL business message.Intermediate element: An element not at the top level that is of a complex type, only containing other elements and attributes.Leaf element: An element containing only character data (though it may also have attributes). Note that, because of the XSD mechanisms involved, a leaf element that has attributes must be declared as having a complex type, but a leaf element with no attributes may be declared with either a simple type or a complex type.Common attribute: An attribute that has identical meaning on the multiple elements on which it appears. A common attribute might or might not correspond to an XSD global attribute.

4.2.1 General Naming Rules[R 4] Names must be in the English language, using the primary English spellings provided in

the Oxford English Dictionary.

If the UBL Library is translated into other languages for localization purposes, these additional languages might require additional restrictions. Such restrictions are expected be formulated as additional rules and published as appropriate.

[R 5] XML names constructed from dictionary entry names must not include periods, spaces, or other separators.

[R 6] Names must not use acronyms, abbreviations, or other word truncations, with the following list of exceptions:

A Dun & Bradstreet number must appear as “DUNS”. [TBD: need example.] “Identifier” must appear as “ID”. “Uniform Resource Identifier” must appear as “URI” (example: the “Uniform Resource. Identifier” portion of the Binary Object. Uniform Resource. Identifier supplementary component becomes “URI” in the resulting XML name). This rule takes precedence over the rule that dictates a substitution of “ID” for “Identifier”.

[R 7] Names must not contain non-letter characters unless required by language-specific rules.

[R 8] Names must be in singular form unless the concept itself is plural (example: Goods).

[R 9] Names for XML constructs must use camel-case capitalization, such that each internal word in the name begins with an initial capital followed by lowercase letters (example: AmountContentType). All XML constructs other than attributes must use upper camel-case, with the first word initial-capitalized, while attributes must use lower camel-case, with the first word all in lowercase (example: unitCode), with the exception of attribute names consisting of one of the allowed acronyms, abbreviations, or truncations given in R3.

wd-ublndrsc-ndrdoc-21 16 13 December 2002

370

371372373374375376377378379380381382383384385386

387388389

390391392

393394

395396

397398399400401402

403

404

405406407408409410

91

9293949596

Page 17: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

4.2.2 Rules for Mapping the UBL Syntax-Neutral Model to XML Constructs

The naming of Core Components is based on the following concepts taken from the ISO/IEC 11179 specification for data dictionaries [TBD: move stuff here from Eve’s paper]:

The names of elements and types are not faithful reproductions of the naming scheme used in the UBL Library’s syntax-neutral model for object classes and properties; truncation rules are applied to allow for reuse of element names across parent element environments and to maintain brevity and clarity.

[R 10] Every UBL business message must have a single corresponding top-level element.

[R 11] Every top-level element must be named according to the portion of the business process that it initiates.

Examples: Order, OrderResponse, ChangeOrder, AdvanceShipNotice, AdvanceShipNoticeResponse.

[R 12] For every object class (Aggregate BIE) identified in the syntax-neutral model, a complex type definition and a corresponding global element declaration bound to that type must be created.

Example: from a Party. Details object class, a complex type/global element declaration pair is created. [TBD: complete the local/global decision and implement in this rule and below.]

The element thus created is useful for reuse in the building of new business messages. The complex type thus created is useful for both reuse and customization, in the building of both new and contextualized business messages. [TBD: point to a context methodology document or section from here.]

[R 13] The name of a complex type based on an object class must be the name of the object class, with the separators removed and with the “Details” suffix replaced with “Type”.

Example: The Party. Details object class becomes the PartyType complex type.

[R 14] An element name in a global element declaration based on an object class must be the name of the object class, with the separators removed and with “Details” removed.

Example: The Party. Details object class becomes a global Party element.

[R 15] For every complex type definition based on an object class, its content model must be defined such that it reflects each property of the object class as an element declaration, with its cardinality and positioning within the content model determined by the details of the syntax-neutral model.

Example: an optional Party. Address. Address property appearing as the first content of a Party. Details object class becomes the first element declaration inside the PartyType complex type, with a minOccurs value of “0”. [TBD: an element ref= declaration, or an element name= declaration?]

[R 16] An element name in an element declaration [TBD: ref= or name=?] based on a property must be the full dictionary name of the property in the syntax-neutral model, with the

wd-ublndrsc-ndrdoc-21 17 13 December 2002

411412413414

415416417418419

420

421422423424

425426427428429430

431432433434

435436437438

439440441442

443444445446447448449450451

452453

97

9899

100101102

Page 18: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

separators and object class term removed, and with the property term removed if it is identical or similar to the representation term.

The following term pairs are considered similar: Identification/Identifier and Identification/Code. If the representation term is “Text”, it must be removed. If the representation term is “Identifier”, it must be replaced with “ID”.

Examples: Person. Name. Text becomes Name, Person. Residence. Address becomes ResidenceAddress, and Address. Country. Identifier becomes CountryID.

If the object class term would have been helpful in the resulting XML name for clarity, it should be repeated in the property qualifier field. For example, if Party. Identification. Identifier would result in an element name of ID, and if this name would be confusing because a Party object has many different identifiers as properties, then the property should have been named Party. Party Identification. Identifier instead, resulting in an element name of PartyID.

[R 17] Every element declaration corresponding to a property must be bound to a type corresponding to the property’s representation term. Where the representation term corresponds to an object class (aggregate BIE), the complex type corresponding to that object class must be used. Where the representation term corresponds to a Core Component Type, the complex type corresponding to that Core Component Type must be used.

Examples: A BuyerParty element declaration based on the Order. Buyer Party. Party property is bound to the PartyType complex type, and a CountryID element declaration based on the Address. Country. Identifier property is bound to the Identifier type that is defined in the CCT schema module. [TBD: what about restrictions and faceting of CCTs?]

4.2.3 Rules for Mapping the Core Component Types to XML Constructs

[R 18] A namespace schema module dedicated to defining types corresponding to the Core Component Types must be created.

[R 19] Each CCT must have at least one corresponding unique complex type and simple type, where the element’s content (governed by the xs:simpleContent construct and the CCT’s simple type) represents the content component of the CCT and whose attributes (defined in the complex type) each represent a supplementary component of the CCTs.

[TBD: need example.]Note that this rule relegates attribute usage to supplementary components only; all “primary” business data appears exclusively in element content. Note also that because all CCTs have a content component and because all object classes have at least one property, the UBL Library does not have any elements that are required to be empty by design. [TBD: do we once again need an empty-element rule, so that we can discourage customizers from adding their own and using them as booleans?]

[R 20] The complex type name corresponding to a CCT must be the CCT name, with the periods and spaces removed.

Example: The Quantity. Type CCT becomes the QuantityType complex type.

wd-ublndrsc-ndrdoc-21 18 13 December 2002

454455

456457458459460461

462463464465466

467468469470471472473474475476477

478479480481

482483484485

486487488489490491492

493494495496

103

104105106107108

Page 19: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

[R 21] The name of the simple type corresponding to the content component of a CCT must be the content component name, with the periods and spaces removed and with “Type” added to the end.

Example: The content component Amount. Content becomes AmountContentType.

[R 22] The name of the attribute corresponding to a supplementary component must be the name of the supplementary component, with the periods and spaces removed. The first field (the “object class” field) may be truncated, reworded, or removed as necessary for brevity and clarity. If the final field (the “representation term” field) is “Text”, it must be removed. If the final field is “Identifier”, it must be replaced with “ID”.

Examples: Binary Object. Format. Text becomes format, Code List Identifier becomes codeListID, and Quantity. Unit. Code becomes unitCode.

[R 23] Mixed-content elements should not be used. [TBD: Rule about “Prose” RT? Or just wait until we have an actual case of mixed content?]

Note that mixed content in business documents is undesirable because white space in mixed content is difficult to handle and complicates processing, and because mixed-content models allow little useful control over the cardinality of elements.

[R 24] The CCT schema module may define a set of one or more common attributes that apply to all UBL elements.

[R 25] A common attribute should be declared as a global attribute only in cases where the attribute’s meaning is identical no matter what element it is used on, and where the attribute is useful on every UBL element. This rule applies to both external (such as xml:lang) and UBL-specific global attributes.

Note that this rule allows for the creation of common attributes that are allowed on every element but are not globally declared, and that need documentation of their meaning in each XML environment in which they are used.

[R 26] The names of UBL-specific global attributes must be based on assigned object class property names, as is done for elements that are properties.

[TBD: need example.]

4.2.4 Rules for Using Code Lists with XML Constructs[TBD: need to figure out interface of external code list schema modules with a handcrafted UBL module that incorporates their use.]

4.2.5 Rules for Embedding Documentation into XML Constructs[R 27] Every type definition and element declaration must contain a structured set of

annotations in following pattern, where the keyword is typically based on the spreadsheet column heading in the syntax-neutral model and the description is typically based on the content of the spreadsheet field:

<xs:annotation> <xs:documentation> <xhtml:div class=”KEYWORD1”> <xhtml:TAG>DESCRIPTION</xhtml:TAG>

wd-ublndrsc-ndrdoc-21 19 13 December 2002

497498499500501

502503504505506507508509

510511

512513514

515516

517518

519520

521522523

524525526

527528529

530531532533534

535536537538

109

110111112113114

Page 20: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

</xhtml:div> <xhtml:div class=”KEYWORD2”> ... </xhtml:div> ... </xs:documentation></xs:annotation>

[R 28] The following sets of annotations are required in type definitions and element declarations: [TBD: replace this list with Arofan’s table, I have sent list and updated position paper to Arofan]

UBL UID: The unique identifier assigned to the type in the UBL library. UBL Name: The complete name (not the tag name) of the type per the UBL library. Object Class: The Object Class represented by the type. UBL Definition: Documentation of how the type is to be used, written such that it addresses the type’s function as a reusable component. Code Lists/Standards: A list of potential standard code lists or other relevant standards that could provide definition of possible values not formally expressed in the UBL structural definitions. Core Component UID: The UID of the Core Component on which the Type is based. Business Process Context: A valid value describing the Business Process contexts for which this construct has been designed. Default is “In All Contexts”. Geopolitical/Region Context: A valid value describing the Geopolitical/Region contexts for which this construct has been designed. Default is “In All Contexts”. Official Constraints Context: A valid value describing the Official Constraints contexts for which this construct has been designed. Default is “None”. Product Context: A valid value describing the Product contexts for which this construct has been designed. Default is “In All Contexts”. Industry Context: A valid value describing the Industry contexts for which this construct has been designed. Default is “In All Contexts”. Role Context: A valid value describing the Role contexts for which this construct has been designed. Default is “In All Contexts”. Supporting Role Context: A valid value describing the Supporting Role contexts for which this construct has been designed. Default is “In All Contexts”. System Capabilities Context: A valid value describing the Systems Capabilities contexts for which this construct has been designed. Default is “In All Contexts”.

Following is an example of a complete set of annotations for a definition:[TBD]

wd-ublndrsc-ndrdoc-21 20 13 December 2002

539540541542543544545

546547548

549550551552553554555556557558559560561562563564565566567568569570571572573574575576577

115

116117118119120

Page 21: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

4.3 Containership and element design

4.3.1 Nil Values[R 29] The nillable attribute must not be used in any UBL schema. The element declaration of

xsi:nil shall not appear in any UBL conforming instance.

wd-ublndrsc-ndrdoc-21 21 13 December 2002

578

579580

581

582

121

122123124125126

Page 22: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

5 Modularity, Namespaces, and VersioningFor an overview of current thinking on issues of modularity, namespace and versioning, consult the Modnamver position paper.

[R 30] The top-level element must be globally declared in a UBL root schema.

5.1 Schema Module ConceptsThis section describes the mapping of XML namespaces onto XSD files: Schema Module: A schema document containing type definitions and element declarations.Namespace Schema Module: A Schema Module that declares a target namespace and is likely to pull in (by including or importing) Schema Modules.Internal Schema Module: A Schema Module that does not declare a target namespace.

[R 31] If a definition depends on named constructs found in another namespace, then that other namespace must be imported as a namespace schema module. The referenced constructs must not be directly included as Internal Schema Modules.

If a namespace is small enough then it can be completely specified within the Root Schema. For larger namespaces, more schema modules may be defined – call these internal modules. The root schema for that namespace then include those Internal Modules.This structure provides encapsulation of namespace implementations.A namespace “A” dependent upon type definitions or element declaration defined in another namespace “B” must import B’s root schema. “A” must not import internal schema modules of “B”.The only place XSD “include” is used is within a root schema. When a namespace gets large, its type definitions and element declarations may be split into multiple schema modules (called internal modules) and included by the root schema for that namespace.

[Need to look at capitalization – on hold til I get answers. LISA]Thus a namespace is an indivisible grouping of types. A “piece” of a namespace can never be used without all its pieces. Here is a depiction of the component structure we’ve described so far. This is a UML Static Structure Diagram. It uses classes and associations to depict the various concepts we’ve been discussing:Figure 5.1 UML Static Structure Diagram

wd-ublndrsc-ndrdoc-21 22 13 December 2002

583584585

586587

588589590591592593

594595596

597598599600601602603604605

606607608609610611612613614

127

128129130131132

Page 23: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

You can see that there are two kinds of schema module: RootSchema and “InternalModule”. A RootSchema may have zero or more InternalModules that it includes. Any SchemaModule, be it a RootSchema or an InternalModule may import other RootSchemas.The diagram shows the 1-1 correspondence between RootSchemas and namespaces. It also shows the 1-1 correspondence between files and SchemaModules. A SchemaModule consists of type definitions and element declarations.Another way to visualize the structure is by example. The following informal diagram depicts instances of the various classes from the previous diagram.Figure 5.2 Classes

wd-ublndrsc-ndrdoc-21 23 13 December 2002

616617618619620621622623624

133

134135136137138

Page 24: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

The preceding diagram shows how the order and invoice RootSchemas import the “CommonAggregateTypes” and “CommonLeaf Types” RootSchemas. It also shows how e.g. the order RootSchema includes various InternalModules – modules local to that namespace. The clear boxes show how the various SchemaModules are grouped into namespaces.UBL is structured so that a user can import a piece without getting the whole. It must be possible, for instance, for a user to import the CommonLeafTypes namespace without causing the CommonAggregateTypes to be imported. It must be possible for a user to import the CommonAggregateTypes namespace without causing the Order namespace to be imported. It must be possible to import any one of the “vertical” namespaces, e.g. Order without causing another, e.g. Invoice to be imported.

[Is this clear, and the issues and constraints clear enough. Should there be rules for this? LISA]

wd-ublndrsc-ndrdoc-21 24 13 December 2002

626627628629630631632633634635

636637

638

139

140141142143144

Page 25: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

If two namespaces are mutually dependent then clearly, importing one will cause the other to be imported as well. For this reason there must not exist circular dependencies between UBL SchemaModules. By extension, there must not exist circular dependencies between namespaces. This rule is not limited to direct dependencies – transitive dependencies must be taken into account also.

5.2 Rules for Creating NamespacesGiven the conceptual framework of the previous section, important questions remain: how many namespaces are needed? What is the function of each? This section makes explicit the namespace structure given implicitly in the previous section. The UBL library consists of four namespaces. The Common Leaf Types namespace defines all the Basic Business Information Entities. A Common Aggregate Types namespace defines reusable Aggregate Business Information Entities based on the types defined in the Common Leaf Types namespace.Two higher-level “domain” namespaces are defined, one for the “ordering” domain and another for the “invoicing” domain. The Order Domain namespace defines message types and ABIEs specific to the ordering domain. Similarly, the Invoice Domain namespace defines message types and ABIEs specific to the invoicing domain.

Purpose Namespace name

Common Leaf Types -- this is where Basic Business Information Entities are defined.

urn:oasis:names:tc:ubl:CommonLeafTypes[TBD version info]

Common Aggregate Types – this is where Aggregate BIE’s used across various domains are defined.

urn:oasis:names:tc:ubl:CommonAggregateTypes[TBD version info]

Order Domain – this is where ordering-related message types and their order-specific ABIE’s are defined.

urn:oasis:names:tc:ubl:Order[TBD version info]

Invoice Domain – this is where invoicing-related message types and their invoicing-specific ABIE’s are defined.

urn:oasis:names:tc:ubl:Invoice[TBD version info]

5.3 Rules for Namespace Identification[R 32] The namespace names for UBL namespaces must have the following structure while the

schemas are at draft status:

urn:oasis:names:tc:ubl:schema{:subtype}?:{document-id}

wd-ublndrsc-ndrdoc-21 25 13 December 2002

639640641642643

644645646647648649650651652653654655

656

657658659

660

145

146147148149150

Page 26: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

[R 33] When they move to specification status the form must change to:

urn:oasis:names:specification:ubl:schema{:subtype}?:{document-id}

[R 34] Where the form of {document-id} is TBD but it should match the schema module name (see section).

5.4 Rules for Schema Module Schema Location[R 35] Schema location must include the complete URI which is used to identify schema

modules.

[R 36] [R ] In the fashion of other OASIS specifications, UBL schema modules will be located under the UBL committee directory:

http://www.oasis-open.org/committees/ubl/schema/<schema-mod-name>.xsd

Where <schema-mod-name> is the name of the schema module file. The form of that name is TBD.

5.5 Rules for Versioning[R 37] Each namespace should have a version. TBD:

[INSERT TEXT FROM MINUTES] Recommendation is to adopt versioning approach wherein each minor version would be given separate namespace. Minor versioning will be limited to declaring new constructs, extending existing constructs, and refinement (XSD normative definition). Minor version namespaces will import preceeding minor version root schemas. All such changes will thus be backward compatible to previous minors and its …

wd-ublndrsc-ndrdoc-21 26 13 December 2002

661

662

663664

665666667

668669

670

671672

673674

675676677678679680

681682

151

152153154155156

Page 27: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

6 Restrictions and Facets

6.1 IntroductionThe following rules have been defined for the handling of restrictions and facets for Core Component Types (CCT), Basic Core Components (BCCs) and Basic Business Information Entities (BBIEs).

6.2 Rules[R 38] A Core Component Type without any restriction of the Content Component must be

defined by a complexType. This complexType includes a simpleContent group with a extension for all relevant global and local attributes (Supplementary Components) of this Core Component Type. The base type definition of this extension must be based on one of the decided built-in datatypes (see table ###).

For Example:<xsd:complexType name="AmountType">

<xsd:simpleContent><xsd:extension base="xsd:decimal">

<xsd:attribute name="currencyId" type="xsd:token" use="required"/>

<xsd:attributeGroup ref="cct:commonAttributes"/></xsd:extension>

</xsd:simpleContent></xsd:complexType>

[R 39] If the Content Component of a Core Component Type is restricted by any kind of facets, this Content Component must be a restriction of a simpleType. The name of the simpleType must be ending with the suffix “Content”.

For Example:<xsd:simpleType name="AmountContent">

<xsd:restriction base="xsd:decimal"><xsd:fractionDigits value="14"/><xsd:totalDigits value="31"/>

</xsd:restriction></xsd:simpleType>

[R 40] The Core Component Type with the restricted Content Component must refer to the relevant named simpleType.

For Example:<xsd:complexType name="AmountType">

<xsd:simpleContent><xsd:extension base="cct:AmountContent">

<xsd:attribute name="currencyId" type="xsd:token" use="required"/>

wd-ublndrsc-ndrdoc-21 27 13 December 2002

683

684

685686687688

689690691692693694

695696697698699700701702703704

705706707708

709710711712713714715

716717

718719720721722723724

157

158159160161162

Page 28: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

<xsd:attributeGroup ref="cct:commonAttributes"/></xsd:extension>

</xsd:simpleContent></xsd:complexType>

[R 41] A restricted Supplementary Component (local attribute) within a Core Component Type must have a restriction of its simpleType. The base type definition of the restriction must refer to one of the decided built-in datatypes (see table ###). The restriction itself should have all relevant facets.

For Example:<xsd:complexType name="AmountType">

<xsd:simpleContent><xsd:extension base="cct:AmountContent">

<xsd:attribute name="currencyId" use="required"><xsd:simpleType>

<xsd:restriction base="xsd:token"><xsd:length value="3"/>

</xsd:restriction></xsd:simpleType>

</xsd:attribute><xsd:attributeGroup ref="cct:commonAttributes"/>

</xsd:extension></xsd:simpleContent>

</xsd:complexType>

[R 42] A complexType of a Basic Core Component as well as Basic Business Information Entity without any additional restrictions must be a extension of a simpleContent. The base type definition of the extension must refer to the complexType of the relevant Core Component Type.

For Example:<xsd:complexType name="TaxAmountType">

<xsd:simpleContent><xsd:extension base="cct:AmountType"/>

</xsd:simpleContent></xsd:complexType>

[R 43] A complexType of a Basic Core Component as well as Basic Business Information Entity with any additional restrictions must be a restriction of a simpleContent. The base type definition of the restriction must refer to the complexType of the relevant Core Component Type. The element group of the restriction includes all required facets.

For Example:<xsd:complexType name="PriceAmountType">

<xsd:simpleContent><xsd:restriction base="cct:AmountType">

<xsd:minInclusive value="10.00"/><xsd:maxInclusive value="1000.00"/>

</xsd:restriction></xsd:simpleContent>

</xsd:complexType>

wd-ublndrsc-ndrdoc-21 28 13 December 2002

725726727728

729730731732733

734735736737738739740741742743744745746747748

749750751752753

754755756757758759

760761762763764

765766767768769770771772773

774

163

164165166167168

Page 29: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

[R 44] If a global attribute or a Supplementary Component (local attribute) should be restricted within a Basic Core Component as well as a Basic Business Information Entity, there must be a restriction of a simpleContent. The base type definition of the restriction must refer to the complexType of the relevant Core Component Type. This restriction includes the attribute or attributes, which should be restricted. The simpleType of each attribute must be a restriction, again. This restriction includes all relevant facets.

For Example:<xsd:complexType name="DiscountAmountType">

<xsd:simpleContent><xsd:restriction base="cct:AmountType">

<xsd:attribute name="currencyId"><xsd:simpleType>

<xsd:restriction base="xsd:token">

<xsd:enumeration

value="EUR"/><xsd:enumeration value="GBP"/><xsd:enumeration value="USD"/>

</xsd:restriction></xsd:simpleType>

</xsd:attribute></xsd:restriction>

</xsd:simpleContent></xsd:complexType>

[R 45] If a Basic Core Component as well as a Basic Business Information Entity should have one or more restricted Supplementary Components (local attributes) and a restricted Content Component, the simpleContent of the complexType must be a restriction. This base type definition of the restriction must refer to the complexType of the relevant Core Component Type. This restriction must include all facets and restricted attributes. The simpleType of each attribute must be a restriction, too. This restriction should have all relevant facets of each restricted attribute.

For Example:<xsd:complexType name="ProfitAmountType">

<xsd:simpleContent><xsd:restriction base="cct:AmountType">

<xsd:minInclusive value="10.00"/><xsd:maxInclusive value="1000.00"/><xsd:attribute name="currencyId">

<xsd:simpleType><xsd:restriction base="xsd:token">

<xsd:enumeration value="EUR"/>

</xsd:restriction></xsd:simpleType>

</xsd:attribute></xsd:restriction>

</xsd:simpleContent></xsd:complexType>

wd-ublndrsc-ndrdoc-21 29 13 December 2002

775776777778779780

781782783784785786787788789790791792793794795796797798799800801

802803804805806807808809

810811812813814815816817818819820821822823824825826

169

170171172173174

Page 30: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

7 Rules for Context

For an overview of current thinking on Context Rules, consult the Specialization Architecture position paper from the Context Methodology Subcommittee.

wd-ublndrsc-ndrdoc-21 30 13 December 2002

827

828829830

175

176177178179180

Page 31: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

8 Core Component TypesThe following spreadsheet shows the list of all defined Core Component Types and their equivalent Representation Terms:

CCT (Primary RT, Secondary RTs): CCT Definition.

Content Component:[data-type] Definition. (Remarks.)

Supplementary Components:[data-type] Definitions. (Remarks.)

Amount. Type (Amount): A number of monetary units specified in a currency where the unit of currency is explicit or implied.

Amount. Content: [decimal]

A number of monetary units specified in a currency where the unit of currency is explicit or implied.

[xsd:decimal]

Note: We agreed not to restrict the fractional digits.

Amount Currency. Identifier: [string]

The currency of the amount. (Reference UN/ECE Rec. 9, using 3-letter alphabetic codes. The UN/ECE Rec. 9 is also published as ISO 4217, but is available in electronic form and free of charge.)

currencyID - required

[xsd:token]

Note: This should be the content type of the schema that corresponds to this code list.

We recommend to use the “Currency Coded A” of Rec. 9.

Amount Currency. Code List Version. Identifier: [string]

The version of the UN/ECE Rec. 9 code list.

codeListVersionID - optional [xsd:token]

Note: The default version is Rec. 9 - 2002.

Binary Object. Type (Binary Object, Graphic, Picture, Sound, Video):

A set of finite-length sequences of binary octets.

Binary Object. Content: [binary]

A set of finite-length sequences of binary octets.

[xsd:base64Binary]

Binary Object. Format. Text: [mime]

The format of the binary content.

format – optional

[xsd:token]

Note: Defines the type of binary content without any coding list.

Note: format itself could be the same as mimeCode. Therefore is this attribute might be not necessary.

Binary Object. Type. Code: [??] ??

typeCode – prohibited

[xsd:token]

Note: not necessary

Binary Object. Encoding. Code: [??] ?

encodingCode – prohibited

[xsd:token]

wd-ublndrsc-ndrdoc-21 31 13 December 2002

831832833

181

182183184185186

Page 32: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

CCT (Primary RT, Secondary RTs): CCT Definition.

Content Component:[data-type] Definition. (Remarks.)

Supplementary Components:[data-type] Definitions. (Remarks.)

Note: Better will be Binary Object. Charset. Code. Because this supplementary component corresponds to the charset code of MIME [RFC 2045 and RFC 2046].

better:

charsetCode – optional

[xsd:token]

Note: The attribute “charsetCode” could be used for subtypes of format "text". It gives a name of a character set, as "character set" is defined in RFC 2045. An initial list of predefined character set names can be found at the end of this section. Additional character sets may be registered with IANA. Other media types than subtypes of "text" might choose to employ the charset parameter as defined here. Therefore, all character sets that conform to the general definition of "character set" in RFC 2045 can be registered for MIME use.

Binary Object. Uniform Resource. Identifier: [string] The Uniform Resource Identifier that identifies where the Binary Object is located.

URI – optional

[xsd:anyURI]

better

xlink:href – optional

[xsd:anyURI]

Note: The attribute “xlink:href” has a value that is the URI of the binary object referenced. It shall conform to the XLINK specification criteria for a simple link.

Note: Refers to local MIME-Attachenments within the same Message-Envelope. By using MIME-Attachments, no another

wd-ublndrsc-ndrdoc-21 32 13 December 2002187

188189190191192

Page 33: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

CCT (Primary RT, Secondary RTs): CCT Definition.

Content Component:[data-type] Definition. (Remarks.)

Supplementary Components:[data-type] Definitions. (Remarks.)

supplementary components for describing the MIME-chararcteristics are necessary.

The URI scheme name for referencing to the specific MIME-attachments is cid (see: [IETF RFC 2392])

xlink:type – optional

[xsd:token]

Note: The attribute type defines the element as being an XLINK simple link. It has a fixed value of “simple”.

Issue: Binary Object. Type. Code is listed in Table 8-1 but not Table 8-2.

typeCode ?? – optional

[xsd:token]

Note: ??

Issue: Binary Object. Encoding. Code is listed in Table 8-1 but not Table 8-2. Is it supposed to be the same as Binary Object. Encoding. Type, which is mentioned in Table 8-2? The remarks for the latter say “Reference IETF RFC 2047.”

encodingCode – optional

[xsd:token]

Note: Not necessary, see above

Issue: Binary Object. Mime. Type is listed in Table 8-2, but not Table 8-1. Is it a duplicate of Binary Object. Format. Text? The remarks for the latter say “Reference IETF RFC 2046.”

mimeCode – optional

[xsd:token]

Note: Defines the type of MIME Format according IETF RFC 2046 and the formats, which build on it.

Note: “Type” does not existing as Representation Term. It should be either ID oder Code. It is recommended to use “Code” because the MIME Format is a very stable list of MIME Types.

wd-ublndrsc-ndrdoc-21 33 13 December 2002193

194195196197198

Page 34: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

CCT (Primary RT, Secondary RTs): CCT Definition.

Content Component:[data-type] Definition. (Remarks.)

Supplementary Components:[data-type] Definitions. (Remarks.)

Issue: Binary Object. Filename. Text is not existing in CCTS 1.85 but should be included, because this is a part of MIME-Type (IETF RFC 1341)

filename – optional

[xsd:token]

Note: The identification of the filename of the specific binary object.

Code. Type (Code):

A character string (letters, figures or symbols) that for brevity and/or language independence may be used to represent or replace a definitive value or text of an attribute together with relevant supplementary information.

Code. Content: [string]

A character string (letters, figures or symbols) that for brevity and/or language independence may be used to represent or replace a definitive value or text of an attribute.

[xsd:token] Code List. Identifier: [string] The identification of a list of codes. (Can be used to identify the URL of a source that defines the set of currently approved permitted values.)

listID – optional[xsd:token]

Note: listID is unique within the responsible agency, only.

Code List. Agency. Identifier: [string] An agency that maintains one or more code lists. (Defaults to the UN/EDIFACT data element 3055 code list.)

listAgencyID – optional

[xsd:token]

Note: Default is UN/CEFACT data element 3055 code list without the specific codes for partner role.

Note: If another identification scheme for defining the responsible agency will be taken, this identification scheme for identifying this agency and the responsible agency for it must be defined by the additional supplementary components listAgencySchemeId and listAgencySchemeAgencyId.

Code List. Agency Name. Text: [string] The name of the agency that maintains the code list.

listAgencyName – optional

[xsd:token]

Note: listAgencyName should be not used, because all code list should be recognized in a standardized global environment.

Code List. Name. Text: [string] The name of a list of codes.

listName – optional

[xsd:token]

Note: listName should be

wd-ublndrsc-ndrdoc-21 34 13 December 2002199

200201202203204

Page 35: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

CCT (Primary RT, Secondary RTs): CCT Definition.

Content Component:[data-type] Definition. (Remarks.)

Supplementary Components:[data-type] Definitions. (Remarks.)

not used, because all code list should be recognized in a standardized global environment.

Code List. Version. Identifier: [string] The version of the code list. (Identifies the version of the UN/EDIFACT data element 3055 code list.)

listVersionID – optional

[xsd:token]

Code. Name. Text: [string] The textual equivalent of the code content. (If no code content exists, the code name can be used on its own.)

name – optional

[xsd:token]

Note: It might be not necessary to use name for the exchange of instances.

Language. Identifier: [string] The identifier of the language used in the corresponding text string.

languageID – optional

[xsd:language]

better:

xml:lang – optional

[xsd:language]

Note: The language should be base on the recommendation IETF RFC 1766 and/or IETF RFC 3066.

Note: For parser processing reasons should be useful, to use the recommended attribute xml:lang for representing the supplementary component Language. Identifier. (see Kapitel 2.12 in Extensible Markup Language (XML) 1.0 (Second Edition)). The values of the attribute are language identifiers as defined by [IETF RFC 1766], Tags for the Identification of Languages, or its successor on the IETF Standards Track.

wd-ublndrsc-ndrdoc-21 35 13 December 2002205

206207208209210

Page 36: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

CCT (Primary RT, Secondary RTs): CCT Definition.

Content Component:[data-type] Definition. (Remarks.)

Supplementary Components:[data-type] Definitions. (Remarks.)

Code List. Uniform Resource. Identifier: [string] The Uniform Resource Identifier that identifies where the code list is located.

listURI – optional

[xsd:anyURI]

better:

xlink:href – optional

[xsd:anyURI] or

Note: The attribute “xlink:href” has a value that is the URI of the code list referenced. It shall conform to the XLINK specification criteria for a simple link.

Code List Scheme. Uniform Resource. Identifier: [string] The Uniform Resource Identifier that identifies where the code list scheme is located.

listSchemeURI – optional

[xsd:anyURI]

better:

xlink:role – optional

[xsd:anyURI]

Note: the xlink:role attribute indicates the location of the code list scheme that the entire link has.

xlink:type – optional

[xsd:token]

Note: The attribute type defines the element as being an XLINK simple link. It has a fixed value of “simple”.

Code List Agency. Scheme. Identifier: [string] Identifies the the specific identification scheme for identifying the responsible agency for the identifier within the supplementary component Code List. Agency. Identifier

listAgencySchemeId – optional

[xsd:token]

Note: This attribute is necessary, if the value in listAgencyID is not based on UN/CEFACT data element 3055.

wd-ublndrsc-ndrdoc-21 36 13 December 2002211

212213214215216

Page 37: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

CCT (Primary RT, Secondary RTs): CCT Definition.

Content Component:[data-type] Definition. (Remarks.)

Supplementary Components:[data-type] Definitions. (Remarks.)

Code List Agency. Scheme Agency. Identifier [string]: Identifies the agency of the specific identification scheme for identifying the responsible agency for the identifier within the supplementary component Code List. Agency. Identifier (This identifier based on UN/EDIFACT data element 3055 code list.)

listAgencySchemeAgencyId – optional

[xsd:token]

Note: This attribute is necessary, if the value in listAgencyID is not based on UN/CEFACT data element 3055.

Date Time. Type (Date Time, Date, Time):

A particular point in the progression of time together with relevant supplementary information.

Date Time. Content: [string]

The particular point in the progression of time. (For times use an ISO 8601 compliant format that includes the UTC offset.)

[xsd:dateTime]

Note: It is recommended the extended format of the built-in datatpye xsd:dataTime (YYYY-MM-DD).

Date Time. Format. Text: [string] The format of the date/time content. (Reference ISO 8601 and W3C note on date time.)

format – prohibited

[xsd:token]

Note: This attribute is not necessary, because the built-in datatype xsd:dateTime have an unique format.

Identifier. Type (Identifier): A character string to identify and distinguish uniquely, one instance of an object in an identification scheme from all other objects in the same scheme together with relevant supplementary information.

Identifier. Content: [string]

A character string to identify and distinguish uniquely, one instance of an object in an identification scheme from all other objects within the same scheme.

[xsd:token] Identification Scheme. Identifier: [string] The identification of the identification scheme.

schemeID – optional

[xsd:token]

Note: Identifies an identification scheme. The identification scheme represents the context used to identify an object. SchemeId is only unique within the agency that administrates this identification scheme.

Note: If another identification scheme for defining the responsible agency will be taken, this identification scheme for identifying this agency and the responsible agency for it must be defined by the additional supplementary components schemeAgencySchemeId and schemeAgencySchemeAgencyId.

Identification schemeName – optional

wd-ublndrsc-ndrdoc-21 37 13 December 2002217

218219220221222

Page 38: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

CCT (Primary RT, Secondary RTs): CCT Definition.

Content Component:[data-type] Definition. (Remarks.)

Supplementary Components:[data-type] Definitions. (Remarks.)

Scheme. Name. Text: [string] The name of the identification scheme.

[xsd:token]

Note: schemeName should be not used, because all identification schemes should be recognized in a standardized global environment.

Identification Scheme Agency. Identifier: [string] The identification of the agency that maintains the identification scheme. (Defaults to the UN/EDIFACT data element 3055 code list.)

schemeAgencyID – optional

[xsd:token]

Identifies the agency that administrates an identification scheme. The agencies from DE 3055 are used as the default, whereby the roles defined in DE 3055 cannot be used.

Note: If another identification scheme for defining the responsible agency will be taken, this identification scheme for identifying this agency and the responsible agency for it must be defined by the additional supplementary components schemeAgencySchemeId and schemeAgencySchemeAgencyId.

Identification Scheme. Agency Name. Text: [string] The name of the agency that maintains the identification scheme.

schemeAgencyName – optional

[xsd:token]

Note: schemeAgencyName should be not used, because all identification schemes should be recognized in a standardized global environment.

Identification Scheme. Version. Identifier: [string] The version of the identification scheme.

schemeVersionID – optional

[xsd:token]

Note: Identifies the version of this identification scheme.

wd-ublndrsc-ndrdoc-21 38 13 December 2002223

224225226227228

Page 39: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

CCT (Primary RT, Secondary RTs): CCT Definition.

Content Component:[data-type] Definition. (Remarks.)

Supplementary Components:[data-type] Definitions. (Remarks.)

Identification Scheme Data. Uniform Resource. Identifier: [string] The Uniform Resource Identifier that identifies where the identification scheme data is located.

schemeDataURI – optional

[xsd:token]

better:

xlink:href – optional

[xsd:anyURI]

Note: The attribute “xlink:href” has a value that is the URI of the identification scheme data referenced. It shall conform to the XLINK specification criteria for a simple link.

Identification Scheme. Uniform Resource. Identifier: [string] The Uniform Resource Identifier that identifies where the identification scheme is located.

schemeURI – optional

[xsd:token]

better:

xlink:role – optional

[xsd:anyURI]

Note: the xlink:role attribute indicates the location of the identification scheme that the entire link has.

xlink:type – optional

[xsd:token]

Note: The attribute “xlink:type” defines the element as being an XLINK simple link. It has a fixed value of “simple”.

Identification SchemeAgency. Scheme. Identifier: [string] Identifies the identification scheme that represents the context for identifying the agency.

schemeAgencySchemeId – optional

[xsd:token]

Note: This attribute is necessary, if the value in schemeAgencyID is not based on UN/CEFACT data element 3055.

Identification Scheme Agency.

schemeAgencySchemeAgencyId – optional

wd-ublndrsc-ndrdoc-21 39 13 December 2002229

230231232233234

Page 40: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

CCT (Primary RT, Secondary RTs): CCT Definition.

Content Component:[data-type] Definition. (Remarks.)

Supplementary Components:[data-type] Definitions. (Remarks.)

Scheme Agency. Identifier: [string] Identifies the agency that administrates the SchemeAgencySchemeId. This attribute can only contain values from DE 3055 (without roles).

[xsd:token]

Note: This attribute is necessary, if the value in schemeAgencyID is not based on UN/CEFACT data element 3055.

Indicator. Type (Indicator):

A list of two mutually exclusive Boolean values that express the only possible states of a Property.

Indicator. Content: [string]

The value of the indicator. (For example on, off, true, false.)

[xsd:boolean] Indicator. Format. Text: [string] Whether the indicator is numeric, textual or binary.

format – prohibited

[xsd:token]

Note: This attribute is not necessary, because the built-in datatype xsd:boolean have an unique format.

Measure. Type (Measure):

A numeric value determined by measuring an object along with the

specified unit of measure.

Measure. Content: [decimal]

The numeric value determined by measuring an object. (For example, 24.387 kilograms (24.387 is the Measure. Content).)

[xsd:decimal]

Note: We agreed not to restrict the fractional digits.

Measure Unit. Code: [string] The type of unit of measure. (Reference UN/ECE Rec. 20 and X12 355.)

unitCode – required

[xsd:NMTOKEN]

Note: This should be the content type of the schema that corresponds to this code list.

We recommend to use the “comecode” of Rec. 20.

Measure Unit. Code List Version. Identifier: [string] The version of the measure unit code list.

unitCodeListVersionID – optional

[xsd:token]

Note: The default version is Rec. 20 - 2002.

Numeric. Type (Numeric, Value, Rate, Percent):

Numeric information that is assigned or is determined by calculation, counting, or sequencing. It does not require a unit of quantity or unit of measure.

Numeric. Content: [as defined by Numeric. Format. Text]

Numeric information that is assigned or is determined by calculation, couting, or sequencing. (May be decimal.)

[xsd:decimal]

Note: We agreed not to restrict the fractional digits.

Numeric. Format. Text: [string] Whether the number is an integer, decimal, real number or percentage.

format – prohibited

[xsd:token]

Note: This attribute is not necessary, because the built-in datatype xsd:decimal have an unique format.

Quantity. Type (Quantity):

A counted number of non-monetary units

Quantity. Content: [decimal]

A counted number

[xsd:decimal]

Note: We agreed not to restrict the

Quantity. Unit. Code: [string] The unit of the quantity. (May use UN/ECE Recommendation

unitCode – required

[xsd:NMTOKEN]

Note: This should be the

wd-ublndrsc-ndrdoc-21 40 13 December 2002235

236237238239240

Page 41: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

CCT (Primary RT, Secondary RTs): CCT Definition.

Content Component:[data-type] Definition. (Remarks.)

Supplementary Components:[data-type] Definitions. (Remarks.)

possibly including fractions.

of non-monetary units possibly including fractions. (For example 7 bales (7 is the Quantity. Content).)

fractional digits. #20.) content type of the schema that corresponds to this code list.

We recommend to use the “comecode” of Rec. 20.

Quantity Unit. Code List. Identifier: [string] The quantity unit code list.

unitCodeListID – optional

[xsd:token]

Note: The default version is Rec. 20 - 2002.

Quantity Unit. Code List Agency. Identifier: [string] The identification of the agency which maintains the quantity unit code list.

(Defaults to the UN/EDIFACT data element 3055 code list.)

unitCodeListAgencyID – optional

[xsd:token]

Note: The default version is Rec. 20 - 2002.

Quantity Unit. Code List Agency Name. Text: [string] The name of the agency which maintains the quantity unit code list.

unitCodeListAgencyName – optional

[xsd:token]

Note: The default version is Rec. 20 - 2002.

Note: unitCodeListAgencyName should be not used, because all identification schemes should be recognized in a standardized global environment.

Text. Type (Text, Name):

A character string (i.e. a finite set of characters) generally in the form of words of a language.

Text. Content: [string]

A character string (i.e. a finite set of characters) generally in the form of words of a language.

[xsd:string] Language. Identifier: [string] The identifier of the language used in the corresponding text string.

languageId – optional

[xsd:language]

better:

xml:lang – optional

[xsd:language]

Note: The language should be base on the recommendation IETF RFC

wd-ublndrsc-ndrdoc-21 41 13 December 2002241

242243244245246

Page 42: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

CCT (Primary RT, Secondary RTs): CCT Definition.

Content Component:[data-type] Definition. (Remarks.)

Supplementary Components:[data-type] Definitions. (Remarks.)

1766 and/or IETF RFC 3066.

Note: For parser processing reasons should be useful, to use the recommended attribute xml:lang for representing the supplementary component Language. Identifier. (see Kapitel 2.12 in Extensible Markup Language (XML) 1.0 (Second Edition)). The values of the attribute are language identifiers as defined by [IETF RFC 1766], Tags for the Identification of Languages, or its successor on the IETF Standards Track.)

Language. Locale. Identifier: [string] The identification of the locale of the language.

languageLocaleID – optional

[xsd:token]

Note: unitCodeListAgencyName should be not used, because all locales of the languages can be represented by the recommendation IETF RFC 1766 and/or IETF RFC 3066.

ElectronicAddress. Type (ElectronicAddress): A Uniform Resource Identifier that identifies an electronic address

ElectronicAddress. Content: [string] A Uniform Resource Identifier that identifies an electronic address.

This Uniform Resource Identifier based on the recommendations . IETF RFC 1738, IETF RFC 1808, IETF RFC 2396 and IETF RFC 2732

[xsd:anyURI] Electronic Address. Protocol. Identifier: [string] A more specific identification of the transfer protocol.

(Reference: UN/EDIFACT Data Element 3155 “Communication Address Code Qualifier”)

protocolID - required

[xsd:token]

Note: If the schema of anyURI does not specify the correct transfer protocol, this transfer protocol can be expressed by protocolID.

Note:

Electronic Address. Language. Identifier: [string] The identifier of the language used in the referenced object.

languageID - optional [xsd:language]

better:

xsl:lang - optional [xsd:language]

wd-ublndrsc-ndrdoc-21 42 13 December 2002247

248249250251252

Page 43: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

CCT (Primary RT, Secondary RTs): CCT Definition.

Content Component:[data-type] Definition. (Remarks.)

Supplementary Components:[data-type] Definitions. (Remarks.)

Note: The language should be base on the recommendation IETF RFC 1766 and/or IETF RFC 3066.

Note: For parser processing reasons should be useful, to use the recommended attribute xml:lang for representing the supplementary component Language. Identifier. (see Kapitel 2.12 in Extensible Markup Language (XML) 1.0 (Second Edition)). The values of the attribute are language identifiers as defined by [IETF RFC 1766], Tags for the Identification of Languages, or its successor on the IETF Standards Track.

8.1 Code ListsSee the separate Code List Recommendation paper for details of the NDRSC's recommendations for code lists.

8.2 IdentifierBy using the Core ComponentType “Identifier” it is possible to represent identifiers for using in the global environment as well as in the proprietary environment. Master data identification requires that both standardized and proprietary identifiers within a message are exchanged. Standardized Identifiers:Standardized identifiers already have globally unique and valid names that are known at implementation time. These names can, therefore, be mapped generally using the attribute "schemeAgencyName" and fixed values in the ERP systems.Proprietary Identifiers:Proprietary identifiers are not usually valid generally and are not known at implementation time, meaning that they cannot be mapped using fixed values in the ERP systems. Various specifications enable uniqueness at runtime to be removed. These specifications are detailed in this document.

The identifier is created for these requirements based on the following object model:

wd-ublndrsc-ndrdoc-21 43 13 December 2002

834

835836837

838839840841842843844845846847848849850

851

253

254255256257258

Page 44: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

8.2.1 Necessary AttributesThe following attributes for these requirements need to be considered:

CCT Category Object Class Property Term

Represen-tation Term

Datatype Card- nality

Identifier complexType

Identifier Identifier Content xsd:token

schemeId Attribute IdentificationScheme

Identification Identifier xsd:token 0..1

schemeVersionId

Attribute IdentificationScheme

Version Identifier xsd:token 0..1

schemeAgencyId

Attribute IdentificationScheme-Agency

Identification Identifier xsd:token 0..1

schemeAgency-SchemeId

Attribute IdentificationScheme-Agency

Scheme Identifier xsd:token 0..1

schemeAgency-SchemeAgencyId

Attribute IdentificationScheme-Agency

SchemeAgency

Identifier xsd:token 0..1

SchemeId identifies an identification scheme. The identification scheme represents the context used to identify an object. SchemeId is only unique within the agency that administrates this identification scheme. SchemeVersionId identifies the version of this identification scheme. SchemeAgencyId identifies the agency that administrates an identification scheme. The agencies from DE 3055 are used as the default, whereby the roles defined in DE 3055 cannot be used. SchemeAgencySchemeId identifies the identification scheme that represents the context for identifying the agency.

wd-ublndrsc-ndrdoc-21 44 13 December 2002

852853

854855

856857858859860861862863864

259

260261262263264

Page 45: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

SchemeAgencySchemeAgencyId identifies the agency that administrates the SchemeAgencySchemeId. This attribute can only contain values from DE 3055 (without roles).

8.2.2 Specific use for global and/or proprietary identifierThe data type identifier is used for all elements or attributes that are to enable unique identification of logical or real objects in communication between partners or systems. The number of attributes is not to be "limited" but rather should increase continually (such as with ProductId, OrderId, and so on). More and more IDs are added. If the agency administrating the identification scheme is not named explicitly but rather specified using a role, this occurs in the tag name.The following types of identifier can be mapped:

[R 46] Standardized identifiers whose identification schemes are administrated by an agency from the code list DE 3055.

The relevant attributes are:

Identifier Standard

schemeId Identification scheme for the standard identifier

schemeVersionId Version of the identification scheme

schemeAgencyId Agency from DE 3055 (without roles)

schemeAgencySchemeId -

schemeAgencySchemeAgencyId -

Fore Example:<ProductId schemeId =“GTIN“ schemeAgencyId=”113”>10614141000415</ ProductId>

[R 47] Proprietary identifiers whose identification schemes are administrated by an agency that is identified using a standard.

The relevant attributes are:

Identifier Proprietary

schemeId Identification scheme for the proprietary identifier

schemeVersionId Version of the identification scheme

schemeAgencyId Standardized Id for the agency (usually the company that administrates the proprietary identifier)

schemeAgencySchemeId Identification scheme for the schemeAgencyId

schemeAgencySchemeAgencyId Agency from DE 3055 that administrates the

wd-ublndrsc-ndrdoc-21 45 13 December 2002

865866867

868869870871872873874875

876877878

879

880881882

883884885

886

265

266267268269270

Page 46: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

standardized Id "schemeAgencyId"

For Example:<ProductId schemeId =“Household devices“ schemeAgencyId=”065055766” schemeAgencySchemeId=”DUNS” schemeAgencyAgencyId=”016”>123</ ProductId>

[R 48] Proprietary identifiers whose identification schemes are administrated by an agency that is identified proprietarily.

The relevant attributes are:

Identifier Proprietary

schemeId Identification scheme for the proprietary identifier

schemeVersionId Version of the identification scheme

schemeAgencyId Proprietary Id for the agency (usually the company that administrates the proprietary identifier)

schemeAgencySchemeId Identification scheme for the schemeAgencyId

schemeAgencySchemeAgencyId "ZZZ" (mutually defined from DE 3055)

For Example:<ProductId schemeId =“Household devices“ schemeAgencyId=”4711” schemeAgencySchemeId=”PartyA” schemeAgencyAgencyId=”ZZZ”>456</ ProductId>

[R 49] Proprietary identifiers whose identification schemes are administrated by an agency that is specified either using a role or not at all. The role is specified as a prefix in the tag name. SchemeId and schemeVersionId can be used as attributes if there is more than one identification scheme. If there is only one identification scheme, no attributes are required.

The relevant attributes are:

Identifier Proprietary

schemeId Identification scheme for the proprietary identifier

schemeVersionId Version of the identification scheme

schemeAgencyId -

schemeAgencySchemeId -

schemeAgencySchemeAgencyId -

For Example:<ProductId schemeId =“Household devices“>456</ ProductId>

wd-ublndrsc-ndrdoc-21 46 13 December 2002

887888889890

891892893

894

895896897898

899900901902903

904

905906

907

271

272273274275276

Page 47: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

8.3 Date and Time

8.3.1 IntroductionRules for the following aspects of time have been formulated. These aspects of time are:

specific point of date and/or time durations, i.e. measurements of time periods between particular points in date and or time frequency of a defined period

ISO 8601 (as described in XML Schema Part 2) is used for the lexical description of the built in datatypes DateTime, Date, Time and Duration. Its periods and recurrence rules are not satisfactory for the description of these aspects. Rather an XML structure is more flexible for this purpose.

8.3.2 Rules for specific points of date/time[R 50] For each specific point in time the built in datatype from XML schema (Part 2) must be

used. These are xsd:time, xsd:date, xsd:dateTime.

8.3.3 Rules for durationThe expression of duration requires the use of an additional secondary Representation Term called Duration. Type.

[R 51] For the expression of the Representation Term Duration. Type the XSD built in datatype xsd:Duration must be used. For example

<simpleType name="DurationContent" id="000300"><restriction base="duration">

<pattern value='P\p{Nd}{4}Y\p{Nd}{2}M\p{Nd}{2}D'/></restriction>

</simpleType><complexType name="DurationType" id="000299">

<simpleContent><extension base="decimal">

<attributeGroup ref="cct:commonAttributes"/></extension>

</simpleContent></complexType>

8.3.4 Core Component Types and Representation Terms[Gunther still to look into this further] There is a one to one correspondence between Core Component Types and Representation Terms. Where additional property terms like Year, YearMonth, are used then the additional built in datatypes from XML Schema part 2 must be used. These additional datatypes are: xsd:gYear, xsd:gYearMonth, xsd:gMonth, xsd:gMonthDay, and xsd:gDay.

8.3.5 Period[R 52] A period can be expressed using the Aggregate Core Component (ACC)

PeriodDetails. The ACC is divided into 3 representation types, Date, Time and DateTime.

wd-ublndrsc-ndrdoc-21 47 13 December 2002

908

909910911912913914915916917918

919920

921

922923

924925926927928929930931932933934935936937938

939940

941942943944

945946

947

277

278279280281282

Page 48: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

One of these must be selected. Each option has a start and end date, start and end time or start DateTime and end DateTime.

XML-Schema:

<complexType name="PeriodDetails"><sequence>

<choice><element name="StartTime" type="cct:TimeType"/><element name="StartDate" type="cct:DateType"/><element name="StartDateTime" type="cct:DateTimeType"/>

</choice><choice>

<element name="EndTime" type="cct:TimeType"/><element name="EndDate" type="cct:DateType"/><element name="EndDateTime" type="cct:DateTimeType"/>

</choice></sequence>

</complexType>

XML-Instance:

<ValidityPeriod><StartDate>1967-08-13</StartDate><EndDate>1967-08-13</EndDate>

This example is stating that the validity period is from the 13th Aug 1967 to 13th August 1967, i.e. that day.

[R 53] For each representation term the equivalent data type must be used i.e. if the representation term Date is used, then the corresponding built in datatype xsd:date must be used.

wd-ublndrsc-ndrdoc-21 48 13 December 2002

948949

950

951952953

954955956957958959960961962963964965966967968969970971

972973

974975976977

978979980

981982983984

283

284285286287288

Page 49: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

8.3.6 Frequency of recurrent periodThis represents a recurring times and/or dates within a duration period (start and end date/-time) or a duration (measure of time). There are four different types of recurrence:

1. By a number of recurrences at points over a defined period of time

2. By recurrences at time intervals over a period, with the indicated duration for each time-interval between recurrences.

3. By a number of recurrences over a duration.

4. By recurrences at time intervals over a duration, with the indicated duration for each time-interval between recurrences.

It is possible to represent each of these four types of recurrent periods by a single structure. This structure looks as follows:

8.3.6.1 Number of recurrences at points over a defined period of time

wd-ublndrsc-ndrdoc-21 49 13 December 2002

985986987

988

989990

991

992993

994995

996

997

998

289

290291292293294

Page 50: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

To represent defined points in a time period, the following components of the structure are required:

[R 54] The start and end times may be represented by the BCCs i.e. StartTime, EndTime, StartDate, EndDate etc.

[R 55] The recurrence of these periods in time may be represented by the BCC RecurrenceValue.

8.3.6.2 Recurrences at time intervals over a periodTo represent defined interval in a time period, the following components of the structure are required:

wd-ublndrsc-ndrdoc-21 50 13 December 2002

Time

Beginning Date and/or Time

Ending Date and/or Time

FrequencyFrequencyFrequency

Time

Beginning Date and/or Time

Ending Date and/or Time

FrequencyFrequencyFrequency

Time

Beginning Date and/or Time

Ending Date and/or Time

FrequencyFrequencyFrequency

Time

Beginning Date and/or Time

Ending Date and/or Time

Intervals

Time

Beginning Date and/or Time

Ending Date and/or Time

FrequencyFrequencyFrequency

Time

Beginning Date and/or Time

Ending Date and/or Time

Intervals

10001001

100210031004

10051006

100710081009

295

296297298299300

Page 51: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

[R 56] The start and end times may be represented by the BCCs i.e. StartTime, EndTime, StartDate, EndDate etc.

[R 57] The intervals in a point in time should be represented by a single BCC indicated by the choice operator i.e. FrequencyDuration, FrequencyYear etc.

8.3.6.3 Number of recurrences over a duration

To represent the number of recurrences over a duration, the following components of the structure are required:

wd-ublndrsc-ndrdoc-21 51 13 December 2002

Time

FrequencyFrequencyFrequency

Duration

Time

FrequencyFrequencyFrequency

Duration

101010111012

10131014

1015

10171018

301

302303304305306

Page 52: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

[R 58] Duration may be expressed by the BCC Duration.

[R 59] The number of recurrences may be expressed by the BCC RecurrenceValue.

8.3.6.4 Recurrences at time intervals over a duration

To represent the recurrences of intervals over a duration, the following components of the structure are required:

[R 60] Duration may be expressed by the BCC Duration.

[R 61] The intervals in a point in time should be represented by a single BCC indicated by the choice operator i.e. FrequencyDuration, FrequencyYear etc.

wd-ublndrsc-ndrdoc-21 52 13 December 2002

Time

FrequencyFrequencyFrequencyIntervals

Duration

Time

FrequencyFrequencyFrequencyIntervals

Duration

10191020

1021

10221023

10241025

10261027

10281029

1030

307

308309310311312

Page 53: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

9 Code ListsSee the separate Code List Recommendation paper for details of the NDRSC's recommendations for code lists.

wd-ublndrsc-ndrdoc-21 53 13 December 2002

103110321033

313

314315316317318

Page 54: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

10UBL Messages10.1General Message RulesThe following general rules for messages must be applied.

[R 62] A UBL message set may be extended where desirable if the business function of the UBL original is retained., but the message exists within its own business context.

According to the XML Recommendation [XML], the legal characters in XML character data are tab, carriage return, line feed, and the legal characters of Unicode and ISO/IEC 10646, as these standards are updated from time to time. It further notes that "The mechanism for encoding character code points into bit patterns may vary from entity to entity" and requires all XML processors (parsers) to accept the UTF-8 and UTF-16 encodings of 10646. UBL has the same requirements for legal characters in XML instance documents and the same minimal requirements for character encoding support in UBL-aware software.

[R 63] UBL documents must use the same legal characters in XML character data that are listed in the XML Recommendation. Including tab, carriage return, line feed, and the legal characters of Unicode and ISO/IEC 10646.

[R 64] Trading partners may agree on other character encodings to use among themselves. It is recommended in all case that encoding declarations be provided in the XML declarations of UBL documents.

[R 65] UBL messages must express semantics fully in schemas and not rely merely on well-formedness.

[R 66] Instances conforming to schemas should be readable and understandable, and should enable reasonably intuitive interactions.

[R 67] In the context of a schema, information that expresses correspondences between data elements in different classification schemes (“mappings”) may be regarded as metadata. This information should be accessible in the same manner as the rest of the information in the schema.

wd-ublndrsc-ndrdoc-21 54 13 December 2002

1034

10351036

10371038

1039104010411042104310441045

104610471048

104910501051

10521053

10541055

1056105710581059

319

320321322323324

Page 55: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

11 References[CCTS] UN/CEFACT Draft Core Components Specification 30 September, 2002,

Version 1.85[CCFeedback] Feedback from OASIS UBL TC to Draft Core Components Specification

1.8, version 5.2, May 4, 2002, http://oasis-open.org/committees/ubl/lcsc/doc/ubl-cctscomments-5p2.pdf.

[GOF] Design Patterns, Gamma, et al. ISBN 0201633612[ISONaming] ISO/IEC 11179, Final committee draft, Parts 1-6.(RFC) 2119 S. Bradner, Key words for use in RFCs to Indicate Requirement Levels,

http://www.ietf.org/rfc/rfc2119.txt, IETF RFC 2119, March 1997.[UBLChart] UBL TC Charter, http://oasis-open.org/committees/ubl/charter/ubl.htm[XML] Extensible Markup Language (XML) 1.0 (Second Edition), W3C

Recommendation, October 6, 2000(XSD) XML Schema, W3C Recommendations Parts 0, 1, and 2. 2 May 2001.

(XHTML) XHTML™ Basic, W3C Recommendation 19 December 2000: http://www.w3.org/TR/2000/REC-xhtml-basic-20001219

wd-ublndrsc-ndrdoc-21 55 13 December 2002

1060106110621063106410651066106710681069107010711072107310741075107610771078

325

326327328329330

Page 56: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

12Technical Terminology

Ad hoc schema processing Doing partial schema processing, but not with official schema validator software; e.g., reading through schema to get the default values out of it.

Application-level validation Adherence to business requirements, such as valid account numbers.

Assembly Using parts of the library of reusable UBL components to create a new kind of business document type.

Common attribute An attribute that has identical meaning on the multiple elements on which it appears. A common attribute might or might not correspond to an XSD global attribute.

Context A particular set of context driver values.

DTD validation Adherence to an XML 1.0 DTD.

Generic BIE A semantic model that has a “zeroed” context. We are assuming that it covers the requirements of 80% of business uses, and therefore is useful in that state.

Instance constraint checking Additional validation checking of an instance, beyond what XSD makes available, that relies only on constraints describable in terms of the instance and not additional business knowledge; e.g., checking co-occurrence constraints across elements and attributes. Such constraints might be able to be described in terms of Schematron.

Instance root/doctype This is still mushy. The transitive closure of all the declarations imported from whatever namespaces are necessary. A doctype may have several namespaces used within it.

Intermediate element An element not at the top level that is of a complex type, only containing other elements and attributes.

Internal schema module: A schema module that does not declare a target namespace.

Leaf element An element containing only character data (though it may also have attributes). Note that, because of the XSD mechanisms involved, a leaf element that has attributes must be declared as having a complex type, but a leaf element with no attributes may be declared with either a simple type or a complex type.

wd-ublndrsc-ndrdoc-21 56 13 December 2002

1079

1080

331

332333334335336

Page 57: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

Lower-level element An element that appears inside a business message.

Namespace schema module: A schema module that declares a target namespace and is likely to pull in (by including or importing) schema modules.

Root Schema A schema document corresponding to a single namespace, which is likely to pull in (by including or importing) schema modules. Issue: Should a root schema always pull in the “meat” of the definitions for that namespace, regardless of how small it is?

Schema Never use this term unqualified!

Schema Module A “schema document” (as defined by the XSD spec) that is intended to be taken in combination with other such schema documents to be used.

Schema module: A schema document containing type definitions and element declarations.

Schema Processing Schema validation checking plus provision of default values and provision of new infoset properties.

Schema Validation Adherence to an XSD schema.

Top-level element An element that encloses a whole UBL business message. Note that UBL business messages might be carried by messaging transport protocols that themselves have higher-level XML structure. Thus, a UBL top-level element is not necessarily the root element of the XML document that carries it.

Syntax Neutral Model TBD Need definition.

Aggregate Business Information Entity (ABIE)

A collection of related pieces of business information that together convey a distinct business meaning in a specific Business Context. Expressed in modelling terms, it is the representation of an Object Class, in a specific Business Context.

Object Class The logical data grouping (in a logical data model) to which a data element belongs (ISO11179). The Object Class is the part of a Core Component’s Dictionary Entry Name that represents an activity or object in a specific Context.

Well-Formedness Checking Basic XML 1.0 adherence.

(This is text to be used in defining Parent type and type bindings.) General Overview of Types

wd-ublndrsc-ndrdoc-21 57 13 December 2002

108110821083

337

338339340341342

Page 58: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

In XSD, elements are declared to have types, and most types (those complex types that are defined to have “complex contents”) are defined as a pattern of subelements and attributes. Thus, XSD has an indirect nesting structure of elements and types (where, for example, Type 1 below is the parent type of Element A and where Type 2 is the parent type of Element B and the type bound to Element A):

Type 1Element AType 2Element B

wd-ublndrsc-ndrdoc-21 58 13 December 2002

108410851086108710881089109010911092

1093109410951096

343

344345346347348

Page 59: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

Appendix A. UBL NDR Rules

wd-ublndrsc-ndrdoc-21 59 13 December 2002

1097

1098

349

350351352353354

Page 60: NDR Main Document… · Web viewWorking Draft 21, 13 December 2002 Document identifier: wd-ublndrsc-ndrdoc-21 (Word, PDF) Location:  Editors

Appendix B. NoticesOASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification, can be obtained from the OASIS Executive Director.OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director.Copyright © The Organization for the Advancement of Structured Information Standards [OASIS] 2001. All Rights Reserved.This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself does not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.This document and the information contained herein is provided on an “AS IS” basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

wd-ublndrsc-ndrdoc-21 60 13 December 2002

1099

110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129

355

356357358359360