energyinterop-comment

 View Only

Some XSD issues faced while preparing for OpenADR test event

  • 1.  Some XSD issues faced while preparing for OpenADR test event

    Posted 10-27-2011 02:18
    Team,

    Here are some XSD issues with version 28 of XSD's. Maybe the issues are
    already fixed in the latest version of the specification.

    Discovered by Sunil Sodah from Honeywell

    1.

    One of the included xsd's geometryPrimitives.xsd has an element as well as
    a an attribute named rows. Binding try's to resolve both to getRows().


    [INFO] Compiling
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/EiClas
    ses.xsd and others [ERROR] [ERROR] Property "Rows" is already defined. Use
    <jaxb:property> to resolve this conflict.
    [ERROR] line 652 of
    http://schemas.opengis.net/gml/3.2.1/geometryPrimitives.xsd
    [ERROR]
    [ERROR] [ERROR] The following location is relevant to the above error
    [ERROR] line 684 of
    http://schemas.opengis.net/gml/3.2.1/geometryPrimitives.xsd
    [ERROR]
    [INFO] failure in the XJC task. Use the Ant -verbose switch for more details
    [INFO]
    ------------------------------------------------------------------------
    [ERROR] FATAL ERROR
    [INFO]
    ------------------------------------------------------------------------
    [INFO] unable to parse the schema. Error messages should have been provided



    2. emix.xsd is missing gmlsf namespace.


    [ERROR] [ERROR] The prefix "gmlsf" for element "gmlsf:ComplianceLevel" is
    not bound.
    [ERROR] line 472 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/emix.x
    sd
    [ERROR]
    [INFO] failure in the XJC task. Use the Ant -verbose switch for more details
    [INFO]
    ------------------------------------------------------------------------
    [ERROR] FATAL ERROR
    [INFO]
    ------------------------------------------------------------------------
    [INFO] unable to parse the schema. Error messages should have been provided


    Had to add xmlns:gmlsf="http://www.opengis.net/gmlsf/2.0" to emix.xsd


    3. power.xsd is missing namespace gmlsf

    [INFO] Compiling
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/EiClas
    ses.xsd and others [ERROR] [ERROR] The prefix "gmlsf" for element
    "gmlsf:ComplianceLevel" is not bound.
    [ERROR] line 11 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/power.
    xsd
    [ERROR]

    Had to add xmlns:gmlsf="http://www.opengis.net/gmlsf/2.0" to power.xsd

    4.

    One of the included xsd's referenceSystems.xsd has an element as well as a
    an attribute named rows. Binding try's to resolve both to getRows().


    [INFO] Compiling
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/EiClas
    ses.xsd and others [ERROR] [ERROR] Property "Rows" is already defined. Use
    <jaxb:property> to resolve this conflict.
    [ERROR] line 5720 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] The following location is relevant to the above error
    [ERROR] line 5752 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [INFO] failure in the XJC task. Use the Ant -verbose switch for more details
    [INFO]
    ------------------------------------------------------------------------
    [ERROR] FATAL ERROR


    changed attribute name to rowsAttribute on referenceSystems.xsd

    5. referenceSystems.xsd has several elements which are duplicate e.g.
    SecondDefiningParameter, secondDefiningParameter

    [INFO] Compiling
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/EiClas
    ses.xsd and others [ERROR] [ERROR] A class/interface with the same name
    "net.opengis.gml._3.SecondDefiningParameter" is already in use. Use a class
    customization to resolve this conflict.
    [ERROR] line 3647 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Relevant to above error) another "SecondDefiningParameter"
    is generated from here.
    [ERROR] line 3659 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 3647 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd


    Changed name of one of the SecondDefiningParameter element to
    SeecondDefiningParameter



    6. referenceSystems.xsd has several elements which are duplicate e.g.
    ImageDatum, imageDatum


    [INFO] Compiling
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/EiClas
    ses.xsd and others [ERROR] [ERROR] Two declarations cause a collision in the
    ObjectFactory class.
    [ERROR] line 1089 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 3724 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 3771 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 1126 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 3444 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 1046 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 813 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 4033 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 875 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 3463 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 3425 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 1036 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 910 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 3387 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 3501 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 1031 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 4171 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 4286 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 1121 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 3406 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 3593 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 880 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 3627 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 3613 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 3705 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 1051 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 3368 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 870 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 3482 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 1041 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 3608 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 3677 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 3349 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 865 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 4055 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 4112 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 3520 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 1084 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] Two declarations cause a collision in the ObjectFactory
    class.
    [ERROR] line 915 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [ERROR] [ERROR] (Related to above error) This is the other declaration.
    [ERROR] line 3752 of
    file:/C:/src/trunk/drms/ws-stub/openadr2/eiclasses/src/main/resources/refere
    nceSystems.xsd
    [ERROR]
    [INFO] failure in the XJC task. Use the Ant -verbose switch for more details
    [INFO]
    ------------------------------------------------------------------------
    [ERROR] FATAL ERROR
    [INFO]
    ------------------------------------------------------------------------
    [INFO] failed to compile a schema
    [INFO]
    ------------------------------------------------------------------------
    [INFO] Trace


    Duplicate entity names

    e.g.

    <element name="imageDatum" type="gml:ImageDatumPropertyType">
    <annotation>
    <documentation>gml:imageDatum is an association role to the
    image datum used by this CRS.</documentation>
    </annotation>
    </element>


    <element name="ImageDatum" type="gml:ImageDatumType"
    substitutionGroup="gml:AbstractDatum">
    <annotation>
    <documentation>gml:ImageDatum defines the origin of an image
    coordinate reference system, and is used in a local context only. For an
    image datum, the anchor definition is usually either the centre of the image
    or the corner of the image. For more information, see ISO 19111
    B.3.5.</documentation>
    </annotation>
    </element>


    7. AbstractFeature element in power.xsd and emix.xsd does not resolve
    properly

    There's no ObjectFactory with an @XmlElementDecl for the element
    {http://www.opengis.net/gml/3.2}AbstractFeature.
    this problem is related to the following location:
    at protected javax.xml.bind.JAXBElement
    org.oasis_open.docs.ns.emix._2011._06.power.ServiceLocationType.abstractFeat
    ure
    at org.oasis_open.docs.ns.emix._2011._06.power.ServiceLocationType
    at @javax.xml.bind.annotation.XmlSeeAlso(value=[class
    org.oasis_open.docs.ns.emix._2011._06.power.ServiceLocationType, class
    org.oasis_open.docs.ns.emix._2011._06.power.ServiceDeliveryPointType, class
    org.oasis_open.docs.ns.emix._2011._06.power.EndDeviceAssetType, class
    org.oasis_open.docs.ns.emix._2011._06.power.MeterAssetType, class
    org.oasis_open.docs.ns.emix._2011._06.power.PnodeType, class
    org.oasis_open.docs.ns.emix._2011._06.power.TransportInterfaceType, class
    org.oasis_open.docs.ns.emix._2011._06.power.AggregatedPnodeType, class
    org.oasis_open.docs.ns.emix._2011._06.ServiceAreaType])
    at org.oasis_open.docs.ns.emix._2011._06.power.PnodeType


    There's no ObjectFactory with an @XmlElementDecl for the element
    {http://www.opengis.net/gml/3.2}AbstractFeature.
    this problem is related to the following location:
    at protected java.util.List
    org.oasis_open.docs.ns.emix._2011._06.ServiceAreaType.abstractFeature
    at org.oasis_open.docs.ns.emix._2011._06.ServiceAreaType
    at @javax.xml.bind.annotation.XmlSeeAlso(value=[class
    org.oasis_open.docs.ns.emix._2011._06.power.ServiceLocationType, class
    org.oasis_open.docs.ns.emix._2011._06.power.ServiceDeliveryPointType, class
    org.oasis_open.docs.ns.emix._2011._06.power.EndDeviceAssetType, class
    org.oasis_open.docs.ns.emix._2011._06.power.MeterAssetType, class
    org.oasis_open.docs.ns.emix._2011._06.power.PnodeType, class
    org.oasis_open.docs.ns.emix._2011._06.power.TransportInterfaceType, class
    org.oasis_open.docs.ns.emix._2011._06.power.AggregatedPnodeType, class
    org.oasis_open.docs.ns.emix._2011._06.ServiceAreaType])
    at org.oasis_open.docs.ns.emix._2011._06.power.PnodeType
    at protected org.oasis_open.docs.ns.emix._2011._06.power.PnodeType
    org.oasis_open.docs.ns.emix._2011._06.power.ConversionLossType.pnode
    at org.oasis_open.docs.ns.emix._2011._06.power.ConversionLossType
    at @java

    Had to edit power.xsd and emix.xsd for this particular - AbstractFeature
    element


    8.

    In payloads.xsd we do not have a defined root so binding engine makes only
    the first element root with @XmlRootElement annotation and not others,
    although they can be roots. There is a workaround for this while using the
    bindings.


    javax.xml.bind.UnmarshalException: unexpected element
    (uri:"http://docs.oasis-open.org/ns/energyinterop/201103/payloads",
    local:"eiCreateEventPayload"). Expected elements are
    <{http://docs.oasis-open.org/ns/energyinterop/201103}EventBaselinePayload>,<
    {http://docs.oasis-open.org/ns/energ


    9.

    [com.sun.istack.SAXException2: unable to marshal type
    "com.honeywell.akuacom.openadr2.spec.EiCreateEventPayloadType" as an element
    because it is missing an @XmlRootElement annotation]