Suspected Error in XML 1.0 Specification

In http://www.w3.org/TR/1998/REC-xml-19980210 "CharData" is defined as
follows:

[14]  CharData ::=  [^<&]* - ([^<&]* ']]>' [^<&]*)

As such it matches a string of 0 characters.  Shouldn't it be defined as:

[14]  CharData ::=  [^<&]+ - ([^<&]* ']]>' [^<&]*)

CharData is only used in the production:

[43]  content ::=  (element | CharData | Reference | CDSect | PI |
Comment)*

This already allows "content" to be empty.  If the XML processor were
parsing

<tag><\tag>

it could legally generate any number of emtpy CharData objects by the first
definition.

Received on Wednesday, 25 March 1998 11:33:45 UTC