Package org.apache.xpath.objects
Class XNodeSet
java.lang.Object
org.apache.xpath.Expression
org.apache.xpath.objects.XObject
org.apache.xpath.axes.NodeSequence
org.apache.xpath.objects.XNodeSet
- All Implemented Interfaces:
Serializable
,Cloneable
,SourceLocator
,DTMIterator
,PathComponent
,ExpressionNode
,XPathVisitable
- Direct Known Subclasses:
XNodeSetForDOM
,XNull
This class represents an XPath nodeset object, and is capable of
converting the nodeset to other types, such as a string.
- See Also:
-
Field Summary
Fields inherited from class org.apache.xpath.objects.XObject
CLASS_BOOLEAN, CLASS_NODESET, CLASS_NULL, CLASS_NUMBER, CLASS_RTREEFRAG, CLASS_STRING, CLASS_UNKNOWN, CLASS_UNRESOLVEDVARIABLE
Fields inherited from interface org.apache.xml.dtm.DTMIterator
FILTER_ACCEPT, FILTER_REJECT, FILTER_SKIP
-
Constructor Summary
ConstructorsConstructorDescriptionXNodeSet
(int n, DTMManager dtmMgr) Construct a XNodeSet object for one node.XNodeSet
(DTMIterator val) Construct a XNodeSet object.XNodeSet
(DTMManager dtmMgr) Construct an empty XNodeSet object.Construct a XNodeSet object. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Cast result object to a string.boolean
bool()
Cast result object to a boolean.boolean
Cast result object to a boolean, but allow side effects, such as the incrementing of an iterator.boolean
Tell if one object is less than the other.void
Directly call the characters method on the passed ContentHandler for the string-value.boolean
Tell if two objects are functionally equal.getFresh()
Get a fresh copy of the object.double
getNumberFromNode
(int n) Get numeric value of the string conversion from a single node.getStringFromNode
(int n) Get the string conversion from a single node.int
getType()
Tell that this is a CLASS_NODESET.Given a request type, return the equivalent string.boolean
greaterThan
(XObject obj2) Tell if one object is less than the other.boolean
greaterThanOrEqual
(XObject obj2) Tell if one object is less than the other.iter()
Cast result object to a nodelist.iterRaw()
Return the iterator without cloning, etc.boolean
Tell if one object is less than the other.boolean
lessThanOrEqual
(XObject obj2) Tell if one object is less than or equal to the other.Cast result object to a mutableNodeset.nodelist()
Cast result object to a nodelist.org.w3c.dom.traversal.NodeIterator
nodeset()
Cast result object to a nodelist.boolean
Tell if two objects are functionally not equal.double
num()
Cast result object to a number.double
Cast result object to a number, but allow side effects, such as the incrementing of an iterator.object()
Return a java object that's closest to the representation that should be handed to an extension.void
release
(DTMIterator iter) str()
Cast result object to a string.xstr()
Cast result object to an XMLString.Methods inherited from class org.apache.xpath.axes.NodeSequence
allowDetachToRelease, clone, cloneWithReset, detach, fixupVariables, getAnalysisBits, getAxis, getContainedIter, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getLength, getRoot, getWhatToShow, hasCache, isDocOrdered, isFresh, isMutable, item, nextNode, previousNode, reset, runTo, setCurrentPos, setItem, setIter, setRoot, setShouldCacheNodes
Methods inherited from class org.apache.xpath.objects.XObject
callVisitors, castToType, create, create, deepEquals, destruct, execute, rtf, rtf, rtree, rtree, toString
Methods inherited from class org.apache.xpath.Expression
asIterator, asIteratorRaw, asNode, assertion, bool, canTraverseOutsideSubtree, error, execute, execute, execute, executeCharsToContentHandler, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isNodesetExpr, isStableNumber, num, warn, xstr
-
Constructor Details
-
XNodeSet
Construct a XNodeSet object.- Parameters:
val
- Value of the XNodeSet object
-
XNodeSet
Construct a XNodeSet object.- Parameters:
val
- Value of the XNodeSet object
-
XNodeSet
Construct an empty XNodeSet object. This is used to create a mutable nodeset to which random nodes may be added. -
XNodeSet
Construct a XNodeSet object for one node.- Parameters:
n
- Node to add to the new XNodeSet object
-
-
Method Details
-
getType
public int getType()Tell that this is a CLASS_NODESET. -
getTypeString
Given a request type, return the equivalent string. For diagnostic purposes.- Overrides:
getTypeString
in classXObject
- Returns:
- type string "#NODESET"
-
getNumberFromNode
public double getNumberFromNode(int n) Get numeric value of the string conversion from a single node.- Parameters:
n
- Node to convert- Returns:
- numeric value of the string conversion from a single node.
-
num
public double num()Cast result object to a number. -
numWithSideEffects
public double numWithSideEffects()Cast result object to a number, but allow side effects, such as the incrementing of an iterator.- Overrides:
numWithSideEffects
in classXObject
- Returns:
- numeric value of the string conversion from the next node in the NodeSetDTM, or NAN if no node was found
-
bool
public boolean bool()Cast result object to a boolean. -
boolWithSideEffects
public boolean boolWithSideEffects()Cast result object to a boolean, but allow side effects, such as the incrementing of an iterator.- Overrides:
boolWithSideEffects
in classXObject
- Returns:
- True if there is a next node in the nodeset
-
getStringFromNode
Get the string conversion from a single node.- Parameters:
n
- Node to convert- Returns:
- the string conversion from a single node.
-
dispatchCharactersEvents
Directly call the characters method on the passed ContentHandler for the string-value. Multiple calls to the ContentHandler's characters methods may well occur for a single call to this method.- Overrides:
dispatchCharactersEvents
in classXObject
- Parameters:
ch
- A non-null reference to a ContentHandler.- Throws:
SAXException
-
xstr
Cast result object to an XMLString. -
appendToFsb
Cast result object to a string.- Overrides:
appendToFsb
in classXObject
-
str
Cast result object to a string. -
object
Return a java object that's closest to the representation that should be handed to an extension. -
nodeset
Cast result object to a nodelist.- Overrides:
nodeset
in classXObject
- Returns:
- a NodeIterator.
- Throws:
TransformerException
-
nodelist
Cast result object to a nodelist.- Overrides:
nodelist
in classXObject
- Returns:
- a NodeList.
- Throws:
TransformerException
-
iterRaw
Return the iterator without cloning, etc. -
release
-
iter
Cast result object to a nodelist. -
getFresh
Get a fresh copy of the object. For use with variables. -
mutableNodeset
Cast result object to a mutableNodeset.- Overrides:
mutableNodeset
in classXObject
- Returns:
- The nodeset as a mutableNodeset
-
compare
public boolean compare(XObject obj2, org.apache.xpath.objects.Comparator comparator) throws TransformerException Tell if one object is less than the other.- Parameters:
obj2
- Object to compare this nodeset tocomparator
- Comparator to use- Returns:
- See the comments below for each object type comparison
- Throws:
TransformerException
-
lessThan
Tell if one object is less than the other.- Overrides:
lessThan
in classXObject
- Parameters:
obj2
- object to compare this nodeset to- Returns:
- see this.compare(...)
- Throws:
TransformerException
-
lessThanOrEqual
Tell if one object is less than or equal to the other.- Overrides:
lessThanOrEqual
in classXObject
- Parameters:
obj2
- object to compare this nodeset to- Returns:
- see this.compare(...)
- Throws:
TransformerException
-
greaterThan
Tell if one object is less than the other.- Overrides:
greaterThan
in classXObject
- Parameters:
obj2
- object to compare this nodeset to- Returns:
- see this.compare(...)
- Throws:
TransformerException
-
greaterThanOrEqual
Tell if one object is less than the other.- Overrides:
greaterThanOrEqual
in classXObject
- Parameters:
obj2
- object to compare this nodeset to- Returns:
- see this.compare(...)
- Throws:
TransformerException
-
equals
Tell if two objects are functionally equal.- Overrides:
equals
in classXObject
- Parameters:
obj2
- object to compare this nodeset to- Returns:
- see this.compare(...)
- Throws:
TransformerException
-
notEquals
Tell if two objects are functionally not equal.- Overrides:
notEquals
in classXObject
- Parameters:
obj2
- object to compare this nodeset to- Returns:
- see this.compare(...)
- Throws:
TransformerException
-