[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: Re: [Fwd: small error in your ebxml manifest proposal]
Note that I have confirmed this with a re-read of the xmlschema-0 spec. I therefore propose that ##other be the value of the namespace attribute represented in the xsd:any elements. Cheers, Chris christopher ferris wrote: > > 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 > > ************************** > > > >
begin:vcard n:Ferris;Christopher tel;cell:508-667-0402 tel;work:781-442-3063 x-mozilla-html:FALSE org:Sun Microsystems, Inc;XTC Advanced Development adr:;;;;;; version:2.1 email;internet:chris.ferris@east.sun.com title:Sr. Staff Engineer fn:Christopher Ferris end:vcard
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC