|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.xml.dtm.DTMManager | +--org.apache.xpath.XPathContext
Default class for the runtime execution context for XPath.
This class extends DTMManager but does not directly implement it.
Inner Class Summary | |
class |
XPathContext.XPathExpressionContext
|
Field Summary | |
XMLReader |
m_primaryReader
The reader of the primary source tree. |
static int |
RECURSIONLIMIT
The ammount to use for stacks that record information during the recursive execution. |
Fields inherited from class org.apache.xml.dtm.DTMManager |
IDENT_DTM_DEFAULT,
IDENT_DTM_NODE_BITS,
IDENT_MAX_DTMS,
IDENT_NODE_DEFAULT,
m_incremental,
m_source_location |
Constructor Summary | |
XPathContext()
Create an XPathContext instance. |
|
XPathContext(boolean recursiveVarContext)
Create an XPathContext instance. |
|
XPathContext(java.lang.Object owner)
Create an XPathContext instance. |
|
XPathContext(java.lang.Object owner,
boolean recursiveVarContext)
Create an XPathContext instance. |
Method Summary | |
DTM |
createDocumentFragment()
Creates an empty DocumentFragment object. |
DTMIterator |
createDTMIterator(int node)
Create a new DTMIterator that holds exactly one node. |
DTMIterator |
createDTMIterator(int whatToShow,
DTMFilter filter,
boolean entityReferenceExpansion)
Create a new DTMIterator based only on a whatToShow and
a DTMFilter. |
DTMIterator |
createDTMIterator(java.lang.Object xpathCompiler,
int pos)
Create a new DTMIterator based on an XPath
UnionExpr. |
DTMIterator |
createDTMIterator(java.lang.String xpathString,
PrefixResolver presolver)
Create a new DTMIterator based on an XPath
UnionExpr. |
java.util.Stack |
getAxesIteratorStackStacks()
|
int |
getContextNode()
Get the current context node. |
DTMIterator |
getContextNodeList()
Get the current context node list. |
java.util.Stack |
getContextNodeListsStack()
|
DTMIterator |
getContextNodes()
Get the current context node list. |
int |
getCurrentExpressionNode()
Get the current node that is the expression's context (i.e. |
IntStack |
getCurrentExpressionNodeStack()
|
int |
getCurrentNode()
Get the current context node. |
SubContextList |
getCurrentNodeList()
Get the current node list as defined by the XSLT spec. |
IntStack |
getCurrentNodeStack()
|
DTM |
getDTM(int nodeHandle)
Get an instance of a DTM that "owns" a node handle. |
DTM |
getDTM(Source source,
boolean unique,
DTMWSFilter wsfilter,
boolean incremental,
boolean doIndexing)
Get an instance of a DTM, loaded with the content from the specified source. |
int |
getDTMHandleFromNode(Node node)
Given a W3C DOM node, try and return a DTM handle. |
int |
getDTMIdentity(DTM dtm)
%TBD% Doc |
DTMManager |
getDTMManager()
Return the DTMManager object. |
DTMXRTreeFrag |
getDTMXRTreeFrag(int dtmIdentity)
Gets DTMXRTreeFrag object if one has already been created. |
ErrorListener |
getErrorListener()
Get the ErrorListener where errors and warnings are to be reported. |
ExpressionContext |
getExpressionContext()
The the expression context for extensions for this context. |
DTM |
getGlobalRTFDTM()
Get a DTM to be used as a container for a global Result Tree Fragment. |
int |
getIteratorRoot()
Get the current location path iterator root. |
PrefixResolver |
getNamespaceContext()
Get the current namespace context for the xpath. |
java.lang.Object |
getOwnerObject()
Get the "owner" context of this context, which should be, in the case of XSLT, the Transformer object. |
int |
getPredicatePos()
|
int |
getPredicateRoot()
Get the current predicate root. |
XMLReader |
getPrimaryReader()
Get primary XMLReader associated with this execution context. |
DTM |
getRTFDTM()
Get a DTM to be used as a container for a dynamic Result Tree Fragment. |
SourceLocator |
getSAXLocator()
Get the current locater in the stylesheet. |
SourceTreeManager |
getSourceTreeManager()
Get the SourceTreeManager associated with this execution context. |
SubContextList |
getSubContextList()
Get the current axes iterator, or return null if none. |
URIResolver |
getURIResolver()
Get the URIResolver associated with this execution context. |
VariableStack |
getVarStack()
Get the variable stack, which is in charge of variables and parameters. |
boolean |
isSecureProcessing()
Return the state of the secure processing feature |
void |
popContextNodeList()
Pop the current context node list. |
void |
popCurrentExpressionNode()
Pop the current node that is the expression's context (i.e. |
void |
popCurrentNode()
Pop the current context node. |
void |
popCurrentNodeAndExpression()
Set the current context node. |
void |
popExpressionState()
Pop the current context node, expression node, and prefix resolver. |
void |
popIteratorRoot()
Pop the current location path iterator root. |
void |
popNamespaceContext()
Pop the current namespace context for the xpath. |
void |
popPredicatePos()
|
void |
popPredicateRoot()
Pop the current predicate root. |
void |
popRTFContext()
Pop the RTFDTM's context mark. |
void |
popSAXLocator()
Pop the current locater. |
void |
popSubContextList()
Pop the last pushed axes iterator. |
void |
pushContextNodeList(DTMIterator nl)
Set the current context node list. |
void |
pushCurrentExpressionNode(int n)
Set the current node that is the expression's context (i.e. |
void |
pushCurrentNode(int n)
Set the current context node. |
void |
pushCurrentNodeAndExpression(int cn,
int en)
Set the current context node and expression node. |
void |
pushExpressionState(int cn,
int en,
PrefixResolver nc)
Push the current context node, expression node, and prefix resolver. |
void |
pushIteratorRoot(int n)
Set the current location path iterator root. |
void |
pushNamespaceContext(PrefixResolver pr)
Push a current namespace context for the xpath. |
void |
pushNamespaceContextNull()
Just increment the namespace contest stack, so that setNamespaceContext can be used on the slot. |
void |
pushPredicatePos(int n)
|
void |
pushPredicateRoot(int n)
Set the current predicate root. |
void |
pushRTFContext()
Push the RTFDTM's context mark, to allows discarding RTFs added after this point. |
void |
pushSAXLocator(SourceLocator location)
Set the current locater in the stylesheet. |
void |
pushSAXLocatorNull()
Push a slot on the locations stack so that setSAXLocator can be repeatedly called. |
void |
pushSubContextList(SubContextList iter)
Push a TreeWalker on the stack. |
boolean |
release(DTM dtm,
boolean shouldHardDelete)
Release a DTM either to a lru pool, or completely remove reference. |
void |
reset()
Reset for new run. |
void |
setAxesIteratorStackStacks(java.util.Stack s)
|
void |
setContextNodeListsStack(java.util.Stack s)
|
void |
setCurrentExpressionNodeStack(IntStack nv)
|
void |
setCurrentNodeStack(IntStack nv)
|
void |
setErrorListener(ErrorListener listener)
Set the ErrorListener where errors and warnings are to be reported. |
void |
setNamespaceContext(PrefixResolver pr)
Get the current namespace context for the xpath. |
void |
setPrimaryReader(XMLReader reader)
Set primary XMLReader associated with this execution context. |
void |
setSAXLocator(SourceLocator location)
Set the current locater in the stylesheet. |
void |
setSecureProcessing(boolean flag)
Set the state of the secure processing feature |
void |
setSourceTreeManager(SourceTreeManager mgr)
Set the SourceTreeManager associated with this execution context. |
void |
setURIResolver(URIResolver resolver)
Set the URIResolver associated with this execution context. |
void |
setVarStack(VariableStack varStack)
Get the variable stack, which is in charge of variables and parameters. |
Methods inherited from class org.apache.xml.dtm.DTMManager |
getDTMIdentityMask,
getIncremental,
getNodeIdentityMask,
getSource_location,
getXMLStringFactory,
newInstance,
setIncremental,
setSource_location,
setXMLStringFactory |
Methods inherited from class java.lang.Object |
equals,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Field Detail |
public XMLReader m_primaryReader
public static final int RECURSIONLIMIT
Constructor Detail |
public XPathContext()
XPathContext(boolean)
constructor with the value
true
.public XPathContext(boolean recursiveVarContext)
recursiveVarContext
- A boolean
value indicating whether
the XPath context needs to support pushing of scopes for
variable resolutionpublic XPathContext(java.lang.Object owner)
XPathContext(java.lang.Object,boolean)
with the
value of the second parameter set to true
.owner
- Value that can be retrieved via the getOwnerObject() method.getOwnerObject()
public XPathContext(java.lang.Object owner, boolean recursiveVarContext)
owner
- Value that can be retrieved via the getOwnerObject() method.recursiveVarContext
- A boolean
value indicating whether
the XPath context needs to support pushing of scopes for
variable resolutiongetOwnerObject()
Method Detail |
public DTMManager getDTMManager()
public void setSecureProcessing(boolean flag)
public boolean isSecureProcessing()
public DTM getDTM(Source source, boolean unique, DTMWSFilter wsfilter, boolean incremental, boolean doIndexing)
source
- the specification of the source object, which may be null,
in which case it is assumed that node construction will take
by some other means.unique
- true if the returned DTM must be unique, probably because it
is going to be mutated.wsfilter
- Enables filtering of whitespace nodes, and may be null.incremental
- true if the construction should try and be incremental.doIndexing
- true if the caller considers it worth it to use
indexing schemes.public DTM getDTM(int nodeHandle)
nodeHandle
- the nodeHandle.public int getDTMHandleFromNode(Node node)
node
- Non-null reference to a DOM node.public int getDTMIdentity(DTM dtm)
public DTM createDocumentFragment()
DocumentFragment
object.DocumentFragment handle
.public boolean release(DTM dtm, boolean shouldHardDelete)
dtm
- The DTM to be released.shouldHardDelete
- True if the DTM should be removed no matter what.public DTMIterator createDTMIterator(java.lang.Object xpathCompiler, int pos)
DTMIterator
based on an XPath
UnionExpr.xpathCompiler
- ??? Somehow we need to pass in a subpart of the
expression. I hate to do this with strings, since the larger expression
has already been parsed.pos
- The position in the expression.DTMIterator
.public DTMIterator createDTMIterator(java.lang.String xpathString, PrefixResolver presolver)
DTMIterator
based on an XPath
UnionExpr.xpathString
- Must be a valid string expressing a
UnionExpr.presolver
- An object that can resolve prefixes to namespace URLs.DTMIterator
.public DTMIterator createDTMIterator(int whatToShow, DTMFilter filter, boolean entityReferenceExpansion)
DTMIterator
based only on a whatToShow and
a DTMFilter. The traversal semantics are defined as the descendant
access.whatToShow
- This flag specifies which node types may appear in
the logical view of the tree presented by the iterator. See the
description of NodeFilter
for the set of possible
SHOW_
values.These flags can be combined using
OR
.filter
- The NodeFilter
to be used with this
TreeWalker
, or null
to indicate no filter.entityReferenceExpansion
- The value of this flag determines
whether entity reference nodes are expanded.NodeIterator
.public DTMIterator createDTMIterator(int node)
DTMIterator
that holds exactly one node.node
- The node handle that the DTMIterator will iterate to.DTMIterator
.public void reset()
public void setSAXLocator(SourceLocator location)
location
- The location within the stylesheet.public void pushSAXLocator(SourceLocator location)
location
- The location within the stylesheet.public void pushSAXLocatorNull()
public void popSAXLocator()
public SourceLocator getSAXLocator()
public java.lang.Object getOwnerObject()
public final VariableStack getVarStack()
public final void setVarStack(VariableStack varStack)
varStack
- non-null reference to the variable stack.public final SourceTreeManager getSourceTreeManager()
public void setSourceTreeManager(SourceTreeManager mgr)
mgr
- the SourceTreeManager to be associated with this
execution context.public final ErrorListener getErrorListener()
public void setErrorListener(ErrorListener listener) throws java.lang.IllegalArgumentException
listener
- A non-null ErrorListener reference.public final URIResolver getURIResolver()
public void setURIResolver(URIResolver resolver)
resolver
- the URIResolver to be associated with this
execution context, may be null to clear an already set resolver.public final XMLReader getPrimaryReader()
public void setPrimaryReader(XMLReader reader)
reader
- The reader of the primary source tree.public java.util.Stack getContextNodeListsStack()
public void setContextNodeListsStack(java.util.Stack s)
public final DTMIterator getContextNodeList()
public final void pushContextNodeList(DTMIterator nl)
nl
- the current node list,
also refered to here as a public final void popContextNodeList()
public IntStack getCurrentNodeStack()
public void setCurrentNodeStack(IntStack nv)
public final int getCurrentNode()
public final void pushCurrentNodeAndExpression(int cn, int en)
cn
- the current node.en
- the sub-expression context node.public final void popCurrentNodeAndExpression()
public final void pushExpressionState(int cn, int en, PrefixResolver nc)
cn
- the current node.en
- the sub-expression context node.nc
- the namespace context (prefix resolver.public final void popExpressionState()
public final void pushCurrentNode(int n)
n
- the current node.public final void popCurrentNode()
public final void pushPredicateRoot(int n)
public final void popPredicateRoot()
public final int getPredicateRoot()
public final void pushIteratorRoot(int n)
public final void popIteratorRoot()
public final int getIteratorRoot()
public IntStack getCurrentExpressionNodeStack()
public void setCurrentExpressionNodeStack(IntStack nv)
public final int getPredicatePos()
public final void pushPredicatePos(int n)
public final void popPredicatePos()
public final int getCurrentExpressionNode()
public final void pushCurrentExpressionNode(int n)
n
- The sub-expression node to be current.public final void popCurrentExpressionNode()
public final PrefixResolver getNamespaceContext()
public final void setNamespaceContext(PrefixResolver pr)
pr
- the prefix resolver to be used for resolving prefixes to
namespace URLs.public final void pushNamespaceContext(PrefixResolver pr)
pr
- the prefix resolver to be used for resolving prefixes to
namespace URLs.public final void pushNamespaceContextNull()
public final void popNamespaceContext()
public java.util.Stack getAxesIteratorStackStacks()
public void setAxesIteratorStackStacks(java.util.Stack s)
public final void pushSubContextList(SubContextList iter)
iter
- A sub-context AxesWalker.public final void popSubContextList()
public SubContextList getSubContextList()
public SubContextList getCurrentNodeList()
public final int getContextNode()
public final DTMIterator getContextNodes()
public ExpressionContext getExpressionContext()
public DTM getGlobalRTFDTM()
public DTM getRTFDTM()
public void pushRTFContext()
public void popRTFContext()
public DTMXRTreeFrag getDTMXRTreeFrag(int dtmIdentity)
dtmIdentity
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |