[Home] [By Thread] [By Date] [Recent Entries]

  • To: xml-dev@l...
  • Subject: Non-deterministic schema issue....
  • From: "Andrzej Jan Taramina" <andrzej@c...>
  • Date: Wed, 30 Jan 2002 12:41:38 -0500
  • Organization: Chaeron Consulting Corporation
  • Priority: normal
  • Reply-to: andrzej@c...

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


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member