net.sf.saxon.query
Class QueryReader
java.lang.Object
net.sf.saxon.query.QueryReader
public class QueryReader
extends java.lang.Object
This class contains static methods used to read a query as a byte stream, infer the encoding if
necessary, and return the text of the query as a string; also methods to import functions and variables
from one module into another, and check their consistency.
static String | readEncoding(InputStream is) - Read an input stream non-destructively to determine the encoding from the Query Prolog
|
static String | readInputStream(InputStream is, String encoding, NameChecker nameChecker) - Read a query from an InputStream.
|
static String | readSourceQuery(StreamSource ss, NameChecker nameChecker) - Read a query module given a StreamSource
|
readEncoding
public static String readEncoding(InputStream is)
throws XPathException
Read an input stream non-destructively to determine the encoding from the Query Prolog
is
- the input stream: this must satisfy the precondition is.markSupported() = true.
- the encoding to be used: defaults to UTF-8 if no encoding was specified explicitly
in the query prolog
readInputStream
public static String readInputStream(InputStream is,
String encoding,
NameChecker nameChecker)
throws XPathException
Read a query from an InputStream. The method checks that all characters are valid XML
characters, and also performs normalization of line endings.
is
- the input streamencoding
- the encoding, or null if the encoding is unknownnameChecker
- the nameChecker to be used for checking characters
- the content of the InputStream as a string
readSourceQuery
public static String readSourceQuery(StreamSource ss,
NameChecker nameChecker)
throws XPathException
Read a query module given a StreamSource
ss
- the supplied StreamSource. This must contain a non-null systemID which defines the base
URI of the query module, and either an InputStream or a Reader containing the query text. In the
case of an InputStream the method attempts to infer the encoding; in the case of a Reader, this has
already been done, and the encoding specified within the query itself is ignored.
The method reads from the InputStream or Reader contained in the StreamSource up to the end
of file unless a fatal error occurs. It does not close the InputStream or Reader; this is the caller's
responsibility.nameChecker
- this checks XML names against either the XML 1.0 or XML 1.1 rules