I think I can say that I have a fair degree of understanding.
> If you claim that you understand 7.4, please give non-trivial examples of
> key-ambiguous grammars. > each member
Well, here is my take:
<start>
<element name="root">
<!-- two versions of para -->
<element name="para">
<!-- title as an element -->
<element name="title">
<text/>
</element>
<attribute name="foo">
<list><zeroOrMore>
<key name="symSpace">
<data type="NMTOKEN"/>
</key>
</zeroOrMore></list>
</attribute>
...
</element>
<element name="para">
<!-- title as an attribute -->
<attribute name="title" />
<attribute name="foo">
<key name="symSpace">
<data type="NMTOKEN"/>
</key>
</attribute>
...
</element>
</choice>
</element>
You can always tell that which "para" is used. So you can always tell
that @foo is a list or not. But nevertheless this grammar is ambiguous.
regards,
--
Kohsuke KAWAGUCHI +1 650 786 0721
Sun Microsystems