Package net.sf.saxon.option.axiom
Class AxiomParentNodeWrapper
- java.lang.Object
-
- net.sf.saxon.tree.wrapper.AbstractNodeWrapper
-
- net.sf.saxon.option.axiom.AxiomParentNodeWrapper
-
- All Implemented Interfaces:
javax.xml.transform.Source
,javax.xml.transform.SourceLocator
,ActiveSource
,GroundedValue
,Item
,NodeInfo
,Sequence
,Location
,SiblingCountingNode
,VirtualNode
,org.xml.sax.Locator
- Direct Known Subclasses:
AxiomDocumentNodeWrapper
,AxiomElementNodeWrapper
public abstract class AxiomParentNodeWrapper extends AbstractNodeWrapper implements SiblingCountingNode
A node in the XDM tree; specifically, a node that wraps an Axiom document node or element node.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
AxiomParentNodeWrapper.ChildWrappingIterator
Iterator over the children of a supplied nodeprotected class
AxiomParentNodeWrapper.DescendantWrappingIterator
Iterator over the descendants of a supplied node (optionally including the node itself)
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.axiom.om.OMContainer
node
-
Fields inherited from class net.sf.saxon.tree.wrapper.AbstractNodeWrapper
treeInfo
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AxiomParentNodeWrapper(org.apache.axiom.om.OMContainer node)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AtomicSequence
atomize()
Get the typed value.void
generateId(java.lang.StringBuilder buffer)
Get a character string that uniquely identifies this node.org.apache.axiom.om.OMContainer
getUnderlyingNode()
Get the underlying Axiom node, to implement the VirtualNode interfaceUnicodeString
getUnicodeStringValue()
Get the string value of the node as a UnicodeString.boolean
hasChildNodes()
Determine whether the node has any children.protected AxisIterator
iterateChildren(NodeTest nodeTest)
Return an iterator over the children of this node.protected AxisIterator
iterateDescendants(NodeTest nodeTest, boolean includeSelf)
Return an iterator over the descendants of this node.-
Methods inherited from class net.sf.saxon.tree.wrapper.AbstractNodeWrapper
copy, equals, getAllNamespaces, getAttributeValue, getBaseURI, getColumnNumber, getDeclaredNamespaces, getDisplayName, getFingerprint, getLineNumber, getNamePool, getRealNode, getRoot, getSystemId, getTreeInfo, hasFingerprint, hashCode, iterateAttributes, iterateAxis, iterateAxis, iterateSiblings, saveLocation, setSystemId
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.om.GroundedValue
asIterable, concatenate, containsNode, effectiveBooleanValue, materialize
-
Methods inherited from interface net.sf.saxon.om.Item
getLength, getStringValue, head, itemAt, iterate, reduce, subsequence
-
Methods inherited from interface net.sf.saxon.s9api.Location
saveLocation
-
Methods inherited from interface net.sf.saxon.om.NodeInfo
asActiveSource, attributes, children, children, compareOrder, copy, deliver, equals, getAllNamespaces, getAttributeValue, getAttributeValue, getBaseURI, getColumnNumber, getConfiguration, getDeclaredNamespaces, getDisplayName, getFingerprint, getGenre, getLineNumber, getLocalPart, getNamespaceUri, getNodeKind, getParent, getPrefix, getPublicId, getRoot, getSchemaType, getSystemId, getTreeInfo, getURI, hasFingerprint, hashCode, isId, isIdref, isNilled, isSameNodeInfo, isStreamed, iterateAxis, iterateAxis, setSystemId, toShortString
-
Methods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
Methods inherited from interface net.sf.saxon.tree.wrapper.SiblingCountingNode
getSiblingPosition
-
-
-
-
Method Detail
-
getUnderlyingNode
public org.apache.axiom.om.OMContainer getUnderlyingNode()
Get the underlying Axiom node, to implement the VirtualNode interface- Specified by:
getUnderlyingNode
in interfaceVirtualNode
- Returns:
- The underlying node.
-
atomize
public AtomicSequence atomize()
Get the typed value.- Specified by:
atomize
in interfaceItem
- Specified by:
atomize
in interfaceNodeInfo
- Overrides:
atomize
in classAbstractNodeWrapper
- Returns:
- the typed value. If requireSingleton is set to true, the result will always be an AtomicValue. In other cases it may be a Value representing a sequence whose items are atomic values.
-
getUnicodeStringValue
public UnicodeString getUnicodeStringValue()
Get the string value of the node as a UnicodeString.- Specified by:
getUnicodeStringValue
in interfaceGroundedValue
- Specified by:
getUnicodeStringValue
in interfaceItem
- Returns:
- the node's string value
-
hasChildNodes
public boolean hasChildNodes()
Determine whether the node has any children.Note: the result is equivalent to
getEnumeration(Axis.CHILD, AnyNodeTest.getInstance()).hasNext()
- Specified by:
hasChildNodes
in interfaceNodeInfo
- Overrides:
hasChildNodes
in classAbstractNodeWrapper
- Returns:
- True if the node has one or more children
-
generateId
public void generateId(java.lang.StringBuilder buffer)
Get a character string that uniquely identifies this node. Note: a.isSameNode(b) if and only if generateId(a)==generateId(b)- Specified by:
generateId
in interfaceNodeInfo
- Parameters:
buffer
- a buffer to contain a string that uniquely identifies this node, across all documents
-
iterateChildren
protected final AxisIterator iterateChildren(NodeTest nodeTest)
Description copied from class:AbstractNodeWrapper
Return an iterator over the children of this node. This method is only called after checking that the node is an element or document.- Specified by:
iterateChildren
in classAbstractNodeWrapper
- Parameters:
nodeTest
- a test that the returned attributes must satisfy- Returns:
- an iterator over the child nodes, in document order.
-
iterateDescendants
protected AxisIterator iterateDescendants(NodeTest nodeTest, boolean includeSelf)
Description copied from class:AbstractNodeWrapper
Return an iterator over the descendants of this node. This method is only called after checking that the node is an element or document node.- Overrides:
iterateDescendants
in classAbstractNodeWrapper
- Parameters:
nodeTest
- a test that the returned descendants must satisfyincludeSelf
- true if this node is to be included in the result- Returns:
- an iterator over the sibling nodes, in axis order.
-
-