APIdia Launch Partner
Top Description Fields Constructors Methods
com.sun.org.apache.xpath.internal.operations

public Class VariableSafeAbsRef

extends Variable
Class Inheritance
Imports
com.sun.org.apache.xml.internal.dtm.DTMManager, com.sun.org.apache.xpath.internal.Expression, .XPathContext, com.sun.org.apache.xpath.internal.objects.XNodeSet, .XObject

This is a "smart" variable reference that is used in situations where an absolute path is optimized into a variable reference, but may be used in some situations where the document context may have changed. For instance, in select="document(doc/@href)//name[//salary > 7250]", the root in the predicate will be different for each node in the set. While this is easy to detect statically in this case, in other cases static detection would be very hard or impossible. So, this class does a dynamic check to make sure the document context of the referenced variable is the same as the current document context, and, if it is not, execute the referenced variable's expression with the current context instead.

Field Summary

Modifier and TypeField and Description
pack-priv static final long
Inherited from com.sun.org.apache.xpath.internal.operations.Variable:
m_indexm_isGlobalm_qnamePSUEDOVARNAMESPACE

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public XObject

Returns:

The evaluated variable, or an empty nodeset if not found.
execute
(XPathContext
The runtime execution context.
xctxt
,
boolean destructiveOK)

Overrides com.sun.org.apache.xpath.internal.operations.Variable.execute.

Dereference the variable, and return the reference value.

Inherited from com.sun.org.apache.xpath.internal.operations.Variable:
callVisitorsdeepEqualsexecutefixupVariablesgetAnalysisBitsgetGlobalgetIndexgetQNameisPsuedoVarRefisStableNumbersetIndexsetIsGlobalsetQName

Field Detail

serialVersionUIDback to summary
pack-priv static final long serialVersionUID

Hides com.sun.org.apache.xpath.internal.operations.Variable.serialVersionUID.

Constructor Detail

VariableSafeAbsRefback to summary
public VariableSafeAbsRef()

Method Detail

executeback to summary
public XObject execute(XPathContext xctxt, boolean destructiveOK) throws TransformerException

Overrides com.sun.org.apache.xpath.internal.operations.Variable.execute.

Dereference the variable, and return the reference value. Note that lazy evaluation will occur. If a variable within scope is not found, a warning will be sent to the error listener, and an empty nodeset will be returned.

Parameters
xctxt:XPathContext

The runtime execution context.

Returns:XObject

The evaluated variable, or an empty nodeset if not found.

Exceptions
TransformerException:

Doc from com.sun.org.apache.xpath.internal.Expression.execute.

if a runtime exception occurs.