aboutsummaryrefslogtreecommitdiff
path: root/src/com/sun/org/apache/xerces/internal/impl
diff options
context:
space:
mode:
authorasaha <none@none>2014-01-02 15:20:52 -0800
committerasaha <none@none>2014-01-02 15:20:52 -0800
commit92e201b60062ae4395058e6fcf0c0567016cf3e2 (patch)
treea84e7eb0b19f27a0e20d27b5bc0d4136e8fa746a /src/com/sun/org/apache/xerces/internal/impl
parentbdc2bc46d0e020a5779af3167c4993b89da14deb (diff)
parent71c9bd5cbb30a4d49ce6810b5cf4683323c63b27 (diff)
downloadjdk8u_jaxp-92e201b60062ae4395058e6fcf0c0567016cf3e2.tar.gz
Merge
Diffstat (limited to 'src/com/sun/org/apache/xerces/internal/impl')
-rw-r--r--src/com/sun/org/apache/xerces/internal/impl/Constants.java2
-rw-r--r--src/com/sun/org/apache/xerces/internal/impl/PropertyManager.java2
-rw-r--r--src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java2
-rw-r--r--src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java2
-rw-r--r--src/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java2
-rw-r--r--src/com/sun/org/apache/xerces/internal/impl/XMLEntityScanner.java43
-rw-r--r--src/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java2
-rw-r--r--src/com/sun/org/apache/xerces/internal/impl/XMLScanner.java2
8 files changed, 33 insertions, 24 deletions
diff --git a/src/com/sun/org/apache/xerces/internal/impl/Constants.java b/src/com/sun/org/apache/xerces/internal/impl/Constants.java
index 8f54c0d..4eab0fa 100644
--- a/src/com/sun/org/apache/xerces/internal/impl/Constants.java
+++ b/src/com/sun/org/apache/xerces/internal/impl/Constants.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
diff --git a/src/com/sun/org/apache/xerces/internal/impl/PropertyManager.java b/src/com/sun/org/apache/xerces/internal/impl/PropertyManager.java
index 2c8f3af..500715b 100644
--- a/src/com/sun/org/apache/xerces/internal/impl/PropertyManager.java
+++ b/src/com/sun/org/apache/xerces/internal/impl/PropertyManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
diff --git a/src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java b/src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java
index 1db2755..f945b0a 100644
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java
+++ b/src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
diff --git a/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java b/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java
index d55af10..c3e1910 100644
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java
+++ b/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
diff --git a/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java b/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java
index e38dcd3..c2d58bd 100644
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java
+++ b/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
diff --git a/src/com/sun/org/apache/xerces/internal/impl/XMLEntityScanner.java b/src/com/sun/org/apache/xerces/internal/impl/XMLEntityScanner.java
index 4acc9c9..c27b156 100644
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLEntityScanner.java
+++ b/src/com/sun/org/apache/xerces/internal/impl/XMLEntityScanner.java
@@ -1142,7 +1142,7 @@ public class XMLEntityScanner implements XMLLocator {
int i=0;
for ( i = offset; i < fCurrentEntity.position; i++) {
fCurrentEntity.ch[i] = '\n';
- whiteSpaceLookup[whiteSpaceLen++]=i;
+ storeWhiteSpace(i);
}
int length = fCurrentEntity.position - offset;
@@ -1163,27 +1163,18 @@ public class XMLEntityScanner implements XMLLocator {
}
// scan literal value
- while (fCurrentEntity.position < fCurrentEntity.count) {
- c = fCurrentEntity.ch[fCurrentEntity.position++];
+ for (; fCurrentEntity.position<fCurrentEntity.count; fCurrentEntity.position++) {
+ c = fCurrentEntity.ch[fCurrentEntity.position];
if ((c == quote &&
- (!fCurrentEntity.literal || isExternal))
- || c == '%' || !XMLChar.isContent(c)) {
- fCurrentEntity.position--;
+ (!fCurrentEntity.literal || isExternal)) ||
+ c == '%' || !XMLChar.isContent(c)) {
break;
}
- if(whiteSpaceInfoNeeded){
- if(c == 0x20 || c == 0x9){
- if(whiteSpaceLen < whiteSpaceLookup.length){
- whiteSpaceLookup[whiteSpaceLen++]= fCurrentEntity.position-1;
- }else{
- int [] tmp = new int[whiteSpaceLookup.length*2];
- System.arraycopy(whiteSpaceLookup,0,tmp,0,whiteSpaceLookup.length);
- whiteSpaceLookup = tmp;
- whiteSpaceLookup[whiteSpaceLen++]= fCurrentEntity.position - 1;
- }
- }
+ if (whiteSpaceInfoNeeded && c == '\t') {
+ storeWhiteSpace(fCurrentEntity.position);
}
}
+
int length = fCurrentEntity.position - offset;
fCurrentEntity.columnNumber += length - newlines;
content.setValues(fCurrentEntity.ch, offset, length);
@@ -1209,6 +1200,24 @@ public class XMLEntityScanner implements XMLLocator {
} // scanLiteral(int,XMLString):int
+ /**
+ * Save whitespace information. Increase the whitespace buffer by 100
+ * when needed.
+ *
+ * For XML 1.0, legal characters below 0x20 are 0x09 (TAB), 0x0A (LF) and 0x0D (CR).
+ *
+ * @param whiteSpacePos position of a whitespace in the scanner entity buffer
+ */
+ private void storeWhiteSpace(int whiteSpacePos) {
+ if (whiteSpaceLen >= whiteSpaceLookup.length) {
+ int [] tmp = new int[whiteSpaceLookup.length + 100];
+ System.arraycopy(whiteSpaceLookup, 0, tmp, 0, whiteSpaceLookup.length);
+ whiteSpaceLookup = tmp;
+ }
+
+ whiteSpaceLookup[whiteSpaceLen++] = whiteSpacePos;
+ }
+
//CHANGED:
/**
* Scans a range of character data up to the specified delimiter,
diff --git a/src/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java b/src/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java
index f658d09..66b8179 100644
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java
+++ b/src/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
diff --git a/src/com/sun/org/apache/xerces/internal/impl/XMLScanner.java b/src/com/sun/org/apache/xerces/internal/impl/XMLScanner.java
index 70de786..0cb44b2 100644
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLScanner.java
+++ b/src/com/sun/org/apache/xerces/internal/impl/XMLScanner.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*