[Accessibility conventions are described at the bottom of the page]
*** This is a free preview excerpt of a commercial publication. ***

4. Naming and design rules (NDR)
[> 5.][< 3.1.1][^^^]
4.0 Formal naming and design rules
[> 5.][< 4.][^^][^^^]
UBL model development is only in the information models, not the document models
[[1] - using spreadsheets and UML models as the basis for collaboration
 [1] - models for different document types
 [1] - model for common library of components
]
A document model constraints the labels used for information items in XML documents
[[1] - a number of XML constraint languages are available to be used
 [1] - the UBL TC chose the W3C XML Schema (XSD) constraint language
]
UBL document models correspond to the document types in the information models
[[1] - XML documents are constrained by formal model expressions of constraints
[[2] - a given expression of constraints is a schema
 [2] - a schema is written in a schema language expressing the semantics of a given schema validation process
][1] - information models in spreadsheet form are translated into document models in a schema language
]
Naming and Design Rules (NDR) are expressed as rules for XSD schema generation that can be automated
[[1] - enables but does not oblige the rules to be applied using automation
 [1] - automated tools can be rules-driven in synthesizing the schema fragments
]
Document extension is an aspect of schema generation, not model design
[[1] - the information models say nothing at all about extension mechanisms in the schema fragments
 [1] - the UBLExtensions element and its descendants are specified as schema facilities for all document types
]
Downstream customization processes can rely on schema expressions to follow UBL NDR
[[1] - straightforward processing of expressions can be accomplished because of particular choices of rules
 [1] - breaking the rules prevents the downstream processes from being able to extract the required information out of the models
]
This illustrates the schema import and include dependencies described by the NDR:
[[1] - <xsd:include> must be used when the namespace URI string does not change
 [1] - <xsd:import> must be used when the namespace URI string changes
 [1] - the parentheses surround the namespace prefix used by convention by the UBL TC
]
[Figure 4.1: Schema dependencies
A chart illustrating the dependencies of schema fragments has boxes for each schema file, starting with the Document Schema box at the top representing an invoice, or an order, or other UBL document, in that document type's namespace.
The Document Schema imports the Common Aggregate Components (cac), Common Basic Components (cbc) and Common Extension Components (ext) fragments.
The Common Aggregate Components (cac) fragment imports the Common Basic Components (cbc), Unqualified Datatypes (udt) and Qualified/Specialized Datatypes (qdt) fragments.
The Common Basic Components (cbc) fragment imports the Unqualified Datatypes (udt) and Qualified/Specialized Datatypes (qdt) fragments.
The Qualified/Specialized Datatypes (qdt) fragment imports the Unqualified Datatypes (udt) fragment.
The Common Extension Components (ext) fragment imports the Common Basic Components (cbc) and Unqualified Datatypes (udt) fragments, and includes the Extension Content Datatype (ext) fragment.
Shown to the side in a box labeled "Customization Extension Replacement Schemas" is a replacement Extension Content Datatype (ext) fragment that imports Extension Datatype Definition (cust) fragments as required for the customization.
]

*** This is a free preview excerpt of a commercial publication. ***

This is an accessible version of Crane's commercial training material. The content has been specifically designed to assist screen reader software in viewing the entire textual content. Figures are replaced with text narratives.

Navigation hints are in square brackets:
[Tx.x] and [Fx.x] are textual representations of the applicability icons;
[digit] indicates list depth for nested lists;
[link [URL]] indicates the URL of a hyperlink if different than link;
[EXAMPLE] indicates an example listing of code;
[FIGURE] indicates the presence of a figure replaced by its description;
[>] jumps forward;
[<] jumps backward;
[^] jumps to start of the section;
[^^] jumps to the start of the chapter;
[^^^] jumps to the table of contents.
Suggestions for improvement are welcome: [info@CraneSoftwrights.com]
Book sales: [http://www.CraneSoftwrights.com/links/trn-acc.htm]
Information: [http://www.CraneSoftwrights.com/links/info-acc.htm]
This content is protected by copyright and, as there are no means to protect this accessible version from plagiarism, please do not make any commercial edition available to others.

+//ISBN 1-894049::CSL::Presentation::UBL//DOCUMENT Practical Universal Business Language Deployment 2009-02-12 13:50UTC//EN
Practical Universal Business Language Deployment
Third Edition - 2009-02-12
ISBN 978-1-894049-23-8
Copyright © Crane Softwrights Ltd.