[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [xml-dev] %x;? - Opportunity for pedantry and exegesis
- From: "Christopher R. Maden" <crism@maden.org>
- To: xml-dev@lists.xml.org
- Date: Thu, 27 Sep 2001 23:47:30 -0700
Pedantry and exegesis? I'm there, baby! (And I'm a little surprised to
see that there's only been one other reply...)
At 11:55 27-09-2001, 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.
I concur (though you'd know better than I). I was actually a little
surprised to note that (foo ?) isn't legal, not even in SGML (see <URL:
http://crism.maden.org/consulting/pub/sgmldefs.html#[130] >).
>I've been told that the XHTML DTDs would suffer
>if this is true.
A quick grep indicated that they might, but as Bill Lindsey noted, they
dodge the bullet with things like:
<!ENTITY % table.content
"( %caption.qname;?, %tr.qname;+ )"
>
<!ELEMENT %table.qname; %table.content; >
I think that, although perhaps unintended, this gotcha is a good one. A
compliant validating parser should detect the problem, which protects users
from something like
<!ENTITY % x "x">
<!ELEMENT a (%x;?)>
changing into
<!ENTITY % x "x | y">
<!ELEMENT a (%x;?)>
which, if legal, would have surprising results.
-Chris
--
Christopher R. Maden, Principal Consultant, HMM Consulting Int'l, Inc.
DTDs/schemas - conversion - ebooks - publishing - Web - B2B - training
<URL: http://www.hmmci.com/ > <URL: http://crism.maden.org/consulting/ >
PGP Fingerprint: BBA6 4085 DED0 E176 D6D4 5DFC AC52 F825 AFEC 58DA