Posible error on XML 1.0

I don't understand the Literals BNF and I think is maybe an error.
The definition says "Any quoted string not containing the quotation Mark",
and I think is correct.
But production symbols in BNF's Rule contains [^%&"] as final symbols, when
an EntityValue is quoted with '"', unless the BNF notation used there is not
the common EBNF, there is an error.
The same case is happened with the apostrophe symbol.
There cases are based on XML 1.0 (third edition), that says:

---------------------------
_Literal data is any quoted string not containing the quotation mark used as
a delimiter for that string_. Literals are used for specifying the content
of internal entities (EntityValue), the values of attributes (AttValue), and
external identifiers (SystemLiteral). Note that a SystemLiteral can be
parsed without scanning for markup.
Literals
[9]   EntityValue  ::=  '"' ([^%&"] | PEReference | Reference)* '"' 
				|  "'" ([^%&'] | PEReference | Reference)*
"'"

[10]  AttValue     ::=  '"' ([^<&"] | Reference)* '"' 
				|  "'" ([^<&'] | Reference)* "'"
-----------------------------------

Aldo Jiménez Aguilar
Asistente de Informática de Comercialización
Calle Leona Vicario #2
Tula de Allende, Hgo.
C.P. 42820
Tel: (773) 7324166
Movil: (773) 1060967

Received on Tuesday, 22 June 2004 14:55:13 UTC