net.sf.saxon.style

Class UseWhenStaticContext

public class UseWhenStaticContext extends Object implements XSLTStaticContext

This class implements the static context used for evaluating use-when expressions in XSLT 2.0
Field Summary
StringbaseURI
Configurationconfig
shortdefaultXPathNamespace
FunctionLibraryfunctionLibrary
LocationMaplocationMap
NamespaceResolvernamespaceContext
StyleNodeFactorynodeFactory
Constructor Summary
UseWhenStaticContext(Configuration config, NamespaceResolver namespaceContext)
Method Summary
VariableReferencebindVariable(int fingerprint)
Bind a variable used in this element to the XSLVariable element in which it is declared
StringgetBaseURI()
Get the Base URI of the stylesheet element, for resolving any relative URI's used in the expression.
ComparatorgetCollation(String name)
Get a named collation.
ConfigurationgetConfiguration()
Get the system configuration
StringgetDefaultCollationName()
Get the name of the default collation.
shortgetDefaultElementNamespace()
Get the default XPath namespace, as a namespace code that can be looked up in the NamePool
StringgetDefaultFunctionNamespace()
Get the default function namespace
FunctionLibrarygetFunctionLibrary()
Get the function library containing all the in-scope functions available in this static context
SetgetImportedSchemaNamespaces()
Get the set of imported schemas
intgetLineNumber()
Get the line number of the expression within its containing entity Returns -1 if no line number is available
LocationMapgetLocationMap()
Get the location map
NamePoolgetNamePool()
Get the NamePool used for compiling expressions
NamespaceResolvergetNamespaceResolver()
Get a namespace resolver to resolve the namespaces declared in this static context.
StringgetSystemId()
Get the System ID of the container of the expression.
StringgetURIForPrefix(String prefix)
Get the URI for a namespace prefix.
booleanisAllowedBuiltInType(AtomicType type)
Determine whether a built-in type is available in this context.
booleanisElementAvailable(String qname)
Determine if an extension element is available
booleanisImportedSchema(String namespace)
Determine whether a Schema for a given target namespace has been imported.
booleanisInBackwardsCompatibleMode()
Determine whether Backwards Compatible Mode is used
voidissueWarning(String s, SourceLocator locator)
Issue a compile-time warning
XPathContextmakeEarlyEvaluationContext()
Construct a dynamic context for early evaluation of constant subexpressions
voidsetBaseURI(String uri)
Set the base URI
voidsetDefaultElementNamespace(short code)
Set the default namespace for elements and types

Field Detail

baseURI

public String baseURI

config

public Configuration config

defaultXPathNamespace

public short defaultXPathNamespace

functionLibrary

public FunctionLibrary functionLibrary

locationMap

public LocationMap locationMap

namespaceContext

public NamespaceResolver namespaceContext

nodeFactory

public StyleNodeFactory nodeFactory

Constructor Detail

UseWhenStaticContext

public UseWhenStaticContext(Configuration config, NamespaceResolver namespaceContext)

Method Detail

bindVariable

public VariableReference bindVariable(int fingerprint)
Bind a variable used in this element to the XSLVariable element in which it is declared

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.

getCollation

public Comparator getCollation(String name)
Get a named collation.

Parameters: name The name of the required collation. Supply null to get the default collation.

Returns: 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.

Returns: the name of the default collation; or the name of the codepoint collation if no default collation has been defined

getDefaultElementNamespace

public short getDefaultElementNamespace()
Get the default XPath namespace, as a namespace code that can be looked up in the NamePool

getDefaultFunctionNamespace

public String getDefaultFunctionNamespace()
Get the default function namespace

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

Returns: 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

getLocationMap

public LocationMap getLocationMap()
Get the location map

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.

Returns: a namespace resolver.

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)
Get the URI for a namespace prefix. The default namespace is NOT used when the prefix is empty.

Parameters: prefix The prefix

Throws: net.sf.saxon.trans.XPathException if the prefix is not declared

isAllowedBuiltInType

public boolean isAllowedBuiltInType(AtomicType 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.

Parameters: type the supposedly built-in type. This will always be a type in the XS or XDT namespace.

Returns: true if this type can be used in this static context

isElementAvailable

public boolean isElementAvailable(String qname)
Determine if an extension element is available

Throws: net.sf.saxon.trans.XPathException if the name is invalid or the prefix is not declared

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).

isInBackwardsCompatibleMode

public boolean isInBackwardsCompatibleMode()
Determine whether Backwards Compatible Mode is used

issueWarning

public void issueWarning(String s, SourceLocator locator)
Issue a compile-time warning

makeEarlyEvaluationContext

public XPathContext makeEarlyEvaluationContext()
Construct a dynamic context for early evaluation of constant subexpressions

setBaseURI

public void setBaseURI(String uri)
Set the base URI

setDefaultElementNamespace

public void setDefaultElementNamespace(short code)
Set the default namespace for elements and types