A StaticContext contains the information needed while an expression or pattern
is being parsed. The information is also sometimes needed at run-time.
bindVariable
public VariableReference bindVariable(StructuredQName qName)
throws XPathException
Bind a variable used in this element to the XSLVariable element in which it is declared
qName
- The name of the variable
- a VariableReference representing the variable reference, suitably initialized
to refer to the corresponding variable declaration
getBaseURI
public String getBaseURI()
Get the Base URI of the stylesheet element, for resolving any relative URI's used
in the expression.
Used by the document(), doc(), resolve-uri(), and base-uri() functions.
May return null if the base URI is not known.
- the static base URI, or null if not known
getCollation
public StringCollator getCollation(String name)
Get a named collation.
name
- The name of the required collation. Supply null to get the default collation.
- the collation; or null if the required collation is not found.
getConfiguration
public Configuration getConfiguration()
Get the system configuration
getDefaultCollationName
public String getDefaultCollationName()
Get the name of the default collation.
- the name of the default collation; or the name of the codepoint collation
if no default collation has been defined
getDefaultElementNamespace
public String getDefaultElementNamespace()
Get the default XPath namespace for elements and types
- the default namespace, or NamespaceConstant.NULL for the non-namespace
getDefaultFunctionNamespace
public String getDefaultFunctionNamespace()
Get the default function namespace
- the default namespace for function names
getFunctionLibrary
public FunctionLibrary getFunctionLibrary()
Get the function library containing all the in-scope functions available in this static
context
getImportedSchemaNamespaces
public Set getImportedSchemaNamespaces()
Get the set of imported schemas
- a Set, the set of URIs representing the names of imported schemas
getLineNumber
public int getLineNumber()
Get the line number of the expression within its containing entity
Returns -1 if no line number is available
- the line number, or -1 if not available
getLocationMap
public LocationMap getLocationMap()
Get the location map. This is a mapping from short location ids held with each expression or
subexpression, to a fully-resolved location in a source stylesheet or query.
getNamePool
public NamePool getNamePool()
Get the NamePool used for compiling expressions
getNamespaceResolver
public NamespaceResolver getNamespaceResolver()
Get a namespace resolver to resolve the namespaces declared in this static context.
getSystemId
public String getSystemId()
Get the System ID of the container of the expression. This is the containing
entity (file) and is therefore useful for diagnostics. Use getBaseURI() to get
the base URI, which may be different.
getURIForPrefix
public String getURIForPrefix(String prefix)
throws XPathException
Get the URI for a namespace prefix. The default namespace is NOT used
when the prefix is empty.
prefix
- The namespace prefix.
- the corresponding namespace URI
isAllowedBuiltInType
public boolean isAllowedBuiltInType(BuiltInAtomicType type)
Determine whether a built-in type is available in this context. This method caters for differences
between host languages as to which set of types are built in.
type
- the supposedly built-in type. This will always be a type in the
XS or XDT namespace.
- true if this type can be used in this static context
isImportedSchema
public boolean isImportedSchema(String namespace)
Determine whether a Schema for a given target namespace has been imported. Note that the
in-scope element declarations, attribute declarations and schema types are the types registered
with the (schema-aware) configuration, provided that their namespace URI is registered
in the static context as being an imported schema namespace. (A consequence of this is that
within a Configuration, there can only be one schema for any given namespace, including the
null namespace).
namespace
- the target namespace in question
- true if the given namespace has been imported
isInBackwardsCompatibleMode
public boolean isInBackwardsCompatibleMode()
Determine whether Backwards Compatible Mode is used
- true if running in XPath 1.0 compatibility mode
issueWarning
public void issueWarning(String message,
SourceLocator locator)
Issue a compile-time warning.
message
- The warning message. This should not contain any prefix such as "Warning".locator
- the location of the construct in question. May be null.
makeEarlyEvaluationContext
public XPathContext makeEarlyEvaluationContext()
Construct a dynamic context for early evaluation of constant subexpressions.
- a newly constructed dynamic context