Re: [Sax-devel] Re: Character Entities vs. General Entities
Brought to you by:
dmegginson
From: Rob L. <ro...@el...> - 2002-05-28 19:00:47
|
Karl Waclawek wrote > > > It's true that when building the replacement text for general entities [3], > > character entities are replaced by the character to which they refer, and > > general entities are left unexpanded. But this is purely an internal issue > > for the parser - when the document content is reported to the application > > the general entities are expanded. > > That is actually not true: > > Take this document: > > <?xml version="1.0" encoding="UTF-8"?> > <!DOCTYPE test [ > <!ELEMENT test (a|b)+> > <!ELEMENT a (#PCDATA)> > <!ELEMENT b (#PCDATA)> > <!ENTITY a "a General Entity"> > <!ENTITY e "This is &a;"> > <!ENTITY f "This is &a;"> > ]> > <test> > <a>&e;</a> > <b>&f;</b> > </test> > > > The parser will report > ... > <a>This is a General Entity</a> > <b>This is &a;</b> > ... This is true, but it does not disprove my earlier statement. Your example simply (and clearly) demonstrates that character entities are replaced when creating the entity replacement text whereas general entities are not. As for the XML serializer, the distinction between character and general entities will only be an issue if it is going to need the facility to create entity definitions within a DTD. From what you write I presume this must be the case, so I now better understand the problem. Thanks. ~Rob |