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

  • From: "Christopher R. Maden" <crism@m...>
  • To: xml-dev@l...
  • 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


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