[prev in list] [next in list] [prev in thread] [next in thread]
List: xerces-cvs
Subject: svn commit: r581481 -
From: mrglavas () apache ! org
Date: 2007-10-03 3:01:33
Message-ID: 20071003030133.A7ABB1A9832 () eris ! apache ! org
[Download RAW message or body]
Author: mrglavas
Date: Tue Oct 2 20:01:32 2007
New Revision: 581481
URL: http://svn.apache.org/viewvc?rev=581481&view=rev
Log:
Plugging the new UTF16Reader into the XInclude text reader and doing a bit of \
re-factoring.
Modified:
xerces/java/trunk/src/org/apache/xerces/xinclude/XIncludeTextReader.java
Modified: xerces/java/trunk/src/org/apache/xerces/xinclude/XIncludeTextReader.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/xinclude/XIncludeTextReader.java?rev=581481&r1=581480&r2=581481&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/xinclude/XIncludeTextReader.java \
(original)
+++ xerces/java/trunk/src/org/apache/xerces/xinclude/XIncludeTextReader.java Tue Oct \
2 20:01:32 2007 @@ -33,6 +33,7 @@
import org.apache.xerces.impl.XMLErrorReporter;
import org.apache.xerces.impl.io.ASCIIReader;
import org.apache.xerces.impl.io.Latin1Reader;
+import org.apache.xerces.impl.io.UTF16Reader;
import org.apache.xerces.impl.io.UTF8Reader;
import org.apache.xerces.impl.msg.XMLMessageFormatter;
import org.apache.xerces.util.EncodingMap;
@@ -224,15 +225,17 @@
// eat the Byte Order Mark
encoding = consumeBOM(stream, encoding);
- // If the document is UTF-8 or US-ASCII use
- // the Xerces readers for these encodings. For
- // US-ASCII consult the encoding map since
- // this encoding has many aliases.
+ // If the document is UTF-8, UTF-16, US-ASCII or ISO-8859-1 use
+ // the Xerces readers for these encodings. For US-ASCII and ISO-8859-1
+ // consult the encoding map since these encodings have many aliases.
if (encoding.equals("UTF-8")) {
- return new UTF8Reader(stream,
- fTempString.ch.length,
- \
fErrorReporter.getMessageFormatter(XMLMessageFormatter.XML_DOMAIN),
- fErrorReporter.getLocale() );
+ return createUTF8Reader(stream);
+ }
+ else if (encoding.equals("UTF-16BE")) {
+ return createUTF16Reader(stream, true);
+ }
+ else if (encoding.equals("UTF-16LE")) {
+ return createUTF16Reader(stream, false);
}
// Try to use a Java reader.
@@ -250,16 +253,43 @@
new Object[] {encoding} ) );
}
else if (javaEncoding.equals("ASCII")) {
- return new ASCIIReader(stream,
- fTempString.ch.length,
- \
fErrorReporter.getMessageFormatter(XMLMessageFormatter.XML_DOMAIN),
- fErrorReporter.getLocale() );
+ return createASCIIReader(stream);
}
else if (javaEncoding.equals("ISO8859_1")) {
- return new Latin1Reader(stream, fTempString.ch.length);
+ return createLatin1Reader(stream);
}
return new InputStreamReader(stream, javaEncoding);
}
+ }
+
+ /** Create a new UTF-8 reader from the InputStream. **/
+ private Reader createUTF8Reader(InputStream stream) {
+ return new UTF8Reader(stream,
+ fTempString.ch.length,
+ fErrorReporter.getMessageFormatter(XMLMessageFormatter.XML_DOMAIN),
+ fErrorReporter.getLocale());
+ }
+
+ /** Create a new UTF-16 reader from the InputStream. **/
+ private Reader createUTF16Reader(InputStream stream, boolean isBigEndian) {
+ return new UTF16Reader(stream,
+ (fTempString.ch.length << 1),
+ isBigEndian,
+ fErrorReporter.getMessageFormatter(XMLMessageFormatter.XML_DOMAIN),
+ fErrorReporter.getLocale());
+ }
+
+ /** Create a new ASCII reader from the InputStream. **/
+ private Reader createASCIIReader(InputStream stream) {
+ return new ASCIIReader(stream,
+ fTempString.ch.length,
+ fErrorReporter.getMessageFormatter(XMLMessageFormatter.XML_DOMAIN),
+ fErrorReporter.getLocale());
+ }
+
+ /** Create a new ISO-8859-1 reader from the InputStream. **/
+ private Reader createLatin1Reader(InputStream stream) {
+ return new Latin1Reader(stream, fTempString.ch.length);
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic