tng 2002/08/19 07:39:57 Modified: c/src/xercesc/parsers AbstractDOMParser.cpp Log: [Bug 1471] getInternalSubset returns NDATA with "" . Also fix internalsubset to include notation. Revision Changes Path 1.21 +34 -4 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.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- AbstractDOMParser.cpp 14 Aug 2002 15:20:38 -0000 1.20 +++ AbstractDOMParser.cpp 19 Aug 2002 14:39:57 -0000 1.21 @@ -126,7 +126,7 @@ fScanner->setDocTypeHandler(this); fNodeStack = new ValueStackOf<DOMNode*>(64); - this->reset(); + this->reset(); } @@ -1203,9 +1203,7 @@ fInternalSubset.append(chSpace); fInternalSubset.append(XMLUni::fgNDATAString); fInternalSubset.append(chSpace); - fInternalSubset.append(chDoubleQuote); fInternalSubset.append(id); - fInternalSubset.append(chDoubleQuote); } id = entityDecl.getValue(); if (id !=0) { @@ -1238,6 +1236,38 @@ DOMNode* rem = fDocumentType->getNotations()->setNamedItem( notation ); if (rem) rem->release(); + + if (fDocumentType->isIntSubsetReading()) + { + //add thes chars to internalSubset variable + fInternalSubset.append(chOpenAngle); + fInternalSubset.append(chBang); + fInternalSubset.append(XMLUni::fgNotationString); + fInternalSubset.append(chSpace); + + fInternalSubset.append(notDecl.getName()); + + const XMLCh* id = notation->getPublicId(); + if (id != 0) { + fInternalSubset.append(chSpace); + fInternalSubset.append(XMLUni::fgPubIDString); + fInternalSubset.append(chSpace); + fInternalSubset.append(chDoubleQuote); + fInternalSubset.append(id); + fInternalSubset.append(chDoubleQuote); + } + id = notation->getSystemId(); + if (id != 0) { + fInternalSubset.append(chSpace); + fInternalSubset.append(XMLUni::fgSysIDString); + fInternalSubset.append(chSpace); + fInternalSubset.append(chDoubleQuote); + fInternalSubset.append(id); + fInternalSubset.append(chDoubleQuote); + + } + fInternalSubset.append(chCloseAngle); + } } void AbstractDOMParser::startAttList
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]