I'm looking at a thrown exception (this is xerces-c 3.1.1) which I don't 
understand.

#0      0x100ccc4f2 in xercesc_3_1::RefHashTableOf<xercesc_3_1::Grammar, 
xercesc_3_1::StringHasher>::orphanKey at RefHashTableOf.c:289
#1      0x100d6698b in xercesc_3_1::GrammarResolver::orphanGrammar at 
GrammarResolver.cpp:348
#2      0x100cdfc9c in xercesc_3_1::IGXMLScanner::loadDTDGrammar at 
IGXMLScanner.cpp:3061
#3      0x100ce0745 in xercesc_3_1::IGXMLScanner::loadGrammar at 
IGXMLScanner.cpp:2939
#4      0x100d4547d in xercesc_3_1::DOMLSParserImpl::loadGrammar at 
DOMLSParserImpl.cpp:1116

The exception that's being thrown is that the key (XMLUni::fgDTDEntityString - 
as set by loadDTDGrammar() line 1361 ) is not found in the fGrammarBucket. 

The DOMLSParser has the following settings

XMLUni::fgXercesValidationErrorAsFatal=false    
XMLUni::fgXercesUserAdoptsDOMDocument=true      
XMLUni::fgXercesContinueAfterFatalError=true    
XMLUni::fgXercesCacheGrammarFromParse=true      
XMLUni::fgXercesUseCachedGrammarInParse=true    
XMLUni::fgDOMNamespaces=true
XMLUni::fgXercesIgnoreCachedDTD=false
XMLUni::fgXercesIdentityConstraintChecking=true
XMLUni::fgDOMValidate=true
XMLUni::fgDOMDatatypeNormalization=true
XMLUni::fgXercesDOMHasPSVIInfo=false

The InputSource is created using a utf-8 bytestream MemBufInputSource of a DTD 
grammar derived from (and compatible with) xhtml1.0. The grammar validates in 
eg Oxygen or at http://www.validome.org
Any idea what I may be doing wrong?


Reply via email to