[relaxng-user] Re: Jing and libxml2 is right, Trang is wrong
David Tolpin
dvd at davidashen.net
Sat Mar 6 12:12:04 ICT 2004
>
> It's done on purpose because
>
> <quote src="
> http://lists.oasis-open.org/archives/relax-ng/200301/msg00006.html">
>
> The reason why the latter is forbidden is that there's
> a tendency to use it assuming it means
>
> <start>
> <choice>
> <ref name="foo"/>
> <ref name="bar"/>
> </choice>
> </start>
>
> </quote>
>
> Eric
Eric,
1) at the URL below, a patch for trang-20030619 that generates correct
patterns for start with implicit grouping.
http://ftp.davidashen.net/misc/trang-20030619-sig.patch
2) I tend to disagree with James. Either implicit grouping is not
allowed anywhere, or it is consistently allowed;
start = foo,bar
is perfectly correct and normally used in nested grammars. Nested
grammars are very useful in conjunction with parentRef elements.
Trying to fix a hypothetic bug James introduced a real one.
3) In cases where
start = foo, bar
is a bug,
<start>
<ref name="foo"/>
<ref name="bar"/>
</start>
does not have a chance to be misused as it were a choice, because
this pattern is forbidden in top-level grammars.
Cases where
start = foo, bar
is correct is used in nested grammars; and in most cases nested
grammars are used by people who know what they are doing.
I think this artificial limitation should be lifted.
David Tolpin
http://davidashen.net/
More information about the relaxng-user
mailing list