public class IndependentContext extends java.lang.Object implements StaticContext, NamespaceResolver, java.io.Serializable
| Constructor and Description |
|---|
IndependentContext() |
IndependentContext(Configuration config)
Create an IndependentContext using a specific Configuration
|
| Modifier and Type | Method and Description |
|---|---|
VariableReference |
bindVariable(int fingerprint)
Bind a variable used in an XPath Expression to the XSLVariable element in which it is declared.
|
void |
clearAllNamespaces()
Clear all the declared namespaces, including the standard ones (xml, xslt, saxon).
|
void |
clearNamespaces()
Clear all the declared namespaces, except for the standard ones (xml, xslt, saxon, xdt).
|
IndependentContext |
copy()
Create a copy of this IndependentContext.
|
void |
declareCollation(java.lang.String name,
java.util.Comparator comparator,
boolean isDefault)
Declare a named collation
|
void |
declareNamespace(java.lang.String prefix,
java.lang.String uri)
Declare a namespace whose prefix can be used in expressions
|
Variable |
declareVariable(QNameValue qname)
Declare a variable.
|
Variable |
declareVariable(java.lang.String qname)
Declare a variable.
|
java.lang.String |
getBaseURI()
Get the Base URI of the stylesheet element, for resolving any relative URI's used
in the expression.
|
java.util.Comparator |
getCollation(java.lang.String name)
Get a named collation.
|
Configuration |
getConfiguration()
Get the system configuration
|
java.lang.String |
getDefaultCollationName()
Get the name of the default collation.
|
short |
getDefaultElementNamespace()
Get the default XPath namespace, as a namespace code that can be looked up in the NamePool
|
java.lang.String |
getDefaultFunctionNamespace()
Get the default function namespace
|
FunctionLibrary |
getFunctionLibrary()
Get the function library containing all the in-scope functions available in this static
context
|
java.util.Set |
getImportedSchemaNamespaces()
Get the set of imported schemas
|
int |
getLineNumber()
Get the line number of the expression within that container.
|
LocationMap |
getLocationMap()
Get the location map.
|
NamePool |
getNamePool()
Get the NamePool used for compiling expressions
|
NamespaceResolver |
getNamespaceResolver()
Get a namespace resolver to resolve the namespaces declared in this static context.
|
int |
getSlotNumber(QNameValue qname)
Get the slot number allocated to a particular variable
|
SlotManager |
getStackFrameMap()
Get the stack frame map containing the slot number allocations for the variables declared
in this static context
|
java.lang.String |
getSystemId()
Get the system ID of the container of the expression.
|
java.lang.String |
getURIForPrefix(java.lang.String prefix)
Get the URI for a prefix, using the declared namespaces as
the context for namespace resolution.
|
java.lang.String |
getURIForPrefix(java.lang.String prefix,
boolean useDefault)
Get the namespace URI corresponding to a given prefix.
|
boolean |
isAllowedBuiltInType(AtomicType type)
Determine whether a built-in type is available in this context.
|
boolean |
isImportedSchema(java.lang.String namespace)
Determine whether a Schema for a given target namespace has been imported.
|
boolean |
isInBackwardsCompatibleMode()
Determine whether Backwards Compatible Mode is used
|
void |
issueWarning(java.lang.String s,
javax.xml.transform.SourceLocator locator)
Issue a compile-time warning.
|
java.util.Iterator |
iteratePrefixes()
Get an iterator over all the prefixes declared in this namespace context.
|
XPathContext |
makeEarlyEvaluationContext()
Construct a dynamic context for early evaluation of constant subexpressions
|
void |
setBaseURI(java.lang.String baseURI)
Set the base URI in the static context
|
void |
setDefaultElementNamespace(java.lang.String uri)
Set the default namespace for elements and types
|
void |
setDefaultFunctionNamespace(java.lang.String uri)
Set the default function namespace
|
void |
setFunctionLibrary(FunctionLibrary lib)
Set the function library to be used
|
void |
setImportedSchemaNamespaces(java.util.Set namespaces) |
void |
setLocationMap(LocationMap locationMap) |
void |
setNamespaceResolver(NamespaceResolver resolver)
Set an external namespace resolver.
|
void |
setNamespaces(NodeInfo node)
Declares all the namespaces that are in-scope for a given node, removing all previous
namespace declarations.
|
public IndependentContext()
public IndependentContext(Configuration config)
public IndependentContext copy()
public Configuration getConfiguration()
getConfiguration in interface StaticContextpublic XPathContext makeEarlyEvaluationContext()
makeEarlyEvaluationContext in interface StaticContextpublic LocationMap getLocationMap()
StaticContextgetLocationMap in interface StaticContextpublic void setLocationMap(LocationMap locationMap)
public void declareNamespace(java.lang.String prefix,
java.lang.String uri)
prefix - The namespace prefix. Must not be null. Supplying "" sets the
default element namespace.uri - The namespace URI. Must not be null.public void clearNamespaces()
public void clearAllNamespaces()
public void setNamespaces(NodeInfo node)
node - The node whose in-scope namespaces are to be used as the context namespaces.
If the node is an attribute, text node, etc, then the namespaces of its parent element are used.public void setNamespaceResolver(NamespaceResolver resolver)
public void setBaseURI(java.lang.String baseURI)
public void declareCollation(java.lang.String name,
java.util.Comparator comparator,
boolean isDefault)
name - The name of the collation (technically, a URI)comparator - The Java Comparator used to implement the collating sequenceisDefault - True if this is to be used as the default collationpublic SlotManager getStackFrameMap()
public Variable declareVariable(QNameValue qname)
qname - The name of the variablepublic Variable declareVariable(java.lang.String qname) throws XPathException
qname - Lexical QName identifying the variable. The namespace prefix, if
any, must have been declared before this method is called, or must be resolvable
using the namespace context.XPathExceptionpublic int getSlotNumber(QNameValue qname)
public NamePool getNamePool()
getNamePool in interface StaticContextpublic void issueWarning(java.lang.String s,
javax.xml.transform.SourceLocator locator)
issueWarning in interface StaticContextpublic java.lang.String getSystemId()
getSystemId in interface StaticContextpublic java.lang.String getBaseURI()
getBaseURI in interface StaticContextpublic int getLineNumber()
getLineNumber in interface StaticContextpublic java.lang.String getURIForPrefix(java.lang.String prefix)
throws XPathException
getURIForPrefix in interface StaticContextprefix - The prefixXPathException - if the prefix is not declaredpublic NamespaceResolver getNamespaceResolver()
StaticContextgetNamespaceResolver in interface StaticContextpublic java.lang.String getURIForPrefix(java.lang.String prefix,
boolean useDefault)
getURIForPrefix in interface NamespaceResolverprefix - the namespace prefixuseDefault - true if the default namespace is to be used when the
prefix is ""public java.util.Iterator iteratePrefixes()
iteratePrefixes in interface NamespaceResolverpublic VariableReference bindVariable(int fingerprint) throws StaticError
bindVariable in interface StaticContextfingerprint - the name of the variableStaticErrorpublic FunctionLibrary getFunctionLibrary()
getFunctionLibrary in interface StaticContextpublic void setFunctionLibrary(FunctionLibrary lib)
public java.util.Comparator getCollation(java.lang.String name)
getCollation in interface StaticContextname - The name of the required collation. Supply null to get the default collation.public java.lang.String getDefaultCollationName()
getDefaultCollationName in interface StaticContextpublic short getDefaultElementNamespace()
getDefaultElementNamespace in interface StaticContextpublic void setDefaultElementNamespace(java.lang.String uri)
public void setDefaultFunctionNamespace(java.lang.String uri)
public java.lang.String getDefaultFunctionNamespace()
getDefaultFunctionNamespace in interface StaticContextpublic boolean isInBackwardsCompatibleMode()
isInBackwardsCompatibleMode in interface StaticContextpublic boolean isImportedSchema(java.lang.String namespace)
StaticContextisImportedSchema in interface StaticContextpublic boolean isAllowedBuiltInType(AtomicType type)
isAllowedBuiltInType in interface StaticContexttype - the supposedly built-in type. This will always be a type in the
XS or XDT namespace.public java.util.Set getImportedSchemaNamespaces()
getImportedSchemaNamespaces in interface StaticContextpublic void setImportedSchemaNamespaces(java.util.Set namespaces)