I wanted to follow up with this bug: WebKit was also running into this bug. We inherited some work-around code from KDOM: static xmlEntityPtr getEntityHandler(void *closure, const xmlChar *name) { xmlParserCtxtPtr ctxt = static_cast<xmlParserCtxtPtr>(closure); xmlEntityPtr ent = xmlGetPredefinedEntity(name); if (ent) return ent; ent = xmlGetDocEntity(ctxt->myDoc, name); if (!ent && getTokenizer(closure)->isXHTMLDocument()) ent = getXHTMLEntity(name); // Work around a libxml SAX2 bug that causes charactersHandler to be called twice. if (ent) ctxt->replaceEntities = (ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE) || (ent->etype != XML_INTERNAL_GENERAL_ENTITY); return ent; } Recently I've noticed that the above work-around code is not quite correct and is causing troubles of its own: I'm looking for any ideas for a better workaround. Thanks. -eric |