customising oasis ciq specifications v3.0 to meet end user requirements – a case study ram kumar...
TRANSCRIPT
![Page 1: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/1.jpg)
Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study
Ram KumarRam KumarChairman Chairman
OASIS CIQ Technical CommitteeOASIS CIQ Technical Committee
Ram KumarRam KumarChairman Chairman
OASIS CIQ Technical CommitteeOASIS CIQ Technical Committee
http://www.oasis-open.org/committees/ciqhttp://www.oasis-open.org/committees/ciq
September 2007September 2007
![Page 2: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/2.jpg)
Agenda Why this case study? Code List
What, Why, Standard OASIS Code List Representation TC Methodology : Schematron based Value Validation
using Genericode (from OASIS Code List TC) OASIS CIQ TC Implementation of OASIS Code
List Specifications and Methodology – A Case Study
![Page 3: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/3.jpg)
Why this Case Study?
![Page 4: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/4.jpg)
Why this case study? Demonstrate how OASIS CIQ Specifications v3.0
can be customised to meet end user requirements Without breaking the conformance to the specifications
due to customisation Improve interoperability of data defined/represented
using CIQ Specifications Define specific business rules using open industry
standards to customise CIQ specifications Define code lists of CIQ specifications using open
industry standards
![Page 5: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/5.jpg)
Code List
![Page 6: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/6.jpg)
What is a Code List?aka enumerations, aka controlled vocabularies aka classification scheme and classification values
A set of values to choose from which represent an agreed upon semantic concept
Days of a week = {“Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”, “Sun”}
Code List = List Name + values List Name = Days of a week Values = {“Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”,
“Sun”}
![Page 7: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/7.jpg)
Why Code Lists are important?
It is not just elements and attribute names in XML that need to be semantically unambiguous & aligned for interoperability
The lexical form of element and attribute text content also needs to be aligned, i.e. simple data items need to be represented the same way
This is more important for applications For data oriented XML particularly (e.g. CIM), Code
Lists are as important as elements and attributes – they form part of the complete vocabulary of the document
![Page 8: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/8.jpg)
Standard for Code List
If code lists were really so simple and obvious, there would be a single, well known and acceptable way of handling them in XML
There is no agreed solution, though The problem is that while code lists are a
well understood concept, people do not actually agree on exactly what code lists are, and how they should be used
![Page 9: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/9.jpg)
The code list is in the eyes of the beholder
The XML schema may require only a 3-letter codes to represent the code list
The database may require a set of numeric codes, plus display labels (possibly in different languages)
The application may need to know which 3-letter code corresponds to which numeric code, so that it can process the XML and update the database
All of this code list information needs to be stored together in a single representation of the code list, so that all usages of code list can be generated from the same source information
![Page 10: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/10.jpg)
The only constant is change
Code lists change For a code list model to be useful, it has to
account for the fact that the code lists will change over time
There is little use in having a code list model that works only for a code list that is frozen in time
The code list model has to support changes between versions of a code list
![Page 11: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/11.jpg)
The only constant is change
Not all changes to a code list are version changes, however Some changes may be local changes to a distributed code
list The ISO 3-letter currency code list contains GBP for British
Pounds. However, prices on the London Stock Exchange are normally quoted in pence
This has led to the practice of adding an extra code to the standard ISO list (e.g. GBp, GBX) in order support pence as well as pounds
This kind of customisation is far from uncommon The utility of any code list model is greatly reduced if it does
not cater for local modifications of code lists
![Page 12: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/12.jpg)
OASIS Code List Representation Technical Committee The OASIS Code List Representation format, “genericode”,
is a single model and XML format (with a W3C XML Schema) that can encode a broad range of code list information
The XML format is not designed for run-time orreal-time use, but to have the standardizedinterchange format massaged into an optimized representation
27 of the 40 requirements gathered are implemented in v1.0 of the specifications
![Page 13: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/13.jpg)
Genericode Model Has a tabular structure for code list information Each row in the table represents a single distinct entry in the code list,
i.e. each row represents a single uniquely identifiable item in the code list.
Each column in the table represents a metadata value that can be defined for each distinct entry in the code list. Each column is either required or optional. A required column does not allow any row to have an undefined (nil or null) value. An optional column allows undefined values.
A genericode key is a set of one or more required columns that together uniquely identify each distinct entry in the code list. Optional columns cannot be used for keys. Each code list must have at least one key.
Genericode keys are equivalent to what people usually mean when they talk about the “codes” in a code list. However, genericode allows multiple keys for each code list, and there is no single preferred key.
![Page 14: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/14.jpg)
Concept Keep code lists aka enumerations out of the core
XML schema by using “schemes” The idea is that the code lists from which an element
value is taken is indicated via a “scheme” attribute containing a URI which represents the scheme (code list)
Same as the way that URIs are used to represent XML namespaces
This is done so that a newer version of core XML schema need not be released just because an externally controlled enumeration that it uses has changed (e.g. country code)
![Page 15: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/15.jpg)
Methodology : Schematron-based Value Validation
using Genericode
![Page 16: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/16.jpg)
XML Instance Document ValidationNamespace: xmlns="urn:oasis:names:tc:ciq:xNL:3
Graphical Schema View:
XMLinstanceXXX.xml
<StsMetadataRecord>
xsi:schemaLocation="urn:oasis:names:tc:ciq:xNL:3”
<ESLVersionNumberID>5.0</ESLVersionNumberID><Person>
<cbc:BirthDate>1967-08-13</cbc:BirthDate><LearnerRegistration>
<cbc:NationalStudentNumberID>123456</cbc:NationalStudentNumberID></LearnerRegistration><PersonNameGeneric>
<cbc:FirstName>John</cbc:FirstName><cbc:LastName>Smith</cbc:LastName>
</PersonNameGeneric>. . .
Text view of XML instance:
XML instance documents can be validated against the applicable XML Schema
![Page 17: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/17.jpg)
Background (Glossary)
XML Data ContentIn an XML instance document, any values- between XML angles ‘>’ and ‘<’and- between quotes of an attribute are message data content
Examples:<BirthDate>1960-06-09</BirthDate>
<Country> <CountryCode listSchemeURI=" urn:oasis:names:tc:ciq:xNL:3:codelist:gc:Country-1“>AUS</CountryCode> <Name>Australia</Name></Country>
![Page 18: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/18.jpg)
Background (Glossary), continued
Types of XML data content: Code values Other values (non-code values)
Examples:<Country>
<CountryCode>AUS</CountryCode></Country>
<BirthDate>1960-06-09</BirthDate>
![Page 19: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/19.jpg)
W3C XML Schema Limitations
W3C XML Schema is mostly about data structures
But it does some Data Content Validation has good support for
- data type conformity- min/max values- length, patterns …
has limited support for:- enumerations
has no support for- complex business rules- versioned changes of validation (without affecting the Schema’s version)
![Page 20: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/20.jpg)
Business Rules Examples
Date Arithmetic:
BirthDate < CurrentDate – 6 Years
Attribute Value Restriction:The code list value “First Name” cannot occur more than onceThe code list value “Last Name” cannot occur more than once
Element Use RestrictionCountry element cannot occur more than once, but optional
Zero-length string:
<Name></Name>
![Page 21: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/21.jpg)
Business Rules Examples, continued
Code Liststhe code list (+version) used by CountryCode must be an accepted code list<CountryCode listSchemeURI="urn:oasis:names:tc:ciq:xNL:3:codelist:gc:Country-1“>AUS</CountryCode>
Code ValueCountryCode ‘XYZ’ must be valid in that Country code list version <CountryCode listSchemeURI=" urn:oasis:names:tc:ciq:xNL:3:codelist:gc:Country-1“>AUS</CountryCode>
Co-occurrenceif Status=‘Closed’ then ClosureReason must be present also<StatusCode>Closed</StatusCode><ClosureReason>Obsolete</ClosureReason>
![Page 22: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/22.jpg)
Data Content Validation Conclusion XML Schema does not cover all data content validation
requirements Embedding content validation in XML Schema has undesired
consequences in conjunction with re-use and Schema versioning
Business rules vary more frequently than schema constraints, and the business rules between different partners wouldvary where the schema constraints remain the same.
By layering value constraints on top of structural/ lexical constraints, the schemas can remain unchanged while being adapted to different partners through different value constraints
Is data content validation required ? How can data content be validated in XML instances ?
![Page 23: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/23.jpg)
Without Data Content Validation in XML
Aextends
A
Content Validation at A: Content Validation at B:- Program code - Program code- Database constraints - Database constraints
Interoperability issues:- Validation at A equivalent to Validation at B?- Data quality of message is difficult to control- Communication of data quality issues between A & B- Relies on trust in the sender- Hard to ascertain equal interpretation of codes
XML file
W3C XMLDocument Schema
Schema Validation
Design
Implementation
Data ExchangePartner Agreement
![Page 24: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/24.jpg)
With Data Content Validation in XML
Sender’s and receiver's data content validation must be - electronic - portable- of shared logic and error output- platform-independent- versioned
Aextends
AXML file
XML Content Validation 2. Content Validation
Design
Implementation
Data ExchangePartner Agreement
W3C XMLDocument Schema
1. Schema Validation
![Page 25: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/25.jpg)
With Data Content Validation in XML
Sender’s and receiver's data content validation must be - electronic - portable- of equivalent logic and error output- platform-independent- versioned
Aextends
AXML file
Methodology 2. Content Validation
Design
Implementation
Data ExchangePartner Agreement
W3C XMLDocument Schema
1. Schema Validation
![Page 26: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/26.jpg)
Methodology - Features
Code Value ValidationExample:CountryCode must be a valid CountryCode
Code List Metadata ValidationExamples:CountryCode must belong to an agreed, named Country Code list (+version) urn:oasis:names:tc:ciq:xNL:3:codelist:gc:Country-1
Complex Rules ValidationExamples:- BirthDate < CurrentDate- StatusCode ‘Closed’ requires a ClosureReason.
![Page 27: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/27.jpg)
Methodology - Features, continued
Completely separate from W3C XML Schema
Platform-independent ISO/IEC 19757-3Schematron (implemented using W3C XSLT stylesheets) – Open Industry Standard
Completely independent of any XML Naming and Design Rules (NDRs)
Versioning in isolation of XML Schema
![Page 28: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/28.jpg)
Methodology - Process Overview
Schematron-based Value Validation using Genericode
ValidationCoding
W3C XML Validation Stylesheettransform generate
Data Exchange Partner Agreement
Data Content Validation Requirements
![Page 29: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/29.jpg)
Methodology - Involved Roles
Schematron-based Value Validation using Genericode
Data Content Validation Requirements
ValidationCoding
W3C XML Validation Stylesheettransform generate
Business Analysts & Testers
Users
(Developers)
(Data Architects)
Value Validation Service StaffRun-time Operator Specialist
Documentation
Developers & Testers
Users
![Page 30: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/30.jpg)
Methodology Run-Time Components
Aextends
A
W3CXML
ValidationStylesheet
XML file
W3CXML
DocumentSchema(s)
![Page 31: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/31.jpg)
Methodology - Value Validation
The validation process involves the use of Schematron language and XSLTs
Schematron is a rule-based XML Schema language, developed by Rick Jelliffe and internationally standardized as ISO/IEC 19757-3, using XPath expressions to describe validation rules .
Schematron is used to confirm the success or failure of a set of assertions made about XML document instances.
Schematron can be used as an adjunct to DTDs, RelaxNG or XML Schemas. It allows co-occurrence constraints, non-regular constraints, and inter-document constraints
![Page 32: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/32.jpg)
Methodology - Overview
![Page 33: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/33.jpg)
Methodology Data Flow Diagram
![Page 34: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/34.jpg)
A
B
C
D
E
F
Default Code List (gc)
XSDMethodology
XML
structure validationCode list validation
XML
Validated
Application A
B
C
G
H
Customised Code List (gc)
References
References
CVA
schXSL
Methodology - Process
![Page 35: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/35.jpg)
Application of the Process in an Enterprise
Enterprise Code ListsMethodology
Enterprise XML Schemas
Application B
Customised enterprise code
lists
Business Rules
Application A
Customised enterprise code
lists
Business Rules
![Page 36: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/36.jpg)
Methodology - Status OASIS Code List TC draft standard 0.1 (was
version 0.8 under OASIS UBL TC) No known platform-independent alternative
Plug-and-play run-time component
Methodology can evolve without impacting run-time requirements
A A
W3CXML
DocumentSchema
W3CXML
ValidationStylesheet
![Page 37: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/37.jpg)
Methodology - Benefits
Verify that instance document is valid as per DEPA Validate data content platform-independently Sender and receiver get the same validation result Simple run-time requirement (XSLT) Strong candidate to become a global industry standard
(UN/CEFACT is taking an interest) W3C Stylesheet and Schema are industry standards Simple run-time requirement (XSLT or Python
or any other ISO Schematron implementation)
![Page 38: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/38.jpg)
Methodology - Benefits, continued
Supports versioned validation in isolation of schema version
Documentation is in synch with implementation
Validation can be switched on/off as required (by msg. server or appl.)
Simplifies application coding
Simple run-time requirement allows for evolution of the methodology
Details of methodology is transparent to operations
![Page 39: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/39.jpg)
Methodology - Risks
An OASIS draft standard
Methodology not widely used yet
Methodology may change or evolve
Requires Schematron and XPath expertise
Affects the XML instance document processing (extra steps)
Affects the testing of XML Schema/XSLT release packages
![Page 40: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/40.jpg)
OASIS CIQ TC Case Study – Using the “Schematron-based Value Validation using Genericode” Methodology to customise OASIS CIQ Specifications v3.0
![Page 41: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/41.jpg)
OASIS CIQ Technical Committee
Open Industry Specifications for defining Party Centric Data from global (international) perspective
Party – Person or Organisation Name (241+ countries in over 36 formats) Address/Location (241+ countries in over 130 formats)
Party Centric Attributes Party Relationships
Delivering royalty free, open, international, industry and application neutral XML specifications for representing, interoperating, and managing party(person/organization) centric information
![Page 42: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/42.jpg)
Why Genericode and the Methodology for CIQ TC? Keeps code list and values outside of the core CIQ
XML Schemas Provide users with the ability to define the
semantics for the data represented in CIQ structure
Provide users with the ability to customize the CIQ XML Schemas without modifying the CIQ XML Schemas
Provides users the ability to write business rules to constrain the structure of the CIQ XML Schemas without modifying the XML schemas
![Page 43: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/43.jpg)
OASIS CIQ Specifications Party Name Schema – xNL.xsd Supporting enumeration list (13) – xNL-types.xsd
Party Address Schema – xAL.xsd Supporting enumeration list (32) – xAL-types.xsd
Party Information Schema – xPIL.xsd Supporting enumeration list (60) – xPIL-types.xsd
![Page 44: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/44.jpg)
CIQ Specifications without Genericode Approach
Code Lists defined in these 4 files
![Page 45: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/45.jpg)
Use Party Name as Case Study
![Page 46: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/46.jpg)
Code Lists defined in an XML Schema (xNL-types.xsd) that is “included” in xNL.xsd
![Page 47: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/47.jpg)
Enumeration List referenced from xNL-types.xsd
![Page 48: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/48.jpg)
xNL Enumeration List
Users given the choice to modify the code lists to meet their specific requirements
Basic default values provided, but it is up to the users to use them as is or customise it
![Page 49: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/49.jpg)
xNL Enumeration List - Drawbacks
Each application has to have its own enumeration list Point to point negotiations between applications No standard enumeration list file that remains untouched Change in enumeration list will result in change to
application code generation The Name schema might be used in multiple locations in an
organisation (e.g. billing, marketing, sales, customer identification) and hence, customising the enumeration list is not straightforward
It might be an overhead for an application to use a large code list when it requires only 3 values
![Page 50: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/50.jpg)
Objective of this case study
Move away from embedding code lists as XML schemas and “include” or “import” them in base XML schemas
Investigate the use of genericode approach and UMCLVV in CIQ Specifications
Implement genericode approach in CIQ Specifications as an optional feature
Customise the genericode based default code lists with specific requirements without modifying the default code lists
Apply business rule constraints on the core CIQ XML schemas without modifying the XML schemas
![Page 51: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/51.jpg)
Case Study - Scenarios Add a new code list value to default name code
list (“NativePlaceName”) Restrict the default name code list to allow no
more than one first and last name (“FirstName”, “LastName”)
Restrict the default code list to allow only “FirstName”, “LastName”, and “NativePlaceName” as code values
Apply business rule constraints on XML Schema
Customising the default xNL Code List without changing it to cater the above requirements is impossible
![Page 52: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/52.jpg)
Preparing xNL Schema with Genericode Approach to Handle
Code Lists
![Page 53: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/53.jpg)
Step 1- Create default .gc files
Identify and decide on list-level and instance-level metadata to be included
Create .gc file for each enumeration list in xNL-types.xsd
Ensure that the .gc file is valid structurally against genericode-code-list.xsd file
![Page 54: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/54.jpg)
.GC file - Example
Code Value
![Page 55: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/55.jpg)
List Level Metadata
![Page 56: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/56.jpg)
Instance Level Metadata In the absence of metadata properties for values in the
instance being validated, only the values found in the associated external list representation can be used. There being no qualification of the values in the instance, all values in the external file are in play as valid values for validation
If the instance being validated does have metadata properties specified for a given value, then that value is asserted to be a value from a particular version or identified list of values.
Instance level metadata allows an instance to disambiguate a coded value that might be the same value from two different lists.
![Page 57: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/57.jpg)
Step 2: Modify xNL.xsd
Remove references to enumeration list defined as xml schemas
Include distinct instance level metadata for all elements/attributes that uses code list values
Instance Level Metadata used Ref == genericode ShortName Ver == genericode Version URI == genericode CanonicalUri VerURI == genericode CanonicalVersionUri
![Page 58: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/58.jpg)
Instance Level Metadata
Instance level Metadata for “ElementType” attribute
xs: string
![Page 59: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/59.jpg)
Step 3: Prepare Context/Value Association (CVA) File
Every element and attribute information item below the document element of an XML document is in a document context described by its hierarchical ancestry of elements. A fully qualified document context specifies the information item’s precise location in the document.
Define the all the default document contexts with pointers to the default genericode files produced from xNL-types.xsd
![Page 60: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/60.jpg)
CVA File
![Page 61: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/61.jpg)
Step 4 - Prepare files for Value Validation
Run the supplied batch/shell files as part of the Methodology process to create the necessary files for code list value validation
![Page 62: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/62.jpg)
Applying Constraints to Default Code Lists
![Page 63: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/63.jpg)
Default Schema and Code List Values
- Add a new code value “NativePlaceName”
- Restrict the code values to have only “FirstName” and “LastName”
![Page 64: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/64.jpg)
Step 1 – Add a new code list value
Add a new code list value “NativePlaceName”
Create a gc file with this code value
![Page 65: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/65.jpg)
Step 2 – Restrict the default code list
Restrict the code values to only “FirstName” and “LastName”
Create a .gc file with this restriction
![Page 66: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/66.jpg)
Step 3 – Create Restriction CVA File
![Page 67: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/67.jpg)
Applying Business Rules to Constrain Default XML Schemas
![Page 68: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/68.jpg)
Step 4 – Define Business Rules to include constraints to default schema
Restrict the schema to accept only one First Name and one Last Name
![Page 69: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/69.jpg)
Business Rules to define constraint
No changes to xNL Schema
![Page 70: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/70.jpg)
Step 4 - Prepare files for Value Validation
Run the supplied demonstration batch/shell files as part of the Methodology process to create the necessary files for value validation
![Page 71: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/71.jpg)
CIQ Global Address Specification (xAL)
Can be customized to specific country address structure using the Methodology, but at the same time keeping the customized structure in compliance with xAL default structure
![Page 72: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/72.jpg)
Example 1: Customizing xAL for Singapore
Let us assume that Singapore Address does not require the following xAL elements:
Administrative Area Rural Delivery, or Post Office Location Coordinates Free Text Address Country
![Page 73: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/73.jpg)
Example 1: Customising xAL for Singapore
![Page 74: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/74.jpg)
Example 1: Business Rule for Singapore Address
No changes to xAL Schema
![Page 75: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/75.jpg)
Example 2: Customizing xAL to only use Free Text Address Lines
![Page 76: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/76.jpg)
Business Rule for Example 2
No changes to xAL Schema
![Page 77: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/77.jpg)
CIQ Specifications with Genericode Approach
![Page 78: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/78.jpg)
Skills Required to use OASIS Code List Approach
XML Schema Language Schematron Language XSLT (some times) XPATH XML Processors/XML Parsers Batch Files / Shell Files
![Page 79: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/79.jpg)
Experience using the Methdology and Genericode Approach
Powerful The only standard for managing code lists now in
industry Manual effort (requires patience) Painful without tool support But once everything has been set up, works
beautifully Does not deal with mapping between schemas
![Page 80: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/80.jpg)
OASIS Codelist Representation (Genericode) Version 1.0, May 2007, http://docs.oasis- open.org/codelist/cd-genericode-1.0/doc/oasis-code-list-representation-genericode.pdf
Schematron-based Value Validation and Genericode, Working Draft, Version 0.1, July 2007, http://www.oasis-open.org/committees/document.php?document_id=24810
OASIS Code List Adaptation Case Study (OASIS CIQ), Version 0.3, July 2007, http://www.oasis-open.org/committees/document.php?document_id=24813
OASIS Party Information Standards, http://www.oasis-open.org/committees/ciq
References
![Page 81: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/81.jpg)
Special Thanks……..
Ken Holman, Chair, OASIS Code List Representation TC
Juerg Tschumperlin, Data Management Solutions, New Zealand
![Page 82: Customising OASIS CIQ Specifications V3.0 to meet end user requirements – A Case Study Ram Kumar Chairman OASIS CIQ Technical Committee Ram Kumar Chairman](https://reader034.vdocuments.site/reader034/viewer/2022051418/5697bf7a1a28abf838c82f6b/html5/thumbnails/82.jpg)
Thank You
http://www.oasis-open.org/committees/ciq