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

 


Help: OASIS Mailing Lists Help | MarkMail Help

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]