Package com.saxonica.ee.stream.om
Class FleetingElementNode
- java.lang.Object
-
- com.saxonica.ee.stream.om.FleetingNode
-
- com.saxonica.ee.stream.om.FleetingParentNode
-
- com.saxonica.ee.stream.om.FleetingElementNode
-
- All Implemented Interfaces:
javax.xml.transform.Source
,javax.xml.transform.SourceLocator
,GroundedValue
,Item
,NodeInfo
,Sequence
,Location
,org.xml.sax.Locator
public class FleetingElementNode extends FleetingParentNode
Represents an element node available transiently within a streamed document
-
-
Field Summary
-
Fields inherited from class com.saxonica.ee.stream.om.FleetingNode
root
-
Fields inherited from interface net.sf.saxon.om.NodeInfo
IS_DTD_TYPE, IS_NILLED
-
-
Constructor Summary
Constructors Constructor Description FleetingElementNode(NodeName name, SchemaType type)
FleetingElementNode(NodeName name, SchemaType type, AttributeMap attributes, NamespaceMap namespaces)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareAttributeOrder(NodeName one, NodeName two)
void
copy(Receiver out, int copyOptions, Location locationId)
Copy this node to a given Receiver.NamespaceMap
getAllNamespaces()
Get all the namespace bindings that are in-scope for this element.int
getAttributeIndex(java.lang.String uri, java.lang.String local)
Get the index position of an attribute with given local name and fingerprintAttributeMap
getAttributes()
Get the attributes defined on this elementjava.lang.String
getAttributeValue(java.lang.String uri, java.lang.String local)
Get the string value of a given attribute of this nodeNamespaceMap
getInScopeNamespaces()
Get all in-scope namespaces defined on this element.int
getNamespaceNodeIndex(java.lang.String prefix)
Get the index position of a namespace node with given local name (=prefixAxisIterator
iterateAxis(int axisNumber, java.util.function.Predicate<? super NodeInfo> nodeTest)
Return an iteration over all the nodes reached by the given axis from this node that match a given NodeTestvoid
notify(Receiver out)
Notify the event to a Receivervoid
setAttributes(AttributeMap attributes)
Set the attributes that appear on this elementvoid
setNamespaceMap(NamespaceMap namespaces)
Set the in-scope namespaces for this element-
Methods inherited from class com.saxonica.ee.stream.om.FleetingParentNode
hasChildNodes, setHasChildren
-
Methods inherited from class com.saxonica.ee.stream.om.FleetingNode
atomize, compareOrder, equals, generateId, getBaseURI, getConfiguration, getDeclaredNamespaces, getDepth, getDisplayName, getFingerprint, getLocalPart, getNamePool, getNodeKind, getNodeName, getNodeNumber, getParent, getPrefix, getRoot, getSchemaType, getStringValue, getStringValueCS, getSystemId, getTreeInfo, getURI, hasFingerprint, head, isStreamed, saveLocation, setNodeKind, setNodeName, setParent, setStringValue, setSystemId, setTypeAnnotation
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, 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, itemAt, iterate, reduce, subsequence
-
Methods inherited from interface net.sf.saxon.om.NodeInfo
attributes, children, children, getColumnNumber, getGenre, getLineNumber, getPublicId, hashCode, isId, isIdref, isNilled, isSameNodeInfo, iterateAxis, toShortString
-
Methods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
-
-
-
Constructor Detail
-
FleetingElementNode
public FleetingElementNode(NodeName name, SchemaType type)
-
FleetingElementNode
public FleetingElementNode(NodeName name, SchemaType type, AttributeMap attributes, NamespaceMap namespaces)
-
-
Method Detail
-
setNamespaceMap
public void setNamespaceMap(NamespaceMap namespaces)
Set the in-scope namespaces for this element- Parameters:
namespaces
- the in-scope namespaces. This includes all namespace bindings that are in scope, not just the local namespace declarations
-
getAllNamespaces
public NamespaceMap getAllNamespaces()
Description copied from class:FleetingNode
Get all the namespace bindings that are in-scope for this element.For an element return all the prefix-to-uri bindings that are in scope. This may include a binding to the default namespace (represented by a prefix of ""). It will never include "undeclarations" - that is, the namespace URI will never be empty; the effect of an undeclaration is to remove a binding from the in-scope namespaces, not to add anything.
For a node other than an element, returns null.
- Specified by:
getAllNamespaces
in interfaceNodeInfo
- Overrides:
getAllNamespaces
in classFleetingNode
- Returns:
- the in-scope namespaces for an element, or null for any other kind of node.
-
setAttributes
public void setAttributes(AttributeMap attributes)
Set the attributes that appear on this element- Parameters:
attributes
- the element's attributes
-
copy
public void copy(Receiver out, int copyOptions, Location locationId) throws XPathException
Copy this node to a given Receiver.This method is primarily for internal use. It should not be considered a stable part of the Saxon API.
- Parameters:
out
- the Receiver to which the node should be copied. It is the caller's responsibility to ensure that this Receiver is open before the method is called (or that it is self-opening), and that it is closed after use.copyOptions
- a selection of the options defined inCopyOptions
locationId
- If non-zero, identifies the location of the instruction that requested this copy. If zero, indicates that the location information for the original node is to be copied; in this case the Receiver must be- Throws:
java.lang.UnsupportedOperationException
- (always)XPathException
- if any downstream error occurs
-
iterateAxis
public AxisIterator iterateAxis(int axisNumber, java.util.function.Predicate<? super NodeInfo> nodeTest)
Return an iteration over all the nodes reached by the given axis from this node that match a given NodeTest- Specified by:
iterateAxis
in interfaceNodeInfo
- Overrides:
iterateAxis
in classFleetingNode
- Parameters:
axisNumber
- an integer identifying the axis; one of the constants defined in classAxisInfo
nodeTest
- A condition to be satisfied by the returned nodes; nodes that do not satisfy this condition are not included in the result- Returns:
- an AxisIterator that delivers the nodes reached by the axis in turn. The nodes are returned in axis order (document order for a forwards axis, reverse document order for a reverse axis).
- Throws:
java.lang.UnsupportedOperationException
- if the namespace axis is requested and this axis is not supported for this implementation.- Since:
- 8.4
- See Also:
AxisInfo
-
getAttributes
public AttributeMap getAttributes()
Get the attributes defined on this element- Returns:
- the attributes in the form of an AttributeCollection
-
getInScopeNamespaces
public NamespaceMap getInScopeNamespaces()
Get all in-scope namespaces defined on this element.- Overrides:
getInScopeNamespaces
in classFleetingNode
- Returns:
- a
NamespaceMap
containing all the in-scope namespaces for an element (not just those declared locally on the element itself). Returns null if the node is not an element.
-
getAttributeValue
public java.lang.String getAttributeValue(java.lang.String uri, java.lang.String local)
Get the string value of a given attribute of this node- Specified by:
getAttributeValue
in interfaceNodeInfo
- Overrides:
getAttributeValue
in classFleetingNode
- Parameters:
uri
- the namespace URI of the attribute name. Supply the empty string for an attribute that is in no namespacelocal
- the local part of the attribute name.- Returns:
- the attribute value if it exists, or null if it does not exist. Always returns null if this node is not an element.
- Since:
- 9.4
-
getAttributeIndex
public int getAttributeIndex(java.lang.String uri, java.lang.String local)
Get the index position of an attribute with given local name and fingerprint
-
getNamespaceNodeIndex
public int getNamespaceNodeIndex(java.lang.String prefix)
Get the index position of a namespace node with given local name (=prefix
-
notify
public void notify(Receiver out) throws XPathException
Notify the event to a Receiver- Specified by:
notify
in classFleetingParentNode
- Parameters:
out
- the receiver to be notified- Throws:
XPathException
-
-