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