OASIS Universal Business Language (UBL) TC

 View Only
  • 1.  Altova problem

    Posted 09-21-2005 17:09
     MHonArc v2.5.0b2 -->
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    ubl message

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


    Subject: Altova problem


    Forwarded with permission.  Comments by mail to the list, please.
    
    Jon
    
    ==================================================================
    
    Date: Tue, 20 Sep 2005 15:20:08 -0400
    From: Alexander Falk <al@altova.com>
    Subject: UBL and XMLSpy 2006
    To: Jon.Bosak@sun.com
    
    Hi Jon:
    
    I've worked with our CTO and development team on the integration of UBL
    1.0 and the UBL SBS in XMLSpy 2006, and we've found an interesting
    problem:
    
    Our core validation engine has received a couple of improvements for the
    new product version, one of which is improved processing of <xs:any
    processContents="lax"/> cases in XML Schema. This was added due to
    customer feedback. The specification says this: "If the item has a
    uniquely determined declaration available, it must be valid with respect
    to that definition, that is, validate if you can, don't worry if you
    can't.". The new validation core in XMLSpy 2006 does, therefore, now
    validate these cases properly even if they occur inside an XML Schema
    document.
    
    As a result, XMLSpy now considers the original UBL 1.0 schema to be
    invalid. The problem is that inside the schema file
    UBL-CoreComponentParameters-1.0.xsd inside the definition of
    <xsd:complexType name="ComponentType"> the <xsd:element
    ref="Definition"/> is lacking a  minOccurs="0". If you look at various
    other schemas in the UBL family, e.g.
    UBL-CodeList-AcknowledgementResponseCode-1.0, you will see that it uses
    the ccts:ComponentType complexType in the following ccts:Component
    element:
    
    		<xsd:annotation>
    			<xsd:documentation>
    				<ccts:Component>
    	
    <ccts:ComponentType>DT</ccts:ComponentType>
    	
    <ccts:DictionaryEntryName>Acknowledgement Response_ Code.
    Type</ccts:DictionaryEntryName>
    	
    <ccts:RepresentationTerm>Code</ccts:RepresentationTerm>
    	
    <ccts:DataTypeQualifier>Acknowledgement
    Response</ccts:DataTypeQualifier>
    					<ccts:DataType>Code.
    Type</ccts:DataType>
    				</ccts:Component>
    				... snip ...
    			</xsd:documentation>
    		</xsd:annotation>
    
    As you can see, the <ccts:Definition> element is missing inside the
    <ccts:Component>, and thus this fragment is not valid with respect to
    the current UBL-CoreComponentParameters-1.0.xsd definition. Since the
    <ccts:Component> element is lacking a <ccts:Definition> element in most
    other cases, I believe the correct fix for this error is to change the
    definition of <xsd:complexType name="ComponentType"> in the schema file
    UBL-CoreComponentParameters-1.0.xsd to make the <ccts:Definition>
    element optional:
    
    		<xsd:element ref="Definition" minOccurs="0"/>
    
    Making this change makes the entire UBL schema valid again.
    
    This issue will probably delay the integration of UBL with XMLSpy, as we
    are just 2 weeks away from the ship-date. I'll keep you posted as we
    learn more. Also, if you have any feedback regarding the above issue,
    please let me know. Thanks!
    
    Best regards,
    
    Alexander
    
    ... Alexander Falk
    ... President & CEO
    ... Altova, Inc.
    


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