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

  • From: Eric Bohlman <ebohlman@n...>
  • To: Jean Georges PERRIN <jgp@4...>
  • Date: Fri, 18 Feb 2000 10:07:28 -0800 (PST)

On Fri, 18 Feb 2000, Jean Georges PERRIN wrote:

> Is it possible to have recursivity in XML Documents / DTD... Some parsers
> seem to like it, others not...
> 
> Something like :
> <TOTO><TOTO>hello</TOTO><TOTO>world</TOTO></TOTO>
> 
> <!ELEMENT TOTO ( #PCDATA | TOTO ) >

The problem you're having isn't with recursion (which is allowed), but
with the fact that a mixed content model (one that allows either #PCDATA
or elements) *must* take the form of an optional repeating group, e.g.

<!ELEMENT TOTO (#PCDATA | TOTO)*>

The reason for this restriction is that otherwise the parser can be easily
thrown off by whitespace; if you had written

<TOTO>
  <TOTO>hello</TOTO>
  <TOTO>world</TOTO>
</TOTO>

and were using your original declaration with an SGML parser, which
doesn't have that restriction, your document would in fact *not* be valid
because the line break and spaces after the first <TOTO> tag would match
#PCDATA and no further markup would be allowed in the element.



***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@x...&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/threads.html
***************************************************************************

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