XML 1.0 : <!ELEMENT P (#PCDATA | S+)*>

David Megginson (ak117@freenet.carleton.ca)
Fri, 1 May 1998 13:46:15 -0400


Patrice Bonhomme writes:

> I am very surprise to see that the XML spec 1.0 cannot authorize
> the following element declaration (because of the +):
>
> <!ELEMENT P (#PCDATA | S+)*>
>
> I am wrong ?

Entirely correct; however, there is no XML content matched by

(#PCDATA | s+)*

that is not also matched by

(#PCDATA | s)*

More generally,

(a+)* = (a*)+ = (a*)* = (a?)+ = (a?)* = (a)*

XML forces you to reduce mixed content models to the simplest
representation.

All the best,

David

-- 
David Megginson                 ak117@freenet.carleton.ca
Microstar Software Ltd.         dmeggins@microstar.com
      http://home.sprynet.com/sprynet/dmeggins/