tng 2003/02/05 14:07:10
Modified: c/src/xercesc/validators/DTD DTDScanner.cpp DTDScanner.hpp
Log:
[Bug 3111] Problem with LexicalHandler::startDTD() and LexicalHandler::endDTD().
Revision Changes Path
1.23 +7 -4 xml-xerces/c/src/xercesc/validators/DTD/DTDScanner.cpp
Index: DTDScanner.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/DTD/DTDScanner.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- DTDScanner.cpp 20 Jan 2003 22:01:38 -0000 1.22
+++ DTDScanner.cpp 5 Feb 2003 22:07:09 -0000 1.23
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.23 2003/02/05 22:07:09 tng
+ * [Bug 3111] Problem with LexicalHandler::startDTD() and LexicalHandler::endDTD().
+ *
* Revision 1.22 2003/01/20 22:01:38 tng
* Need to check text decl when expanding PE
*
@@ -483,7 +486,7 @@
const unsigned int readerNum = fReaderMgr->getCurrentReaderNum();
try
{
- scanExtSubsetDecl(false);
+ scanExtSubsetDecl(false, false);
}
catch(...)
@@ -2496,7 +2499,7 @@
// DTD or an external DTD subset is encountered, and their contents pushed
// onto the reader stack. This method will scan that contents.
//
-void DTDScanner::scanExtSubsetDecl(const bool inIncludeSect)
+void DTDScanner::scanExtSubsetDecl(const bool inIncludeSect, const bool isDTD)
{
// Indicate we are in the external subset now
FlagJanitor<bool> janContentFlag(&fInternalSubset, false);
@@ -2715,7 +2718,7 @@
}
// If we have a doc type handler, tell it the ext subset ends
- if (fDocTypeHandler)
+ if (fDocTypeHandler && isDTD)
fDocTypeHandler->endExtSubset();
}
@@ -3146,7 +3149,7 @@
// Recurse back to the ext subset call again, telling it its
// in an include section.
//
- scanExtSubsetDecl(true);
+ scanExtSubsetDecl(true, false);
//
// And see if we got back to the same level. If not, then its
1.6 +4 -1 xml-xerces/c/src/xercesc/validators/DTD/DTDScanner.hpp
Index: DTDScanner.hpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/DTD/DTDScanner.hpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- DTDScanner.hpp 4 Dec 2002 02:47:25 -0000 1.5
+++ DTDScanner.hpp 5 Feb 2003 22:07:09 -0000 1.6
@@ -56,6 +56,9 @@
/*
* $Log$
+ * Revision 1.6 2003/02/05 22:07:09 tng
+ * [Bug 3111] Problem with LexicalHandler::startDTD() and LexicalHandler::endDTD().
+ *
* Revision 1.5 2002/12/04 02:47:25 knoaman
* scanner re-organization.
*
@@ -161,7 +164,7 @@
DocTypeHandler* const handlerToSet
);
- void scanExtSubsetDecl(const bool inIncludeSect);
+ void scanExtSubsetDecl(const bool inIncludeSect, const bool isDTD);
bool scanInternalSubset();
bool scanId
(
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]