ubl naming and design rules subcommittee report eve maler ndr sc chair 18 march 2002
TRANSCRIPT
![Page 1: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/1.jpg)
UBL Naming and Design Rules Subcommittee
Report
Eve MalerNDR SC chair
18 March 2002www.oasis-open.org/committees/ubl/ndrsc/
![Page 2: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/2.jpg)
What does the NDR SC do?
• “Recommend to the TC rules and guidelines for normative-form schema design, instance design, and markup naming, and write and maintain documentation of these rules and guidelines” (we’re the XML geeks)
• SC members champion issues by writing position papers
• Eventually, the NDR document will hold all our recommendations
![Page 3: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/3.jpg)
Current NDR SC members
• Bill Burcham• Mavis Cournane• Mark Crawford
(editor, vice-chair)• Fabrice Desré• John Dumay• Matt Gertner• Phil Griffin• Arofan Gregory
• Eduardo Gutentag• Eve Maler (chair)• Dale McKay• Joe Moeller• Sue Probert• Ron Schuldt• Lisa Seaburg• Gunther Stuhec• Paul Thorpe
(thanks to all these folks for their hard work!)
![Page 4: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/4.jpg)
Status: 16 Mar ‘02 distribution
• The following papers are nearing completion, and drafts are available for review now– Modularity, namespaces, and versioning
(“modnamver”) plus example code: V03– Defining and naming elements, attributes,
and types (“tag structure”): V03– Choosing elements vs. attributes: V03– Defining code lists: V04
• See the ubl or ubl-comment mail archives as of 17 Mar, or see me this week to borrow a diskette with a zip file
![Page 5: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/5.jpg)
First two recommendations, done a
while back• Schema language:
– The normative source format for schema files will be W3C XML Schema (XSD), though we may not directly author in this
– Other formats may be generated
• Legal issues:– We sought advice on whether default
values are a legal problem (as they’re absent from the instance but still part of the “data”)
– Conclusion: “implied terms” have been acceptable for a long time
![Page 6: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/6.jpg)
Modnamver progress: nam
• One namespace for the core library• One namespace per root schema
– Where a root schema defines all types and message root elements for one functional area
• Possibility of intermediate namespaces (and thus roots) as we go along– Likely for loading/performance reasons
• Investigating URNs as namespace names
• UBL extensions made by others must define their own namespaces– Which are encouraged to be keyed to contexts
![Page 7: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/7.jpg)
Modnamver progress: mod
• Encourage creation of new instance roots (individual message root elements) even for slightly different document forms
• Root schema for instance root may include several schema modules, and will import core root schema– If intermediate levels get added, more roots will
be imported at the various levels– How to handle “borrowing” across functional
areas?
• Core root schema will probably have an artificial root element– For developer convenience
![Page 8: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/8.jpg)
Sample modules
core
OrderA
invoicing
InvoiceX
Ordermgmt
Schemamodule
Rootschema
Instanceroot
![Page 9: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/9.jpg)
Modnamver progress: ver
• Versions are associated with namespaces, not with individual modules
• We are considering a Major.Minor version number structure– Based on backwards compatibility of the change
• Not sure how to encode the versions yet– Current common practice: attribute on root
element, in namespace URI, in filename– An idea: incorporate into the context
methodology?
• Not sure of relationship between core and functional namespace versions yet
![Page 10: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/10.jpg)
Tag structure progress
• Makes use of ISO 11179 concepts and their realization in ebXML CC– “Object class” and “property” especially
• XML allows us to reuse types, and thus most names of types and elements will be generic
• The dictionary will spell out the semantics for the fully qualified path for each element and attribute– This locks down a particular object
class/property and other details, so that there is zero semantic ambiguity
![Page 11: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/11.jpg)
More tag structure detail
• Top-level elements are global, and non-top-level elements are local/unqualified
• On intermediate elements, “Details” is the RT and is thus left off the name
• On leaf elements and attributes, RTs generally appear on names– “Text” is the default and is thus left off– “ID” is the required shorthand for “Identifier”– We may need to add XML-specific RTs, e.g. for
mixed content
![Page 12: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/12.jpg)
Elements vs. attributes
• Main component content should be elements– Aggregates will break down into
subelements, often using container elements– Order and cardinality are important– Empty elements thus not needed
• Supplementary components should be attributes– E.g., for currency codes on amounts– They tend to be unordered– Free extension is generally not a desired
option
• Common attributes proposed:– uid, uidRef[s], language
![Page 13: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/13.jpg)
Code lists
• Design principles: semantic clarity, management of maintenance costs, validation*, subsetting, and extension
• Code list choices and usage must be documented
• Codes supplied as XSD QNames– Code list “namespace” prefix and actual
code
• Very extensible while providing clear semantics
• *But pushes most validation to the application level
![Page 14: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/14.jpg)
Additional work in progress
• Roles of elements and attributes relative to a type and the potential effect on naming (“role model”)
• Type hierarchies and abstract types (“reoccurring types”)
• Representing the original context of extracted data when constructing UBL messages (“native context”)
![Page 15: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/15.jpg)
What we hope to accomplish this week
• Schema code review• “Reoccurring types”• “Native context”• “Role model”• Requirements around embedded
documentation• How do simple types relate to CCTs and RTs?• Exit criteria for the NDR SC• We would like to work more directly with
(Tim’s) LC SC in the future, including this week– New naming and design rules will ideally be
much more “emergent”
![Page 16: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/16.jpg)
Please visit the NDR SC portal
• It always summarizes our status and provides links to all papers, use cases, and additional resources:www.oasis-open.org/committees/ubl/ndrsc/
• Updated approximately weekly• And please review our position
papers!
![Page 17: UBL Naming and Design Rules Subcommittee Report Eve Maler NDR SC chair 18 March 2002](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f265503460f94c3d79b/html5/thumbnails/17.jpg)
Thank you
Eve MalerNDR SC chair
18 March 2002www.oasis-open.org/committees/ubl/ndrsc/