[
Lists Home |
Date Index |
Thread Index
]
>>| Assuming that it is possible to declare a PE named 'percent' with a
>>| literal '%', is the following allowed?
>>|
>>| <!ENTITY %percent; x "value">
>>
>>Permissible in SGML - should be okay in XML.
>
>
> Accepted by MSXML4.
>
> Rejected by
> - Expat: "Unclosed token"
> (it seems Expat considers % followed by a name one token)
That's a bug in expat I think. Try this (tested with expat 1.2):
--- xmltok/xmltok_impl.c 20 Oct 2000 04:17:27 -0000 1.42
+++ xmltok/xmltok_impl.c 3 Jul 2003 02:08:48 -0000
@@ -881,7 +881,7 @@
const char **nextTokPtr)
{
if (ptr == end)
- return XML_TOK_PARTIAL;
+ return -XML_TOK_PERCENT;
switch (BYTE_TYPE(enc, ptr)) {
CHECK_NMSTRT_CASES(enc, ptr, end, nextTokPtr)
case BT_S: case BT_LF: case BT_CR: case BT_PERCNT:
James
|