XML and repeatable model groups

David Megginson (dmeggins@uottawa.ca)
Mon, 21 Apr 1997 06:21:31 -0400


geirog@falch.no writes:

> >From the dtd: <!ELEMENT line (#PCDATA | stagedir)+>
>
> D:\WINUTILS\JADE\NSGMLSU.EXE:shakspe2.dtd:22:39:W: #PCDATA in model group
> that is not repeatable
>
> Why is this flagged as an error/warning? Isn't this a repeatable model group?
> Or isn't (#PCDATA | stagedir)+ a legal model group in XML?

The message should have read "#PCDATA in model group that is not
optional and repeatable". The draft XML spec allows mixed content
only as an optional and repeatable OR group, where #PCDATA is the
first member.

By the way, you gain nothing by using "+" instead of "*", since
#PCDATA can be an empty string. For example, in full SGML, the
following would satisfy (#PCDATA | stagedir)+ as well as it satisfies
(#PCDATA | stagedir)*:

<line></line>

All the best,

David

-- 
David Megginson                 ak117@freenet.carleton.ca
Microstar Software Ltd.         dmeggins@microstar.com
University of Ottawa            dmeggins@uottawa.ca
        http://www.uottawa.ca/~dmeggins