[Accessibility conventions are described at the bottom of the page]

7. Your own business document controlled vocabulary
[> A.][< 6.4.2][^^^]
7.0 Supporting your own business documents with context/value association files
[> 7.1][> A.][< 7.][^^][^^^]
the CVA2sch validation stylesheets are delivered pre-configured for use with UBL
[[1] - genericode for the value list enumerations
 [1] - UBL conventions for the information item names
 [1] - UN/CEFACT CCTS conventions for the information item instance-level meta data
]
A "no metadata" configuration of the stylesheets is included with the methodology
[[1] - an off-the-shelf implementation of the methodology for business documents without information item meta data
 [1] - checks the information items identified in the CVA file without checking any instance-level meta data
]
Adaptation to other value list enumeration XML vocabularies
[[1] - a methodology stylesheet can be replaced with support for an arbitrary outboard representation of sets of enumerated values
]
Adaptation to other business document XML vocabulary instance-level meta data
[[1] - a methodology stylesheet can be replaced with support for arbitrary information item meta data
]
All methodology stylesheets are written in XSLT 1.0 for portability
[[1] - adaptation requires writing new stylesheet fragments to replace existing stylesheet fragments
 [1] - the existing stylesheet fragments are likely to be very useful as a model for the replacement
 [1] - XSLT 1 information item matching is only based on the namespace-qualified name
 [1] - XSLT 2.0 could be used for more nuanced item matching
[[2] - schema-aware XSLT 2.0 could be used for type-based matching
]]
7.1 Adapting CVA2sch stylesheets for alternative environments
[> A.][< 7.0][^^][^^^]
7.1.1 Adapting CVA2sch stylesheets for alternative environments
[> 7.1.2][> A.][< 7.0][^^][^^^]
The stylesheet architecture is modular to allow a "plug and play" approach to using stylesheet fragments
[[1] - recall the overview diagram on [Figure 5.8]
 [1] - note the Association Stylesheet and Imported Fragments box at the top left
]
The naming the different components is based on a pattern for easy recognition
[[1] - Crane-{documentModel}-{externalFormat}2Schematron.xsl
[[2] - the wildcard stylesheet name for the fragment that imports the other stylesheet fragments for use with the a particular document vocabulary and a particular enumeration vocabulary
 [2] - Crane-UBL-genericode2Schematron.xsl
[[3] - the invocation stylesheet that imports the other stylesheet fragments for use with the UBL document vocabulary, UN/CEFACT CCTS instance-level meta data and the genericode enumeration vocabulary
][2] - Crane-NM-genericode2Schematron.xsl
[[3] - the invocation stylesheet that imports the other stylesheet fragments for use with the an arbitrary document vocabulary without information item meta data and the genericode enumeration vocabulary
]][1] - Crane-{documentModel}-Metadata.xsl
[[2] - the wildcard stylesheet name for the imported fragment that supports the information item meta data for a particular document vocabulary
 [2] - Crane-UBL-Metadata.xsl
[[3] - the invoked stylesheet fragment for use with the UBL document vocabulary and UN/CEFACT CCTS instance-level meta data
][2] - Crane-No-Metadata.xsl
[[3] - the invoked stylesheet fragment for use with the an arbitrary document vocabulary without information item meta data
]][1] - Crane-{externalFormat}-CodeList.xsl
[[2] - the wildcard stylesheet name for the imported fragment that supports a particular enumeration vocabulary
 [2] - Crane-genericode-CodeList.xsl
[[3] - the invoked stylesheet fragment for use with genericode expressions of enumerations
]][1] - Crane-Constraints2Schematron.xsl
[[2] - the invoked stylesheet fragment with common methodology functionality
]]
7.1.2 Adapting to alternative XML document formats
[> 7.1.3][> A.][< 7.1.1][^][^^][^^^]
The Crane-{documentModel}-Metadata.xsl stylesheet needs to identify coded information items and interpret the instance-level meta data
[[1] - for each information item being tested, any anticipated attached instance-level meta data is passed to the common stylesheet fragment for processing
]
The document vocabulary for the XML instances should allow for the specification of information item meta data
[[1] - item meta data qualifies the item value as being from a particular controlled vocabulary as identified by the meta data values
]
The Crane-No-Metadata.xsl stylesheet can be used when there is no instance-level meta data
[[1] - this fragment recognizes the instance-level meta data for information items of the source documents
[[2] - inspects those information items governed by controlled vocabularies as indicated in the CVA file
 [2] - specifies which instance-level meta data is associated with the information item
][1] - without changes this module does not check any information items, thus all information items pass value validation purely on the coded value and not on any associated meta data
]
The Crane-UBL-Metadata.xsl stylesheet identifies information items by their names
[[1] - assumes CCTS instance-level meta data according to the name (see [Instance-level meta data in XML instances - Section 2.3.6 Instance-level meta data in XML instances])
]
7.1.3 Adapting to alternative XML enumeration formats
[> 7.1.4][> A.][< 7.1.2][^][^^][^^^]
The Crane-genericode-CodeList.xsl stylesheet is provided for genericode support
[[1] - no changes are needed if using genericode for the representation of code lists
]
Any Crane-{externalFormat}-CodeList.xsl stylesheet can be written to interpret the external expression of list-level meta data
[[1] - creating such a module allows the methodology to be exploited for any XML representation of code lists other than genericode
]
The context/value association file <Identification> element has a number of child elements to be mapped
[[1] - matching the genericode identification components
[[2] - can be adapted to other representations of list-level meta data
][1] - other stylesheet fragments make the determination of the use of masquerading meta data
 [1] - the interface to this stylesheet fragment inquires the value of various parameters of meta data and returns each value on request
]
7.1.4 Configuring the combination of stylesheet fragments
[> A.][< 7.1.3][^][^^][^^^]
The Crane-{documentModel}-{externalFormat}2Schematron.xsl stylesheet specifies the fragments that are combined
[[1] - Crane-UBL-genericode2Schematron.xsl
[[2] - the following fragments are included:
 [2] - Crane-UBL-Metadata.xsl
 [2] - Crane-genericode-CodeList.xsl
 [2] - Crane-Constraints2Schematron.xsl
][1] - Crane-NM-genericode2Schematron.xsl
[[2] - the following fragments are included:
 [2] - Crane-No-Metadata.xsl
 [2] - Crane-genericode-CodeList.xsl
 [2] - Crane-Constraints2Schematron.xsl
]]
The $comment global variable adds documentary information
[[1] - the value of this variable is copied into the comments of the generated Schematron pattern file
]


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 Code List Implementation 2009-02-09 22:30UTC//EN
Practical Code List Implementation
First Edition - 2009-02-09
ISBN 978-1-894049-22-1
Copyright © Crane Softwrights Ltd.