bundles/org.apache.jasper.glassfish/src/org/apache/jasper/xmlparser/XMLEncodingDetector.java
public static Object[] getEncoding(String fname, JarFile jarFile,
                                       JspCompilationContext ctxt,
                                       ErrorDispatcher err)
        throws IOException, JasperException
    {
        InputStream inStream = JspUtil.getInputStream(fname, jarFile, ctxt,
                                                      err);
        XMLEncodingDetector detector = new XMLEncodingDetector();
        Object[] ret = detector.getEncoding(inStream, err);
        inStream.close();

        return ret;
    }
public static Object[] getEncoding(String fname, JarFile jarFile,
                                       JspCompilationContext ctxt,
                                       ErrorDispatcher err)
        throws IOException, JasperException
    {
        InputStream inStream = JspUtil.getInputStream(fname, jarFile, ctxt,
                                                      err);
        XMLEncodingDetector detector = new XMLEncodingDetector();
        Object[] ret = detector.getEncoding(inStream, err);
        inStream.close();

        return ret;
    }
Autodetects the encoding of the XML document supplied by the given
input stream.

Encoding autodetection is done according to the XML 1.0 specification,
Appendix F.1: Detection Without External Encoding Information.

@return Two-element array, where the first element (of type
java.lang.String) contains the name of the (auto)detected encoding, and
the second element (of type java.lang.Boolean) specifies whether the
encoding was specified using the 'encoding' attribute of an XML prolog
(TRUE) or autodetected (FALSE).