[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [ubl] Altova problem
One very convenient answer is to use the runtime, xsdrt schemas, (n'est pas?) All the best Steve >>> <jon.bosak@sun.com> 21/09/05 18:09:24 >>> 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. --------------------------------------------------------------------- To unsubscribe from this mail list, you must leave the OASIS TC that generates this mail. You may a link to this group and all your TCs in OASIS at: https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]