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

  • From: Rob Lugt <roblugt@e...>
  • To: Tim Bray <tbray@t...>, xml-dev@l...
  • Date: Fri, 28 Sep 2001 10:24:59 +0100

Tim Bray wrote
> Consider the following content model fragment:
>
>  %x;?
>
> as in <!ELEMENT a (%x;?, y)>
>
> It has been argued to me that this can't possibly
> ever be well-formed per a careful reading of the XML
> spec, and the arguments look correct to me.
>
> See production [48] and section 4.4.8.
>
> of course <!ELEMENT a ((%x;)?, y)> works.
>
> I've been told that the XHTML DTDs would suffer
> if this is true.
>
Tim,

The OASIS/Nist conformance suite [1] contains many tests that check (a) PE
token expansion and (b) the grammar checking for content models (with
specific tests for misplaced multiplicity operators), so I think it unlikely
that any of the major XML processors would allow this through.

Our XML Validator [2] is used extensively for XHTML Validation and we have
not received any comments about the DTDs being invalid, so I presume they
are written to avoid this problem.  FYI, here is the error message from
xmlvalid for your example:

--> test.dtd [1:16] : Fatal error: multiplicity specification '?' must
follow immediately after element name or ')'

Regards
~Rob

Rob Lugt
ElCel Technology
http://www.elcel.com

[1]
http://www.oasis-open.org/committees/xml-conformance/xml-test-suite.shtml
[2] http://www.elcel.com/products/xmlvalid.html



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