Mercurial > hg > openjdk > icedtea > jdk7 > jaxp
changeset 428:7f3cc533e823
Merge
author | asaha |
---|---|
date | Fri, 06 Apr 2012 17:08:09 -0700 |
parents | abc9f6855a61 (diff) b08fa5f66572 (current diff) |
children | aa6df713daa9 |
files | .hgtags |
diffstat | 2 files changed, 14 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Thu Apr 05 15:10:35 2012 -0700 +++ b/.hgtags Fri Apr 06 17:08:09 2012 -0700 @@ -159,6 +159,7 @@ b4e5df5b18bb75db15ed97da02e5df086d2c7930 jdk7u4-b12 7d18bccaec3781f3d4f2d71879f91e257db2f0f7 jdk7u4-b13 82c5b3166b3194e7348b2a9d146b6760c9a77128 jdk7u4-b14 +36490d49683f7be9d8fbbe1f8eefa1fe9fe550fa jdk7u5-b01 36490d49683f7be9d8fbbe1f8eefa1fe9fe550fa jdk7u4-b15 5c881231f1161fbc4fe86383ce59dd6a1bbe4f8e jdk7u4-b16 77a453ae863fee408035c8986f7e3bb22b7252cb jdk7u4-b17
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLScanner.java Thu Apr 05 15:10:35 2012 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/XMLScanner.java Fri Apr 06 17:08:09 2012 -0700 @@ -402,6 +402,16 @@ boolean dataFoundForTarget = false; boolean sawSpace = fEntityScanner.skipSpaces(); + // since pseudoattributes are *not* attributes, + // their quotes don't need to be preserved in external parameter entities. + // the XMLEntityScanner#scanLiteral method will continue to + // emit -1 in such cases when it finds a quote; this is + // fine for other methods that parse scanned entities, + // but not for the scanning of pseudoattributes. So, + // temporarily, we must mark the current entity as not being "literal" + Entity.ScannedEntity currEnt = fEntityManager.getCurrentEntity(); + boolean currLiteral = currEnt.literal; + currEnt.literal = false; while (fEntityScanner.peekChar() != '?') { dataFoundForTarget = true; String name = scanPseudoAttribute(scanningTextDecl, fString); @@ -499,6 +509,9 @@ } sawSpace = fEntityScanner.skipSpaces(); } + // restore original literal value + if(currLiteral) + currEnt.literal = true; // REVISIT: should we remove this error reporting? if (scanningTextDecl && state != STATE_DONE) { reportFatalError("MorePseudoAttributes", null);