Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 12 Next »

Background

W3C XML Schema patterns

There are four well-knows XML Schema design patterns. They are:

  • Russian Doll

  • Garden of Eden

  • Salami Slice

  • Venetian Blind

These patterns are referenced in this document. Useful resources for understanding them include:

OAGIS maintenance approach and release packages

OAGIS 10.6

OAGi manually maintained OAGIS versions through version 10.6. last manually-maintained version. OAGIS 10.6 was offered in four release packages (“editions”):

  • Enterprise

  • Platform (Garden of Eden pattern)

  • Standalone Global (Venetian Blind pattern)

  • Standalone Local (Russian Doll (question) pattern)

  • Standalone Local Groups

OAGIS 10.7 and later

Beginning with OAGIS 10.7, OAGi began maintaining OAGIS with Score. OAGi ceased to advertise availability of any XML Schema expressions of OAGIS while quietly making the Platform (Garden of Eden) and Standalone (pattern (question)) 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 (question)

All CCs

Organized like the OAGIS 10.6 platform model

Score supports this today

1

JSON schema

Venetian Blind (question)

All CCs

One file

2

JSON schema

Venetian Blind (question)

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 (question)

Each component tagged noun

One file for each specified component with the set of files zipped

5

W3C XML Schema

Venetian Blind (question)

All CCs

One file

Score 3.0+ test instance supports this today

6

Markdown

N/A

All CCs

Organized as applicable subset of a Hugo project

7

Mermaid script

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

  • Component expressed as Mermaid script for a UML class diagram

  • Only the component and its children

    • BCCs as properties

    • ACCs as classes associated by shared aggregation (open diamond symbol)

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

  1. Model subset: What part of the model needs to be expressed?

    1. All

    2. All except… (e.g., all except supplementary components)

    3. A root component (e.g., BOM)

    4. A set of root components (e.g., BOM, ProcessPurchaseOrder, NotifyShipment)

    5. All components with a specified tag (e.g., noun)

  2. Expression type: What is the expression type? (Is there a better name for this other than “expression type”?)

    1. XML Schema

    2. JSON Schema

    3. XMI

    4. Documentation

    5. OAS? (Jim doesn’t think this makes sense)

    6. OWL?

    7. RDF Schema?

  3. Pattern: For some expression types, what is the pattern (e.g., Garden of Eden)

  4. File system structure: For some expression types, what is the file/folder naming conventions and structure?

  5. Internal file organization: For some expression types, how content is organized within files. (e.g., Within 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:

  • One ASCCP per file (note this could be all low level and high-level ASCCP or just high-level ASCCPs like Nouns or BODs depending on the what are returned in the Component parameter.

  • All ASCCPs in one file

  • Use Module Set Release

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

  • One BIE per file

  • Schema package

XML Schema

Russian Doll

Follow options on the Score’s BIE expression page

JSON Schema

OAS

  • No labels