org.exolab.adaptx.xslt
Class ProcessorState

java.lang.Object
  extended by org.exolab.adaptx.xpath.XPathContext
      extended by org.exolab.adaptx.xslt.ProcessorState

public class ProcessorState
extends XPathContext

The current RuleProcessor environment.

Version:
$Revision: 4778 $ $Date: 2004-09-28 16:57:15 -0400 (Tue, 28 Sep 2004) $
Author:
Keith Visco

Field Summary
static java.lang.String ECMASCRIPT
           
static java.lang.String JPYTHON
           
 
Method Summary
 void associateNamespace(java.lang.String nsPrefix, java.lang.String nsURI)
          Associates a namespace with the given prefix,
 java.lang.String generateId(XPathNode node)
          Creates a unique identifier for the given node
 AttributeValueTemplate getAttributeValueTemplate(java.lang.String avtString)
          Returns the value of the given String as an AttributeValueTemplate
 XPathNode getCurrentNode()
          Returns the "current" node The current node, is different than the context node, as the context node may change during the evaluation of an xpath expression, the current node does not.
 int[] getDocumentOrder(XPathNode node)
          Returns the document order of the given node.
 java.lang.String getDocumentURI(XPathNode node)
          Returns the document URI of the given XPathNode, or null if it's not found
 XPathNode getElementById(XPathNode root, java.lang.String id)
          Returns the element associated with the given identifier.
 ErrorObserver getErrorObserver()
          Returns the ErrorObserver to report errors to
 XPathFunction getFunction(java.lang.String name)
          Returns the XPathFunction with the given name and belonging to the given namespace.
 XPathFunction getFunction(java.lang.String namespace, java.lang.String name)
          Returns the XPathFunction with the given name and belonging to the given namespace.
 java.lang.String getNamespaceURI(java.lang.String prefix)
          Returns the namespace associated with the given prefix.
 XPathNode getNode()
          Returns the context node of this XPathContext
 NodeSet getNodeSet()
          Returns the current context node-set.
 java.lang.String getParameter(java.lang.String name)
          Returns the parameter value associated with the given name.
 ScopedVariableSet getParameters()
           
 int getPosition()
          Returns the position of the context node.
 java.lang.String getProperty(java.lang.String name)
          Returns the Property value associated with the given name.
 int getSize()
          Returns the size of the context.
 URILocation getStylesheetLocation()
           
 URIResolver getURIResolver()
          Returns the URIResolver for resolving all URIs.
 XPathResult getVariable(java.lang.String name)
          Returns the XPath result bound to the given variable name.
 QuickStack getXMLSpaceModes()
          Returns the stack of XML space modes
 boolean isFunctionAvailable(java.lang.String name, java.lang.String namespace)
          Returns true if a function with the given name exists within the given namespace.
 boolean isXSLTNamespace(java.lang.String prefixOrURI)
          Determines if the given prefix or URI maps to the XSLT namespace
 XPathNode popCurrentNode()
          Removes the current node from the top of the stack The current node, is different than the context node, as the context node may change during the evaluation of an xpath expression, the current node does not.
 ResultHandler popHandler()
          Removes and returns the ResultHandler from the top of the ResultHandler stack.
 NodeSet popNodeSet()
          Removes and returns the current NodeSet from the context stack
 void pushCurrentNode(XPathNode node)
          Adds the given node to the top of the "current" node Stack.
 void pushHandler(ResultHandler handler)
          Pushes a new ResultHandler to the top of the ResultHandler stack.
 void pushNodeSet(NodeSet nodeSet)
          Pushes the given nodeSet onto the context stack
 void setNodeSet(NodeSet nodeSet, int position)
          Sets the given node-set as the context node-set for this XPathContext
 void setPosition(int position)
          Sets the position of the context node within the context node-set
 
Methods inherited from class org.exolab.adaptx.xpath.XPathContext
addNamespaceBinding, newContext, newContext, newNodeSet, newNodeSet, newNodeSet
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ECMASCRIPT

public static final java.lang.String ECMASCRIPT
See Also:
Constant Field Values

JPYTHON

public static final java.lang.String JPYTHON
See Also:
Constant Field Values
Method Detail

associateNamespace

public void associateNamespace(java.lang.String nsPrefix,
                               java.lang.String nsURI)
Associates a namespace with the given prefix,

Parameters:
nsPrefix - the namespace prefix
nsURI - the namespace URI to associate

generateId

public java.lang.String generateId(XPathNode node)
Creates a unique identifier for the given node

Returns:
the String that is a unique identifier for the given node

getCurrentNode

public XPathNode getCurrentNode()
Returns the "current" node The current node, is different than the context node, as the context node may change during the evaluation of an xpath expression, the current node does not. Basically it's the first context node during the beginning of an xpath evalation.

Returns:
the "current" node
See Also:
popCurrentNode, pushCurrentNode

getErrorObserver

public ErrorObserver getErrorObserver()
Returns the ErrorObserver to report errors to

Returns:
the ErrorObserver to report errors to

getStylesheetLocation

public URILocation getStylesheetLocation()

getParameter

public java.lang.String getParameter(java.lang.String name)
Returns the parameter value associated with the given name.

Parameters:
name - the name of the parameter to retrieve the value of
Returns:
the parameter value associated with the given name.

getProperty

public java.lang.String getProperty(java.lang.String name)
Returns the Property value associated with the given name. All property names without a namespace are defaulted to the System evironment scope.

Parameters:
name - the name of the property to get the value of
Returns:
the Property value associated with the given name.

getXMLSpaceModes

