[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: [Fwd: small error in your ebxml manifest proposal]
Wayne, Thanks for the feedback. Cheers, Chris -------- Original Message -------- Subject: small error in your ebxml manifest proposal Date: Thu, 14 Dec 2000 10:04:26 -0800 From: "Carr, Wayne" <wayne.carr@intel.com> To: "'chris.ferris@east.sun.com'" <chris.ferris@east.sun.com> CC: "Adams, Robert" <robert.adams@intel.com> I'm not on the ebxml mailing list so am not sending this to the list. If it would be useful, feel free to forward it. You have an error in your proposed extension mechanism, one that is common with the use of the "any" element. XML Schemas must be deterministic. For every element in an instance document, the parser must know exactly what corresponding part of the schema maps to that instance element. If you mix up use of the "any" element with the ##any value for the namespace attribute (the default) and other elements from your own namespace that can appear variable number of times, you create a nondeterministic schema. <element name="ebXMLHeader" type="ebXMLHeader"/> <complexType name='ebXMLHeader'> <element ref='Manifest' minOccurs='1'/> <element ref='Header' minOccurs='1'/> <element ref='RoutingHeader' minOccurs='0' maxOccurs="1"/> <any minOccurs='0' maxOccurs='*'/> </complexType> The way you have the above defined, if an instance document contains a RoutingHeader element, there is no way to tell if that came from the RoutingHeader element in the schema or the following any element which can be anything including the RoutingHearder. The way to get around this is to put the extension inside an "extension" element. Another alternative is to use ##other as the namespace attribute value rather than ##any. In an extension, there is no reason you'd want to be able to put other nonspecified elements from your own namespace. > ************************** > Wayne J. Carr > wayne.carr@intel.com > ICL Web Standards & Architecture > Intel Architecture Labs > ************************** > >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC