[
Lists Home |
Date Index |
Thread Index
]
At 02:48 4.2.2005, you wrote:
>If there were to be an XML 2.0, one of the goals should be that any
>off-the-shelf parser generator can produce a parser for it. It's
>ridiculously hard to write a correct XML parser; it ought to be
>ridiculously easy.
>I also agree with whoever wrote that DTDs, validation and macro expansion
>should be pulled out of the base specification entirely. Hey, here's an
>idea: what you see is what you get.
Somewhat relating to this, an example of how hard it is to get DTD
parameter entity expansion right; this is something I've encountered when
writing my Parsifal parser:
The following document is well-formed (and valid too but that's not the
point) but very troublesome to parse for MSXML (IE6 crashes) and Expat.
Works ok with RXP and Parsifal - haven't test others.
You can test this with your browser in the link
http://www.saunalahti.fi/~samiuus/toni/xmlproc/parsifal_tests/output_tests/output_PE1.xml
Or just examine this:
output_PE1.xml:
<!DOCTYPE doc SYSTEM "output_PE1.dtd"[]>
<doc/>
output_PE1.dtd:
<!ENTITY % b "test">
<!ENTITY % ws "">
<!ENTITY % e SYSTEM%ws;"output_PE1.ent">
<!ENTITY % PE "%">
<!ENTITY%PE; s "%e;">
<!ENTITY u "%s;">
<!ELEMENT doc ANY>
<!ATTLIST doc att CDATA #FIXED "&u;">
output_PE1.ent:
%b;
Quite evil document? not very "real world" one I guess but well-formed
nevertheless.
with respect,
Toni Uusitalo
|