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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-transport message

[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]

Search: Match: Sort by:
Words: | Help


Powered by eList eXpress LLC