You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by lu...@apache.org on 2003/01/27 19:10:48 UTC
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/xmlparser XMLEncodingDetector.java XercesEncodingDetector.java
luehe 2003/01/27 10:10:48
Modified: jasper2/src/share/org/apache/jasper/compiler PageInfo.java
ParserController.java Validator.java
jasper2/src/share/org/apache/jasper/resources
messages.properties messages_es.properties
messages_fr.properties messages_ja.properties
jasper2/src/share/org/apache/jasper/xmlparser
XMLEncodingDetector.java
XercesEncodingDetector.java
Log:
Fixed 16127 ("Seems to be a problem doing a static include of content
when using a different charset.")
In addition, the presence of an XML prolog no longer implies a JSP
document, as it may actually be used with standard syntax to produce
an XML-formatted result (in which case Jasper must treat the XML
prolog as template text).
Revision Changes Path
1.17 +3 -18 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/PageInfo.java
Index: PageInfo.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/PageInfo.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- PageInfo.java 8 Nov 2002 19:55:47 -0000 1.16
+++ PageInfo.java 27 Jan 2003 18:10:47 -0000 1.17
@@ -89,13 +89,6 @@
private String errorPage = null;
private String pageEncoding = null;
- /*
- * Auto-detected encoding, or encoding specified in XML prolog
- * (declaration).
- * Only meaningful for XML documents.
- */
- private String xmlPrologEncoding = null;
-
private int maxTagNesting = 0;
private boolean scriptless = false;
private boolean scriptingInvalid = false;
@@ -233,14 +226,6 @@
return pageEncoding;
}
- public void setXmlPrologEncoding(String xmlPrologEncoding) {
- this.xmlPrologEncoding = xmlPrologEncoding;
- }
-
- public String getXmlPrologEncoding() {
- return xmlPrologEncoding;
- }
-
public int getMaxTagNesting() {
return maxTagNesting;
}
1.30 +97 -54 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ParserController.java
Index: ParserController.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ParserController.java,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- ParserController.java 22 Jan 2003 20:08:24 -0000 1.29
+++ ParserController.java 27 Jan 2003 18:10:47 -0000 1.30
@@ -67,12 +67,10 @@
/**
* Controller for the parsing of a JSP page.
* <p>
- * A translation unit (JSP source file and any files included via the
- * include directive) may involve the processing of JSP pages
- * written with different syntaxes (currently the original JSP syntax,
- * as well as the XML syntax (as of JSP 1.2)). This class encapsulates
- * the behavior related to the selection and invocation of
- * the proper parser.
+ * The same ParserController instance is used for a JSP page and any JSP
+ * segments included by it (via an include directive), where each segment may
+ * be provided in standard or XML syntax. This class selects and invokes the
+ * appropriate parser for the JSP page and its included segments.
*
* @author Pierre Delisle
* @author Jan Luehe
@@ -110,6 +108,8 @@
*/
private boolean isTopFile = true;
+ private String sourceEnc;
+
/*
* Constructor
*/
@@ -196,9 +196,27 @@
// Figure out what type of JSP document and encoding type we are
// dealing with
- String encoding = figureOutJspDocument(absFileName, jarFile);
+ figureOutJspDocument(absFileName, jarFile);
if (isTopFile) {
+ if (isXml) {
+ // Make sure the encoding determined from the XML prolog
+ // matches that in the JSP config element, if present
+ String jspConfigPageEnc = pageInfo.getPageEncoding();
+ if (jspConfigPageEnc != null
+ && !jspConfigPageEnc.equals(sourceEnc)) {
+ err.jspError("jsp.error.prolog_config_encoding_mismatch",
+ sourceEnc, jspConfigPageEnc);
+ }
+ // override the encoding that may have been set from JSP config
+ // info (in Compiler.generateJava()), since that applies to
+ // standard syntax only
+ pageInfo.setPageEncoding(sourceEnc);
+ } else {
+ if (pageInfo.getPageEncoding() == null) {
+ pageInfo.setPageEncoding(sourceEnc);
+ }
+ }
pageInfo.setIsXml(isXml);
isTopFile = false;
} else {
@@ -207,8 +225,18 @@
// Dispatch to the proper parser
if (isXml) {
+ // JSP document (XML syntax)
InputStream inStream = null;
try {
+ // XXX Files included using the include directive must be read
+ // using the character encoding of the including page.
+ // However, I am wondering how to implement this if an
+ // included JSP document contains its own XML prolog. Since
+ // we're handing the included JSP document off to the XML
+ // (e.g., SAX) parser, we have no control over how it's parsed:
+ // the parser will determine the encoding from the XML prolog
+ // on its own, and use it. We can't tell the parser to use
+ // a different encoding.
inStream = JspUtil.getInputStream(absFileName, jarFile, ctxt,
err);
parsedPage = JspDocumentParser.parse(this, absFileName,
@@ -224,12 +252,21 @@
}
}
} else {
+ // Standard syntax
InputStreamReader inStreamReader = null;
try {
- inStreamReader = JspUtil.getReader(absFileName, encoding,
- jarFile, ctxt, err);
- JspReader jspReader = new JspReader(ctxt, absFileName,
- encoding, inStreamReader,
+ // Files included using the include directive must be read
+ // using the character encoding of the including page, which is
+ // the encoding returned by pageInfo.getPageEncoding().
+ inStreamReader = JspUtil.getReader(absFileName,
+ pageInfo.getPageEncoding(),
+ jarFile,
+ ctxt,
+ err);
+ JspReader jspReader = new JspReader(ctxt,
+ absFileName,
+ pageInfo.getPageEncoding(),
+ inStreamReader,
err);
parsedPage = Parser.parse(this, jspReader, parent, isTagFile,
directivesOnly, jarFile);
@@ -261,30 +298,32 @@
*
* If these properties are already specified in the jsp-config element
* in web.xml, then they are used.
- *
- * @return The source encoding
*/
- private String figureOutJspDocument(String fname, JarFile jarFile)
+ private void figureOutJspDocument(String fname, JarFile jarFile)
throws JasperException, IOException {
- boolean isXmlFound = false;
+ // 'true' if the syntax of the page (XML or standard) is identified by
+ // external information: either via a JSP configuration element or
+ // the ".jspx" suffix
+ boolean isExternal = false;
isXml = false;
if (pageInfo.isXmlSpecified()) {
// If <is-xml> is specified in a <jsp-property-group>, it is used.
isXml = pageInfo.isXml();
- isXmlFound = true;
+ isExternal = true;
} else if (fname.endsWith(".jspx")) {
isXml = true;
- isXmlFound = true;
+ isExternal = true;
}
- String sourceEnc = null;
- if (isXmlFound && !isXml) {
+ if (isExternal && !isXml) {
// JSP syntax
if (pageInfo.getPageEncoding() != null) {
- // encoding specified in jsp-config (used only by JSP syntax)
- return pageInfo.getPageEncoding();
+ // Encoding specified in jsp-config (used by standard syntax
+ // only)
+ sourceEnc = pageInfo.getPageEncoding();
+ return;
} else {
// We don't know the encoding
sourceEnc = "ISO-8859-1";
@@ -294,45 +333,46 @@
Object[] ret = XMLEncodingDetector.getEncoding(fname, jarFile,
ctxt, err);
sourceEnc = (String) ret[0];
- boolean isEncodingSetInProlog = ((Boolean) ret[1]).booleanValue();
- if (isEncodingSetInProlog) {
- // Prolog present only in XML syntax
- isXml = true;
- if (isTopFile) {
- String jspConfigPageEnc = pageInfo.getPageEncoding();
- if (jspConfigPageEnc != null
- && !jspConfigPageEnc.equals(sourceEnc)) {
- err.jspError(
- "jsp.error.page.prolog_config_encoding_conflict",
- sourceEnc, jspConfigPageEnc);
- }
- pageInfo.setXmlPrologEncoding(sourceEnc);
- }
- } else if (sourceEnc.equals("UTF-8")) {
+ boolean isFallback = ((Boolean) ret[1]).booleanValue();
+ if (isFallback) {
/*
- * We don't know if we're dealing with an XML document
- * unless isXml is true, but even if isXml is true, we don't
- * know if we're dealing with a JSP document that satisfies
- * the encoding auto-detection rules (the JSP document may not
- * have an XML prolog and start with <jsp:root ...>).
+ * Page does not have any XML prolog, or contains an XML
+ * prolog that is being used as template text (in standard
+ * syntax). This means that the page's encoding cannot be
+ * determined from the 'encoding' attribute of an XML prolog,
+ * or autodetected from an XML prolog.
+ *
* We need to be careful, because the page may be encoded in
* ISO-8859-1 (or something entirely different), and may
* contain byte sequences that will cause a UTF-8 converter to
* throw exceptions.
+ *
* It is safe to use a source encoding of ISO-8859-1 in this
* case, as there are no invalid byte sequences in ISO-8859-1,
- * and the byte/character sequences we're looking for are
- * identical in either encoding (both UTF-8 and ISO-8859-1 are
- * extensions of ASCII).
+ * and the byte/character sequences we're looking for (i.e.,
+ * <jsp:root>) are identical in either encoding (both UTF-8
+ * and ISO-8859-1 are extensions of ASCII).
*/
sourceEnc = "ISO-8859-1";
}
}
if (isXml) {
- return sourceEnc;
+ // (This implies 'isExternal' is TRUE.)
+ // We know we're dealing with a JSP document (via JSP config or
+ // ".jspx" suffix), so we're done.
+ return;
}
+ /*
+ * At this point, 'isExternal' or 'isXml' is FALSE.
+ * Search for jsp:root action, in order to determine if we're dealing
+ * with XML or standard syntax (unless we already know what we're
+ * dealing with, i.e., when 'isExternal' is TRUE and 'isXml' is FALSE).
+ * No check for XML prolog, since nothing prevents a page from
+ * outputting XML and still using JSP syntax (in this case, the
+ * XML prolog is treated as template text).
+ */
JspReader jspReader = null;
try {
jspReader = new JspReader(ctxt, fname, sourceEnc, jarFile, err);
@@ -341,27 +381,30 @@
}
jspReader.setSingleFile(true);
Mark startMark = jspReader.mark();
-
- if (!isXmlFound) {
- // Check for the jsp:root tag
- // No check for xml prolog, since nothing prevents a page
- // to output XML and still use JSP syntax.
+ if (!isExternal) {
jspReader.reset(startMark);
Mark mark = jspReader.skipUntil(JSP_ROOT_TAG);
if (mark != null) {
isXml = true;
- return sourceEnc;
+ return;
} else {
isXml = false;
}
}
- // At this point we know it's JSP syntax ...
+ /*
+ * At this point, we know we're dealing with JSP syntax.
+ * If an XML prolog is provided, it's treated as template text.
+ * Determine the page encoding from the page directive, unless it's
+ * specified via JSP config.
+ */
if (pageInfo.getPageEncoding() != null) {
- return pageInfo.getPageEncoding();
+ sourceEnc = pageInfo.getPageEncoding();
} else {
- return getSourceEncodingForJspSyntax(jspReader, startMark);
+ sourceEnc = getSourceEncodingForJspSyntax(jspReader, startMark);
}
+
+ return;
}
/*
1.69 +16 -27 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java
Index: Validator.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- Validator.java 22 Jan 2003 20:08:24 -0000 1.68
+++ Validator.java 27 Jan 2003 18:10:47 -0000 1.69
@@ -94,7 +94,6 @@
private PageInfo pageInfo;
private ErrorDispatcher err;
- JspConfig.JspProperty jspProperty;
private static final JspUtil.ValidAttribute[] pageDirectiveAttrs = {
new JspUtil.ValidAttribute("language"),
@@ -131,10 +130,6 @@
this.pageInfo = compiler.getPageInfo();
this.err = compiler.getErrorDispatcher();
JspCompilationContext ctxt = compiler.getCompilationContext();
- JspConfig jspConfig = ctxt.getOptions().getJspConfig();
- if (jspConfig != null) {
- this.jspProperty = jspConfig.findJspProperty(ctxt.getJspFile());
- }
}
public void visit(Node.PageDirective n) throws JasperException {
@@ -263,28 +258,22 @@
* a JSP configuration element (whose URL pattern matches
* the page).
* At this point, we've already verified (in
- * ParserController.figureOutJspDocument()) that the page
- * character encodings specified in a JSP config element
- * and XML prolog match.
+ * ParserController.parse()) that the page character
+ * encodings specified in a JSP config element and XML
+ * prolog match.
*/
- String compareEnc = null;
- if (jspProperty != null) {
- compareEnc = jspProperty.getPageEncoding();
- if (compareEnc != null && !compareEnc.equals(value)) {
- err.jspError(
- n, "jsp.error.page.config_pagedir_encoding_conflict",
- compareEnc, value);
+ String compareEnc = pageInfo.getPageEncoding();
+ if (!value.equals(compareEnc)) {
+ if (pageInfo.isXml()) {
+ err.jspError(n,
+ "jsp.error.prolog_pagedir_encoding_mismatch",
+ compareEnc, value);
+ } else {
+ err.jspError(n,
+ "jsp.error.config_pagedir_encoding_mismatch",
+ compareEnc, value);
}
}
- if (compareEnc == null) {
- compareEnc = pageInfo.getXmlPrologEncoding();
- if (compareEnc != null && !compareEnc.equals(value)) {
- err.jspError(
- n, "jsp.error.page.prolog_pagedir_encoding_conflict",
- compareEnc, value);
- }
- }
- pageInfo.setPageEncoding(value);
}
}
1.84 +4 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties
Index: messages.properties
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -r1.83 -r1.84
--- messages.properties 22 Jan 2003 21:06:45 -0000 1.83
+++ messages.properties 27 Jan 2003 18:10:47 -0000 1.84
@@ -306,9 +306,9 @@
jsp.error.not.in.template={0} not allowed in a template text body.
jsp.error.badStandardAction=The action is not a recognizable standard action.
jsp.error.tagdirective.badbodycontent=Invalid body-content ({0}) in tag directive
-jsp.error.page.config_pagedir_encoding_conflict=Page-encoding specified in jsp-property-group ({0}) is different from that specified in page directive ({1})
-jsp.error.page.prolog_pagedir_encoding_conflict=Page-encoding specified in XML prolog ({0}) is different from that specified in page directive ({1})
-jsp.error.page.prolog_config_encoding_conflict=Page-encoding specified in XML prolog ({0}) is different from that specified in jsp-property-group ({1})
+jsp.error.config_pagedir_encoding_mismatch=Page-encoding specified in jsp-property-group ({0}) is different from that specified in page directive ({1})
+jsp.error.prolog_pagedir_encoding_mismatch=Page-encoding specified in XML prolog ({0}) is different from that specified in page directive ({1})
+jsp.error.prolog_config_encoding_mismatch=Page-encoding specified in XML prolog ({0}) is different from that specified in jsp-property-group ({1})
jsp.error.attribute.custom.non_rt_with_expr=According to TLD, attribute {0} does not accept any expressions
jsp.error.attribute.standard.non_rt_with_expr=The {0} attribute of the {1} standard action does not accept any expressions
jsp.error.scripting.variable.missing_name=Unable to determine scripting variable name from attribute {0}
1.30 +4 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_es.properties
Index: messages_es.properties
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_es.properties,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- messages_es.properties 22 Jan 2003 20:08:24 -0000 1.29
+++ messages_es.properties 27 Jan 2003 18:10:47 -0000 1.30
@@ -216,9 +216,9 @@
jsp.warning.bad.urlpattern.propertygroup=
jsp.error.jspelement.missing.name=
jsp.error.tagdirective.badbodycontent=
-jsp.error.page.config_pagedir_encoding_conflict=
-jsp.error.page.prolog_pagedir_encoding_conflict=
-jsp.error.page.prolog_config_encoding_conflict=
+jsp.error.config_pagedir_encoding_mismatch=
+jsp.error.prolog_pagedir_encoding_mismatch=
+jsp.error.prolog_config_encoding_mismatch=
jsp.error.attribute.custom.non_rt_with_expr=
jsp.error.scripting.variable.missing_name=
jasper.error.emptybodycontent.nonempty=
1.13 +4 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_fr.properties
Index: messages_fr.properties
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_fr.properties,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- messages_fr.properties 22 Jan 2003 20:08:24 -0000 1.12
+++ messages_fr.properties 27 Jan 2003 18:10:47 -0000 1.13
@@ -288,9 +288,9 @@
jsp.error.not.in.template={0} n''est pas autoris� dans le corps de texte de template.
jsp.error.badStandardAction=L''action n''est pas reconnue comme une action standard.
jsp.error.tagdirective.badbodycontent=Contenu de corps (body-content) ({0}) invalide dans la directive tag
-jsp.error.page.config_pagedir_encoding_conflict=L''encode de page (Page-encoding) indiqu� dans le jsp-property-group ({0}) est diff�rent de celui indiqu� dans la directive de page ({1})
-jsp.error.page.prolog_pagedir_encoding_conflict=
-jsp.error.page.prolog_config_encoding_conflict=
+jsp.error.config_pagedir_encoding_mismatch=L''encode de page (Page-encoding) indiqu� dans le jsp-property-group ({0}) est diff�rent de celui indiqu� dans la directive de page ({1})
+jsp.error.prolog_pagedir_encoding_mismatch=
+jsp.error.prolog_config_encoding_mismatch=
jsp.error.attribute.custom.non_rt_with_expr=D''apr�s la TLD, l''attribut {0} n''accepte aucune expression
jsp.error.scripting.variable.missing_name=Incapable de d�terminer le nom de variable scripting d''apr�s l''attribut {0}
jasper.error.emptybodycontent.nonempty=D''apr�s la TLD, le tag {0} doit �tre vide, mais ne l''est pas
1.30 +4 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_ja.properties
Index: messages_ja.properties
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages_ja.properties,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- messages_ja.properties 22 Jan 2003 20:08:24 -0000 1.29
+++ messages_ja.properties 27 Jan 2003 18:10:47 -0000 1.30
@@ -247,9 +247,9 @@
jsp.warning.bad.urlpattern.propertygroup=
jsp.error.jspelement.missing.name=
jsp.error.tagdirective.badbodycontent=
-jsp.error.page.config_pagedir_encoding_conflict=
-jsp.error.page.prolog_pagedir_encoding_conflict=
-jsp.error.page.prolog_config_encoding_conflict=
+jsp.error.config_pagedir_encoding_mismatch=
+jsp.error.prolog_pagedir_encoding_mismatch=
+jsp.error.prolog_config_encoding_mismatch=
jsp.error.attribute.custom.non_rt_with_expr=
jsp.error.scripting.variable.missing_name=
jasper.error.emptybodycontent.nonempty=
1.4 +6 -6 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/xmlparser/XMLEncodingDetector.java
Index: XMLEncodingDetector.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/xmlparser/XMLEncodingDetector.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- XMLEncodingDetector.java 9 Jan 2003 17:43:15 -0000 1.3
+++ XMLEncodingDetector.java 27 Jan 2003 18:10:48 -0000 1.4
@@ -90,21 +90,21 @@
{
XMLEncodingDetector detector=null;
try {
- Class.forName( "org.apache.xerces.util.SymbolTable");
+ Class.forName("org.apache.xerces.util.SymbolTable");
Class detectorClass=Class.forName("org.apache.jasper.xmlparser.XercesEncodingDetector");
- detector=(XMLEncodingDetector)detectorClass.newInstance();
+ detector = (XMLEncodingDetector) detectorClass.newInstance();
} catch(Exception ex ) {
- detector=new XMLEncodingDetector();
+ detector = new XMLEncodingDetector();
}
return detector.getEncodingMethod(fname, jarFile, ctxt, err);
}
public Object[] getEncodingMethod(String fname, JarFile jarFile,
- JspCompilationContext ctxt,
- ErrorDispatcher err)
+ JspCompilationContext ctxt,
+ ErrorDispatcher err)
throws IOException, JasperException
{
- Object result[]=new Object[]{ "UTF8", new Boolean(false) };
+ Object result[] = new Object[] { "UTF8", new Boolean(true) };
return result;
}
}
1.4 +11 -7 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/xmlparser/XercesEncodingDetector.java
Index: XercesEncodingDetector.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/xmlparser/XercesEncodingDetector.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- XercesEncodingDetector.java 22 Jan 2003 20:08:25 -0000 1.3
+++ XercesEncodingDetector.java 27 Jan 2003 18:10:48 -0000 1.4
@@ -80,7 +80,7 @@
private InputStream stream;
private String encoding;
- private boolean isEncodingSetInProlog;
+ private boolean isFallback;
private Boolean isBigEndian;
private Reader reader;
@@ -134,10 +134,10 @@
* @param err The error dispatcher
*
* @return Two-element array, where the first element (of type
- * java.lang.String) contains the name of the autodetected encoding, and
- * the second element (of type java.lang.Boolean) specifies whether the
- * encoding was specified by the encoding attribute of an XML declaration
- * (prolog).
+ * java.lang.String) contains the name of the (auto)detected encoding,
+ * and the second element specifies whether the default encoding
+ * (UTF-8) is being used as a fallback (because no encoding could be
+ * detected).
*/
public Object[] getEncoding(InputStream in, ErrorDispatcher err)
throws IOException, JasperException
@@ -149,7 +149,7 @@
detector.scanXMLDecl();
return new Object[] { detector.encoding,
- new Boolean(detector.isEncodingSetInProlog) };
+ new Boolean(detector.isFallback) };
}
public Object[] getEncodingMethod(String fname, JarFile jarFile,
@@ -319,6 +319,7 @@
private Object[] getEncodingName(byte[] b4, int count) {
if (count < 2) {
+ isFallback = true;
return new Object[]{"UTF-8", null};
}
@@ -337,6 +338,7 @@
// default to UTF-8 if we don't have enough bytes to make a
// good determination of the encoding
if (count < 3) {
+ isFallback = true;
return new Object [] {"UTF-8", null};
}
@@ -349,6 +351,7 @@
// default to UTF-8 if we don't have enough bytes to make a
// good determination of the encoding
if (count < 4) {
+ isFallback = true;
return new Object [] {"UTF-8", null};
}
@@ -390,6 +393,7 @@
}
// default encoding
+ isFallback = true;
return new Object [] {"UTF-8", null};
}
@@ -1302,7 +1306,7 @@
// set encoding on reader
if (encodingPseudoAttr != null) {
- isEncodingSetInProlog = true;
+ isFallback = false;
encoding = encodingPseudoAttr;
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>