knoaman 2002/08/14 08:20:38 Modified: c/src/xercesc/dom/deprecated DOMParser.cpp DOMParser.hpp c/src/xercesc/internal XMLScanner.cpp c/src/xercesc/parsers AbstractDOMParser.cpp AbstractDOMParser.hpp SAX2XMLReaderImpl.cpp SAX2XMLReaderImpl.hpp SAXParser.cpp SAXParser.hpp c/src/xercesc/validators/DTD DocTypeHandler.hpp Log: [Bug 3111] Problem with LexicalHandler::startDTD() and LexicalHandler::endDTD(). Revision Changes Path 1.8 +2 -1 xml-xerces/c/src/xercesc/dom/deprecated/DOMParser.cpp Index: DOMParser.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/deprecated/DOMParser.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- DOMParser.cpp 11 Jul 2002 18:24:30 -0000 1.7 +++ DOMParser.cpp 14 Aug 2002 15:20:37 -0000 1.8 @@ -961,6 +961,7 @@ , const XMLCh* const publicId , const XMLCh* const systemId , const bool hasIntSubset + , const bool hasExtSubset ) { DOM_DocumentType dt; 1.10 +2 -1 xml-xerces/c/src/xercesc/dom/deprecated/DOMParser.hpp Index: DOMParser.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/deprecated/DOMParser.hpp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- DOMParser.hpp 11 Jul 2002 18:24:30 -0000 1.9 +++ DOMParser.hpp 14 Aug 2002 15:20:37 -0000 1.10 @@ -1501,6 +1501,7 @@ , const XMLCh* const publicId , const XMLCh* const systemId , const bool hasIntSubset + , const bool hasExtSubset = false ); virtual void doctypePI 1.19 +3 -3 xml-xerces/c/src/xercesc/internal/XMLScanner.cpp Index: XMLScanner.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XMLScanner.cpp,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- XMLScanner.cpp 7 Aug 2002 13:18:50 -0000 1.18 +++ XMLScanner.cpp 14 Aug 2002 15:20:38 -0000 1.19 @@ -2457,7 +2457,7 @@ // call the doctype event. // if (fDocTypeHandler) - fDocTypeHandler->doctypeDecl(*rootDecl, pubId, sysId, hasIntSubset); + fDocTypeHandler->doctypeDecl(*rootDecl, pubId, sysId, hasIntSubset, hasExtSubset); // // Ok, if we had an internal subset, we are just past the [ character @@ -4531,7 +4531,7 @@ rootDecl->setExternalElemDeclaration(true); Janitor<DTDElementDecl> janSrc(rootDecl); - fDocTypeHandler->doctypeDecl(*rootDecl, src.getPublicId(), src.getSystemId(), false); + fDocTypeHandler->doctypeDecl(*rootDecl, src.getPublicId(), src.getSystemId(), false, true); } // Create DTDScanner 1.20 +2 -1 xml-xerces/c/src/xercesc/parsers/AbstractDOMParser.cpp Index: AbstractDOMParser.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/parsers/AbstractDOMParser.cpp,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- AbstractDOMParser.cpp 9 Aug 2002 21:30:44 -0000 1.19 +++ AbstractDOMParser.cpp 14 Aug 2002 15:20:38 -0000 1.20 @@ -978,6 +978,7 @@ , const XMLCh* const publicId , const XMLCh* const systemId , const bool hasIntSubset + , const bool hasExtSubset ) { fDocumentType = (DOMDocumentTypeImpl *) fDocument->createDocumentType(elemDecl.getFullName(), publicId, systemId); 1.11 +2 -1 xml-xerces/c/src/xercesc/parsers/AbstractDOMParser.hpp Index: AbstractDOMParser.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/parsers/AbstractDOMParser.hpp,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- AbstractDOMParser.hpp 26 Jul 2002 20:30:48 -0000 1.10 +++ AbstractDOMParser.hpp 14 Aug 2002 15:20:38 -0000 1.11 @@ -1063,6 +1063,7 @@ , const XMLCh* const publicId , const XMLCh* const systemId , const bool hasIntSubset + , const bool hasExtSubset = false ); virtual void doctypePI 1.10 +9 -5 xml-xerces/c/src/xercesc/parsers/SAX2XMLReaderImpl.cpp Index: SAX2XMLReaderImpl.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/parsers/SAX2XMLReaderImpl.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- SAX2XMLReaderImpl.cpp 11 Jul 2002 18:27:20 -0000 1.9 +++ SAX2XMLReaderImpl.cpp 14 Aug 2002 15:20:38 -0000 1.10 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.10 2002/08/14 15:20:38 knoaman + * [Bug 3111] Problem with LexicalHandler::startDTD() and LexicalHandler::endDTD(). + * * Revision 1.9 2002/07/11 18:27:20 knoaman * Grammar caching/preparsing - initial implementation. * @@ -1055,12 +1058,15 @@ void SAX2XMLReaderImpl::doctypeDecl(const DTDElementDecl& elemDecl , const XMLCh* const publicId , const XMLCh* const systemId - , const bool hasIntSubset) + , const bool hasIntSubset + , const bool hasExtSubset) { - // Call the installed LexicalHandler. - if (fLexicalHandler) + // Call the installed LexicalHandler. + if (fLexicalHandler && (hasIntSubset || hasExtSubset)) fLexicalHandler->startDTD(elemDecl.getFullName(), publicId, systemId); + fHasExternalSubset = hasExtSubset; + // Unused by SAX DTDHandler interface at this time } @@ -1214,8 +1220,6 @@ void SAX2XMLReaderImpl::startExtSubset() { - fHasExternalSubset = true; - if (fLexicalHandler) fLexicalHandler->startEntity(gDTDEntityStr); } 1.13 +6 -0 xml-xerces/c/src/xercesc/parsers/SAX2XMLReaderImpl.hpp Index: SAX2XMLReaderImpl.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/parsers/SAX2XMLReaderImpl.hpp,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- SAX2XMLReaderImpl.hpp 11 Jul 2002 18:27:04 -0000 1.12 +++ SAX2XMLReaderImpl.hpp 14 Aug 2002 15:20:38 -0000 1.13 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.13 2002/08/14 15:20:38 knoaman + * [Bug 3111] Problem with LexicalHandler::startDTD() and LexicalHandler::endDTD(). + * * Revision 1.12 2002/07/11 18:27:04 knoaman * Grammar caching/preparsing - initial implementation. * @@ -1433,6 +1436,8 @@ * system id of the DTD file. * @param hasIntSubset A flag indicating if this XML file contains any * internal subset. + * @param hasExtSubset A flag indicating if this XML file contains any + * external subset. Default is false. */ virtual void doctypeDecl ( @@ -1440,6 +1445,7 @@ , const XMLCh* const publicId , const XMLCh* const systemId , const bool hasIntSubset + , const bool hasExtSubset = false ); /** 1.8 +5 -1 xml-xerces/c/src/xercesc/parsers/SAXParser.cpp Index: SAXParser.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/parsers/SAXParser.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- SAXParser.cpp 11 Jul 2002 18:27:04 -0000 1.7 +++ SAXParser.cpp 14 Aug 2002 15:20:38 -0000 1.8 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.8 2002/08/14 15:20:38 knoaman + * [Bug 3111] Problem with LexicalHandler::startDTD() and LexicalHandler::endDTD(). + * * Revision 1.7 2002/07/11 18:27:04 knoaman * Grammar caching/preparsing - initial implementation. * @@ -943,7 +946,8 @@ void SAXParser::doctypeDecl(const DTDElementDecl& elemDecl , const XMLCh* const publicId , const XMLCh* const systemId - , const bool hasIntSubset) + , const bool hasIntSubset + , const bool hasExtSubset) { // Unused by SAX DTDHandler interface at this time } 1.13 +6 -0 xml-xerces/c/src/xercesc/parsers/SAXParser.hpp Index: SAXParser.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/parsers/SAXParser.hpp,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- SAXParser.hpp 11 Jul 2002 18:27:03 -0000 1.12 +++ SAXParser.hpp 14 Aug 2002 15:20:38 -0000 1.13 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.13 2002/08/14 15:20:38 knoaman + * [Bug 3111] Problem with LexicalHandler::startDTD() and LexicalHandler::endDTD(). + * * Revision 1.12 2002/07/11 18:27:03 knoaman * Grammar caching/preparsing - initial implementation. * @@ -1547,6 +1550,8 @@ * system id of the DTD file. * @param hasIntSubset A flag indicating if this XML file contains any * internal subset. + * @param hasExtSubset A flag indicating if this XML file contains any + * external subset. Default is false. */ virtual void doctypeDecl ( @@ -1554,6 +1559,7 @@ , const XMLCh* const publicId , const XMLCh* const systemId , const bool hasIntSubset + , const bool hasExtSubset = false ); /** 1.2 +4 -0 xml-xerces/c/src/xercesc/validators/DTD/DocTypeHandler.hpp Index: DocTypeHandler.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/DTD/DocTypeHandler.hpp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- DocTypeHandler.hpp 1 Feb 2002 22:22:43 -0000 1.1 +++ DocTypeHandler.hpp 14 Aug 2002 15:20:38 -0000 1.2 @@ -56,8 +56,11 @@ /* * $Log$ - * Revision 1.1 2002/02/01 22:22:43 peiyongz - * Initial revision + * Revision 1.2 2002/08/14 15:20:38 knoaman + * [Bug 3111] Problem with LexicalHandler::startDTD() and LexicalHandler::endDTD(). + * + * Revision 1.1.1.1 2002/02/01 22:22:43 peiyongz + * sane_include * * Revision 1.5 2001/06/19 16:43:46 tng * Correct description of DocTypeHandler @@ -134,6 +137,7 @@ , const XMLCh* const publicId , const XMLCh* const systemId , const bool hasIntSubset + , const bool hasExtSubset = false ) = 0; virtual void doctypePI
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]