Package 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.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) static void
checkSchemaNamespaceImported(StaticQueryContext env, int fingerprint, Declaration declaration)
Check that the namespace of a given name is the namespace of an imported schemastatic java.lang.String
readEncoding(java.io.InputStream is)
Read an input stream non-destructively to determine the encoding from the Query Prologstatic java.lang.String
readInputStream(java.io.InputStream is, java.lang.String encoding, NameChecker nameChecker)
Read a query from an InputStream.static java.lang.String
readSourceQuery(javax.xml.transform.stream.StreamSource ss, NameChecker nameChecker)
Read a query module given a StreamSource
-
-
-
Method Detail
-
readSourceQuery
public static java.lang.String readSourceQuery(javax.xml.transform.stream.StreamSource ss, NameChecker nameChecker) throws StaticError
Read a query module given a StreamSource- Parameters:
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.- Throws:
StaticError
-
readEncoding
public static java.lang.String readEncoding(java.io.InputStream is) throws StaticError
Read an input stream non-destructively to determine the encoding from the Query Prolog- Parameters:
is
- the input stream: this must satisfy the precondition is.markSupported() = true.- Returns:
- the encoding to be used: defaults to UTF-8 if no encoding was specified explicitly in the query prolog
- Throws:
StaticError
- if the input stream cannot be read
-
readInputStream
public static java.lang.String readInputStream(java.io.InputStream is, java.lang.String encoding, NameChecker nameChecker) throws StaticError
Read a query from an InputStream. The method checks that all characters are valid XML characters, and also performs normalization of line endings.- Parameters:
is
- the input streamencoding
- the encoding, or null if the encoding is unknownnameChecker
- the nameChecker to be used for checking characters- Returns:
- the content of the InputStream as a string
- Throws:
StaticError
-
checkSchemaNamespaceImported
static void checkSchemaNamespaceImported(StaticQueryContext env, int fingerprint, Declaration declaration) throws StaticError
Check that the namespace of a given name is the namespace of an imported schema- Throws:
StaticError
-
-