xCBL 4.0 Read Me
xCBL 4.0 distribution
xCBL 4.0 is provided as a ZIP archive file. This contains both the XML schemas that constitute the xCBL 4.0 component library and also sample data demonstrating valid XML instances of the xCBL 4.0 documents. Info:
Notes on the Schemas and Samples
In order for the schemas and samples to function properly, you will need to ensure that when extracting the files from the ZIP archive, the folder structure is maintained.
Schema structure - The xCBL library, unlike earlier versions of xCBL, is made up of
This change was made for several reasons. Primarily, the 'monolithic' namespace approach adopted with
previous versions of xCBL was becoming unwieldy, and with the number of components in the library
increasing this issue needed to be addressed.
For clarity, these namespaces have also been organised into a related file structure. With each namespace having its own directory, the path to which holding information on it's function and version. Inside this directory, the schema for that namespace comprises a "root" schema file and many schema "module" files. In xCBL we decided upon a convention whereby each Type had it's own file, and all of these are referenced from the "root" schema file by way of include tags.
Note on Import, Include and tools support - Due to the multiple namespace and multiple
file structure for xCBL, we had to decide on how we would make use of the <include>
and <import> elements of XML Schema (
http://www.w3.org/TR/xmlschema-0/). We discussed at some length the use
of import/include and how this fitted with our understanding of the inter-relationships
between the concepts of schemas, files, namespaces, etc.
Samples - There are 3 sets of samples, two of which consists of auto-generated samples for each possible document root in xCBL 4.0. The third set, the ABC samples, have more realistic sample business data but only cover a subset of the available documents.
Auto Generated (Full): These were created from the schemas following certain simple rules (e.g. always selecting the first element in a choice construct, etc.) and are designed to populate as many fields as possible within a document. These are useful for testing, are technically schema valid, and have traceable data, but are obviously not valid examples of business documents.
Auto Generated (Mandatory Only): Also generated from the schemas, these samples contain only mandatory elements and therefore represent the smallest possible valid instance of the document. Again validity is used to denote schema validity but these samples do not contain any meaningful data.
ABC Scenario: These correspond to the "ABC Scenario" samples provided for previous versions of xCBL, click here for a description of the "ABC Scenario" from xCBL 3.5.
The W3C XML Schema specification defines a method by which an instance can provide hints as to where a processor may find schemas relevant to validating the instance. In the case of the set of samples provided here, we have used a relative URL in the xsi:schemaLocation attribute, to point to the relevant schemas. This will work assuming that you extract all files in the ZIP archive whilst maintaining directory structure. If you wish to move the schemas or the samples relative to one another you may need to alter this attribute by hand, or locate the schemas through other means (e.g. via a custom entity resolver, see the XML Developer section for more information).