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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Non-deterministic schema issue....

[ Lists Home | Date Index | Thread Index ]

This exchange came up on a different newsgroup.  Anyone 
know what the correct answer is?

Thanks...

....Andrzej

--------------------------------


> > > MSXML4 is complaining about the schema below, saying that it is
> > > non-deterministic - i cant work out precisely why.
> >
> > >       <xsd:sequence>
> > >        <xsd:element name="characteristic" type="chartype1"
> > > maxOccurs="unbounded"/>
> > >        <xsd:element name="characteristic" type="chartype2"
> > > maxOccurs="unbounded"/>
> > >        <xsd:element name="characteristic" type="chartype3" minOccurs="0"
> > > maxOccurs="unbounded"/>
> > >        <xsd:element name="characteristic" type="chartype4"
> > > maxOccurs="unbounded"/>
> > >       </xsd:sequence>
> >
> > The problem is probably because of the minOccurs=0 on the third
> > element.  There is no way to know if the third element in such a
> > sequence is of type 3 or 4 without doing a read-ahead of it's child
> > elements.  I don't think that Parsers read-ahead typically.
> 
> But the minOccurs shouldnt be causing a problem. For starters, if we get rid
> of the minOccurs, the parser still complains. Are you saying that a schema
> enforcing the instance below would be non-deterministic because all the
> elements in the sequence have the same name?
> 
> <library>
>     <publication type="journal">...</publication>
>     <publication type="journal">...</publication>
>     <publication type="journal">...</publication>
>     <publication type="hardback"/>...</publication>
>     <publication type="book"/>...</publication>
>     <publication type="book"/>...</publication>
>     <publication type="book"/>...</publication>
>     <publication type="book"/>...</publication>
>     <publication type="reference"/>...</publication>
>     <publication type="misc"/>...</publication>
>     <publication type="misc"/>...</publication>
> </library>
> 
> 
> How else do you get around this? Giving each element a unique name would be
> a little silly, especially when there could be hundreds of them. besides..
> if you then wanted to transform the XML into some HTML (as i do).. it would
> be much trickier.

Andrzej Jan Taramina
Chaeron Corporation: Enterprise System Solutions
http://www.chaeron.com





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS