You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by sc...@apache.org on 2017/07/11 23:39:09 UTC
svn commit: r1801664 -
/xerces/c/trunk/src/xercesc/parsers/AbstractDOMParser.cpp
Author: scantor
Date: Tue Jul 11 23:39:09 2017
New Revision: 1801664
URL: http://svn.apache.org/viewvc?rev=1801664&view=rev
Log:
XERCESC-2090 - Incorrect Parsing of NOTATION declarations
Modified:
xerces/c/trunk/src/xercesc/parsers/AbstractDOMParser.cpp
Modified: xerces/c/trunk/src/xercesc/parsers/AbstractDOMParser.cpp
URL: http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/parsers/AbstractDOMParser.cpp?rev=1801664&r1=1801663&r2=1801664&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/parsers/AbstractDOMParser.cpp (original)
+++ xerces/c/trunk/src/xercesc/parsers/AbstractDOMParser.cpp Tue Jul 11 23:39:09 2017
@@ -1657,6 +1657,8 @@ void AbstractDOMParser::notationDecl
fInternalSubset.append(notDecl.getName());
+ bool publicKeywordPrinted = false;
+
const XMLCh* id = notation->getPublicId();
if (id != 0) {
fInternalSubset.append(chSpace);
@@ -1665,16 +1667,21 @@ void AbstractDOMParser::notationDecl
fInternalSubset.append(chDoubleQuote);
fInternalSubset.append(id);
fInternalSubset.append(chDoubleQuote);
+
+ publicKeywordPrinted = true;
}
id = notation->getSystemId();
if (id != 0) {
fInternalSubset.append(chSpace);
- fInternalSubset.append(XMLUni::fgSysIDString);
- fInternalSubset.append(chSpace);
+
+ if ( !publicKeywordPrinted ){
+ fInternalSubset.append(XMLUni::fgSysIDString);
+ fInternalSubset.append(chSpace);
+ }
+
fInternalSubset.append(chDoubleQuote);
fInternalSubset.append(id);
fInternalSubset.append(chDoubleQuote);
-
}
fInternalSubset.append(chCloseAngle);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org