#2725 Resolve CIMVERSION/DTDVERSION issues in CIM element

pending-fixed
Dave Blaschke
jsr48-client
5
2014-03-03
2014-02-18
Dave Blaschke
No

The DOM parser's parseMESSAGE method only allows CIMVERSION/DTDVERSION attributes with value of "2.0" which contradicts DSP0201:

"The CIMVERSION attribute defines the version of the DSP0004 to which the XML document conforms. It must be in the form of "M.N.U", where M is the major version of the specification, N is the minor version of the specification, and U is the update version of the specification, each in their decimal representation without leading zeros. Any draft letter in the version of the specification must not be represented in the attribute (for example, 2.3.0, 2.4.0). Implementations must validate only the major version, as all minor and update versions are backward compatible. Implementations may look at the minor or update version to determine additional capabilities.

"The DTDVERSION attribute defines the version of the Specification for the Representation of CIM in XML (this document) to which the XML document conforms. It must be in the form of "M.N.U", where M is the major version of the specification, N is the minor version of the specification, and U is the update version of the specification, each in their decimal representation without leading zeros. Any draft letter in the version of the specification must not be represented in the attribute (for example, 2.2.0, 2.3.0). Implementations must validate only the major version, as all minor and update versions are backward compatible. Implementations may look at the minor or update version to determine additional capabilities."

The "2.0" values are from the original version of DSP0201, but the client needs to be able to handle any 2.x value.

Also, the SAX parser's CIMNode class allows any and all CIMVERSION/DTDVERSION attributes, such as 1.4, 3.8, fubar, etc. This should be limited to 2.x as well so that the client doesn't choke on future CIM versions (discussions for 3.0 are underway).

1 Attachments

Discussion

  • Dave Blaschke
    Dave Blaschke
    2014-02-18

    Version attributes and their meaning:

    CIM CIMVERSION = DSP0004, M.N.U (i.e. 2.3.0)
    CIM DTDVERSION = DSP0201, M.N.U (i.e. 2.4.0)
    MESSAGE PROTOCOLVERSION = DSP0200, M.N (i.e. 1.4)
    
     
  • Dave Blaschke
    Dave Blaschke
    2014-02-18

    Patch sent for community review. During a 2 week period any exploiter may comment on the patch, request changes or turn it down completely (with good reason). For the time being the patch is part of the "Experimental" branch in CVS.

     
  • Dave Blaschke
    Dave Blaschke
    2014-02-18

    • status: open --> open-fixed
     
  • Dave Blaschke
    Dave Blaschke
    2014-03-03

    • status: open-fixed --> pending-fixed
     
  • Dave Blaschke
    Dave Blaschke
    2014-03-03

    The community review is completed and we received no substantial criticism. Therefore the patch has been approved and merged into the "HEAD" branch. The next release will pick it up.