CC Expression Overview
Background
W3C XML Schema expression patterns
There are four well-known W3C XML Schema expression patterns. They are:
Russian Doll
Garden of Eden
Salami Slice
Venetian Blind
The names of these patterns are used in this document. Useful resources for understanding the patterns include:
OAGIS maintenance approach and release packages
OAGIS 10.6
OAGi manually maintained OAGIS versions through version 10.6. Version 10.6 was a result of Mike Rowell, OAGi’s former Chief Architect, manually updating XSD files on his file system, running scripts locally, zipping content, etc.
OAGIS 10.6 was/is offered in four release packages (“editions”):
Enterprise (included all below)
Platform (included all below)
Standalone Global
Standalone Local
Standalone Local Groups
OAGIS 10.7 and later
OAGi began maintaining OAGIS with Score for version 10.7. OAGi ceased to advertise availability of any XML Schema expressions of OAGIS while quietly making the platform model (Garden of Eden) and Standalone (pattern ) editions available to members on request.
Miscellaneous
JSON schema patterns
What XML Schema design patterns are possible with JSON schema?
“Canonical” meaning
OAGi has historically referred to OAGIS as an “enterprise canonical”. Canonical in this context refers to a format that an enterprise uses to map other formats to/from.
Use cases
Note regarding naming specific organizations
In the spirit of meeting needs across the OAGi community, we avoid indicating in writing organization names in the use cases. Satisfying any set of use cases is for the benefit of the community, not just one member of it.
Use Case # | Expression Type | Pattern | Model subset | File system structure | Notes |
---|---|---|---|---|---|
0 | W3C XML Schema | Garden of Eden | All CCs | Organized like the OAGIS 10.6 platform model | Score supports this today |
1 | JSON schema | Venetian Blind | All CCs | One file |
|
2 | JSON schema | Venetian Blind | All CCs | One file per component with the set of files zipped |
|
3 | XMI | N/A | All CCs | One file |
|
4 | W3C XML Schema | Venetian Blind | Each component tagged | One file for each specified component with the set of files zipped |
|
5 | W3C XML Schema | Venetian Blind | One CC or set of CCs | One file (for one CC) unzipped or one file for each specified component (for set of CCs) with the set of files zipped | Score 3.0+ test instance supports this today |
6 | Markdown | N/A | All CCs | Organized as applicable subset of a Hugo project |
|
7 | N/A | One CC or set of CCs | One file (for one CC) unzipped or one file for each specified component (for set of CCs) with the set of files zipped |
|
Score support for CC expression
Available in Score 3.0 (and some earlier versions)
Module-based expression in W3C XML Schema according to the Venetian Blind pattern.
Available in Score 3.0+ test instance
Choose component or components (e.g., based on noun
tag) and express each selected component as W3C XML Schema according to the Venetian Blind pattern. In the case of multiple components, the XSD files will be zipped.
API design
API parameters
Model subset: What part of the model needs to be expressed?
All
All except… (e.g., all except supplementary components)
A root component (e.g.,
BOM
)A set of root components (e.g.,
BOM
,ProcessPurchaseOrder
,NotifyShipment
)All components with a specified tag (e.g.,
noun
)
Expression type: What is the expression type? (Is there a better name for this other than “expression type”?)
W3C XML Schema
JSON Schema
XMI
Documentation
OAS? (Jim doesn’t think this makes sense)
OWL?
RDF Schema?
Pattern: For some expression types, what is the expression pattern?
File system structure: For some expression types, what is the file/folder naming conventions and structure?
Internal file organization: For some expression types, how content is organized within files? (E.g., within W3C XML Schemas list element declarations first in alphabetical order followed by type definitions in alphabetical order.)
CC Meta Model Type | Component | File Structure | Expression Type | Pattern | Other Score options |
---|---|---|---|---|---|
ASCCP | This should be query mimicking the filters in the View/Edit CC page (by default ASCCP is selected). Release keyword should also be supported. | Keywords:
| XML Schema | Garden of Eden | N/A |
JSON Schema | Venetian Blind | N/A | |||
Top-level BIE | This should be query mimicking the filters in the View/Edit BIE page |
| XML Schema | Russian Doll | Follow options on the Score’s BIE expression page |
JSON Schema | |||||
| OAS |