public QuickStack getXMLSpaceModes()
Returns the stack of XML space modes


getNamespaceURI

public java.lang.String getNamespaceURI(java.lang.String prefix)
Returns the namespace associated with the given prefix. A namespace can be associated with a given prefix via the XSLT document being processed, or using #associateNamespace method

Overrides:
getNamespaceURI in class XPathContext
Parameters:
prefix - the prefix of the namespace to return
Returns:
the namespace prefix or null if none found.

getURIResolver

public URIResolver getURIResolver()
Returns the URIResolver for resolving all URIs.

Returns:
the URIResolver for resolving all URIs.

isFunctionAvailable

public boolean isFunctionAvailable(java.lang.String name,
                                   java.lang.String namespace)
Returns true if a function with the given name exists within the given namespace.

Returns:
true if a function with the given name exists

isXSLTNamespace

public boolean isXSLTNamespace(java.lang.String prefixOrURI)
Determines if the given prefix or URI maps to the XSLT namespace

Parameters:
prefixOrURI - the prefix or URI to compare with the XSLT namespace
Returns:
true if the given prefix or URI maps to the XSLT namespace

popHandler

public ResultHandler popHandler()
Removes and returns the ResultHandler from the top of the ResultHandler stack.

Returns:
the ResultHandler that was at the top of the stack.

pushHandler

public void pushHandler(ResultHandler handler)
Pushes a new ResultHandler to the top of the ResultHandler stack.

Parameters:
handler - the ResultHandler to push to the top of the stack.

popCurrentNode

public XPathNode popCurrentNode()
Removes the current node from the top of the stack The current node, is different than the context node, as the context node may change during the evaluation of an xpath expression, the current node does not. Basically it's the first context node during the beginning of an xpath evalation.

Returns:
the current node.
See Also:
pushCurrentNode, getCurrentNode

pushCurrentNode

public void pushCurrentNode(XPathNode node)
Adds the given node to the top of the "current" node Stack. The current node, is different than the context node, as the context node may change during the evaluation of an xpath expression, the current node does not. Basically it's the first context node during the beginning of an xpath evalation.

Parameters:
node - the new current node
See Also:
popCurrentNode, getCurrentNode

pushNodeSet

public void pushNodeSet(NodeSet nodeSet)
Pushes the given nodeSet onto the context stack

Parameters:
nodeSet - the nodeSet ot push onto the stack

popNodeSet

public NodeSet popNodeSet()
Removes and returns the current NodeSet from the context stack

Returns:
the current NodeSet from the context stack

getAttributeValueTemplate

public AttributeValueTemplate getAttributeValueTemplate(java.lang.String avtString)
                                                 throws XPathException
Returns the value of the given String as an AttributeValueTemplate

Throws:
InvalidExprException - when the String argument is not a valid AttrubueValueTemplate
XPathException

getFunction

public XPathFunction getFunction(java.lang.String name)
Returns the XPathFunction with the given name and belonging to the given namespace.

Parameters:
namespace - the namespace of the function
name - the name of the function
Returns:
the XPathFunction with the given name

getParameters

public ScopedVariableSet getParameters()

getNode

public XPathNode getNode()
Returns the context node of this XPathContext

Overrides:
getNode in class XPathContext
Returns:
the context node

getPosition

public int getPosition()
Returns the position of the context node. The position is a value between zero and the context size minus one. One must be added in order to obtain a value XPath position.

Overrides:
getPosition in class XPathContext
Returns:
The position of the context node
See Also:
getSize()

getSize

public int getSize()
Returns the size of the context.

Overrides:
getSize in class XPathContext
Returns:
The size of the context

getNodeSet

public NodeSet getNodeSet()
Returns the current context node-set.

Overrides:
getNodeSet in class XPathContext
Returns:
The current context node-set

setNodeSet

public void setNodeSet(NodeSet nodeSet,
                       int position)
Sets the given node-set as the context node-set for this XPathContext

Overrides:
setNodeSet in class XPathContext
Parameters:
nodeSet - the node-set to use as the context node-set.
position - the position of the context node

getDocumentURI

public java.lang.String getDocumentURI(XPathNode node)
Returns the document URI of the given XPathNode, or null if it's not found


getDocumentOrder

public int[] getDocumentOrder(XPathNode node)
Returns the document order of the given node.

Overrides:
getDocumentOrder in class XPathContext
Returns:
The document order of the given node

getElementById

public XPathNode getElementById(XPathNode root,
                                java.lang.String id)
Returns the element associated with the given identifier. Locates the element underneath the specified root node.

Overrides:
getElementById in class XPathContext
Parameters:
root - The root node
id - The element's identifier
Returns:
The first element in document order with the given identifier, or null if no such element was found

getVariable

public XPathResult getVariable(java.lang.String name)
Returns the XPath result bound to the given variable name. Returns null if the variable was not set.

Overrides:
getVariable in class XPathContext
Parameters:
name - The variable name
Returns:
The variable's value

getFunction

public XPathFunction getFunction(java.lang.String namespace,
                                 java.lang.String name)
Returns the XPathFunction with the given name and belonging to the given namespace.

Overrides:
getFunction in class XPathContext
Parameters:
namespace - the namespace of the function
name - the name of the function
Returns:
the XPathFunction with the given name

setPosition

public void setPosition(int position)
Sets the position of the context node within the context node-set

Overrides:
setPosition in class XPathContext
Parameters:
the - position of the context node within the context node-set
Throws:
java.lang.IndexOutOfBoundsException - when the position is not within the bounds of the context node-set.