net.sf.saxon.style

Class UseWhenStaticContext

public class UseWhenStaticContext extends AbstractStaticContext implements XSLTStaticContext, Container

This class implements the static context used for evaluating use-when expressions in XSLT 2.0
Field Summary
FunctionLibraryfunctionLibrary
NamespaceResolvernamespaceContext
StyleNodeFactorynodeFactory
Constructor Summary
UseWhenStaticContext(Configuration config, NamespaceResolver namespaceContext)
Create a static context for evaluating use-when expressions
Method Summary
ExpressionbindVariable(StructuredQName qName)
Bind a variable used in this element to the XSLVariable element in which it is declared
StringCollatorgetCollation(String name)
Get a named collation.
intgetContainerGranularity()
Get the granularity of the container.
DecimalFormatManagergetDecimalFormatManager()
Get a DecimalFormatManager to resolve the names of decimal formats used in calls to the format-number() function.
StringgetDefaultCollationName()
Get the name of the default collation.
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
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(BuiltInAtomicType type)
Determine whether a built-in type is available in this context.
BooleanisAllowTypedNodes()
Ask whether typed input nodes are supported
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

Field Detail

functionLibrary

public FunctionLibrary functionLibrary

namespaceContext

public NamespaceResolver namespaceContext

nodeFactory

public StyleNodeFactory nodeFactory

Constructor Detail

UseWhenStaticContext

public UseWhenStaticContext(Configuration config, NamespaceResolver namespaceContext)
Create a static context for evaluating use-when expressions

Parameters: config the Saxon configuration namespaceContext the namespace context in which the use-when expression appears

Method Detail

bindVariable

public Expression bindVariable(StructuredQName qName)
Bind a variable used in this element to the XSLVariable element in which it is declared

Parameters: qName the name of the variable

getCollation

public StringCollator 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.

getContainerGranularity

public int getContainerGranularity()
Get the granularity of the container.

Returns: 0 for a temporary container created during parsing; 1 for a container that operates at the level of an XPath expression; 2 for a container at the level of a global function or template

getDecimalFormatManager

public DecimalFormatManager getDecimalFormatManager()
Get a DecimalFormatManager to resolve the names of decimal formats used in calls to the format-number() function.

Returns: the decimal format manager for this static context, or null if named decimal formats are not supported in this environment.

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

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

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

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

isAllowTypedNodes

public Boolean isAllowTypedNodes()
Ask whether typed input nodes are supported

Returns: true if path expressions used in this static context may select nodes that have type annotations acquired as a result of schema validation; false if selected nodes will always be untyped, or are to be treated as untyped.

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