OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

unitsml message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [unitsml] FW: [chairs] Automated checking of OASIS schemas and NDR alignment


Bob,
The attached stylesheet (validate-cam-cxf.xsl) is what performs the NDR check and generates the errors in question.  It is possible to modify this file and load the modified version through the CAM interface, but I have limited experience with XSL.  If there is any interest in customizing this for UnitsML, I think Werner has a lot of experience with XSLT that should carry over.
 
As for the rules, they were originally formulated by the ISO in 2005 in publication ISO/IEC 11179-5:  http://standards.iso.org/ittf/licence.html

 

They have since been widely adopted and are considered a best practice, although I see nothing in the OASIS Naming rules that requires that they be enforced. 

 

I get the impression that CAM has only recently been released, and there is a marked dearth of detailed documentation.

 

From the ISO publication:

 

Representation term

A representation term may be a part of an administered item name that describes the form of representation

of an administered item that includes representation: data elements and value domains. Each term may be

developed from a controlled word list or taxonomy. In the MDR metamodel, a Representation Class is the

classification of types of representation. Each representation class has a name. The registration of

representation classes in a registry is optional, but if used, the set of actual and potential representation class

names provides a taxonomy of representation class terms.

 

Representation terms categorize forms of representation such as

 

- Name - Amount

- Measure - Number …

- Quantity - Text

 

This term describes the form of the set of valid values of an administered item which includes representation.

Often, the representation term may be redundant with part of the property term. When this occurs, one term or

part of one term may be eliminated in a structured name. This can be established as a rule in a naming convention.

 

Using the above rules, a data element describing a measurement of the height of a tree would have the data

element name Tree Height Measure. The word Measure is the data element’s representation term. However,

a data element that describes the last name of a person would have the data element name of Person Last

Name Name. The second word Name is the data element’s representation term. However, to promote clarity,

one occurrence of the redundant word is removed.

 

Karen Legrand

 


From: Dragoset, Robert A. [mailto:robert.dragoset@nist.gov]
Sent: Tuesday, August 11, 2009 6:08 PM
To: Legrand, Karen; unitsml@lists.oasis-open.org; Joseph.F.Solsky@usace.army.mil
Subject: RE: [unitsml] FW: [chairs] Automated checking of OASIS schemas and NDR alignment

Karen,
 
Is there a description of the error messages? In particular I'm interested in:
 
  • attribute name does not match representation term rules: 27

  • element name does not match representation term rules: 11

  • elements missing annotation description: 1
    - UnitsML

  • For the first two, I don't know what the representation term rules are; and for the third one, there is annotation for the UnitsML element.

    Thanks,
    Bob


    From: Legrand, Karen [mailto:Karen.Legrand@iem.com]
    Sent: Tuesday, August 11, 2009 5:25 PM
    To: unitsml@lists.oasis-open.org; Joseph.F.Solsky@usace.army.mil
    Subject: RE: [unitsml] FW: [chairs] Automated checking of OASIS schemas and NDR alignment

    After installing CAM and running it on unitsmlSchema-0.9.18.xsd, it generated the attached evaluation.  If anyone is interested, I can also send the compiled dictionary and cam project file.  It looks like it is the equivalent of a static code analyzer.
     
    Karen Legrand


    From: Dragoset, Robert A. [mailto:robert.dragoset@nist.gov]
    Sent: Tuesday, August 11, 2009 3:50 PM
    To: unitsml@lists.oasis-open.org; Joseph.F.Solsky@usace.army.mil
    Subject: [unitsml] FW: [chairs] Automated checking of OASIS schemas and NDR alignment

    Dear UnitsML TC,
     
    Since I've put this topic on the agenda, I thought it appropriate to send this message from David Webber (that he sent to the OASIS chairs) to the UnitsML TC.
     
    Sincerely,
    Bob Dragoset
     

    Robert A. Dragoset, physicist
    Physics Laboratory
    National Institute of Standards and Technology

    NIST
    100 Bureau Drive, Stop 8400
    Gaithersburg, MD 20899
    Phone: 301-975-3718
    Email: dragoset@nist.gov
    Website: http://physics.nist.gov


    From: David RR Webber (XML) [mailto:david@drrw.info]
    Sent: Saturday, August 08, 2009 12:20 PM
    To: Matthew Dovey
    Cc: Chris Kaler; Kelvin Lawrence; Mary McRae; Robin Cover; chairs@lists.oasis-open.org
    Subject: [chairs] Automated checking of OASIS schemas and NDR alignment

    Since we are on this topic - the real issue is that XSD schema is a double edged sword - fabulously complex and hence challenging to desk check manually.

    We could consider alternative strategies to improve quality - I would suggest a voluntry approach here.

    For those that care to use it the OASIS CAM specification provides support for automated verification of XSD schema.

    The open source toolkit is available on SourceForge.net in the camprocessor project.

    Essentially what is does is ingest the XSD Schema - formulate it using the CAM template as an ABSTRACTION LAYER - that then allows automated inspection by particularly xslt scripting.

    The following OASIS specifications have already benefited from this - EDXL, CIQ, and EML and then non-OASIS spec's including PESC, MISMO and then the NIEM.gov work.  The toolkit has been able to detect errors that in some cases have laid dormant for 3 years in published standards.

    Here's a brief check list of what the toolkit will check for you -

    1) Non-UTF8 characters in the schema

    2) Naming and design rules consistency - currently this is drawn from NIEM and CEFACT NDR best practices - but is fully customizable in XSLT scripting

    3) Common issues WRT Schema and interoperability (a major OASIS goal?) that are flagged as warnings

    4) Build XML dictionary of your schema - that can be loaded into Excel spreadsheet - invaluable in manually inspecting actually what is being used where and the information model itself - and what is new release to release.

    A sample of the output of the evaluator is below for one schema from OASIS EML - checking 1,500 item and 3,000 rules - clearly a challenge manually.  

    You can see the gap here this illustrates between existing standards (in this OASIS EML case dating back to 2001) and todays expected quality evaluations.  Closing this gap while supporting an existing user community is obviously a challenge - but in EML case - we are at least starting that journey.

    I believe it is inevitable that OASIS will move in this direction - automated checking - because the users out there demand ever better quality in OASIS specifications - and also expect industry best practices to be followed when engineering schema - which points to OASIS NDR - and aligning that with existing practice such as NIEM.gov.  And of course eventually we can expect at least government level users to insist on this before approving use of a standard - because internally they are already using these evaluation tools on their own schemas.

    Thanks, DW

    CAM Template Evaluation

    Version 1.16

    CAM Template HEADER information:

    Description: EML 150 Geodistricting schema template
    Owner: OASIS, Copyright 2009.
    Date: 2009-08-04T08:02:22
    Version: 6.0

    RULES INTEGRITY:

    NAMING AND DESIGN RULES (NDR) ASSESSMENT:

    ISSUES AND WARNINGS:

    EXTERNALS:

       Namespace URL

    validate-cam-cxf.xsl



    [Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]