net.sf.saxon.pull
Class ElementNameTracker
java.lang.Object
net.sf.saxon.pull.PullFilter
net.sf.saxon.pull.ElementNameTracker
- All Implemented Interfaces:
- PullProvider
public class ElementNameTracker
- extends PullFilter
This is a filter that can be added to a pull pipeline to remember element names so that
they are available immediately after the END_ELEMENT event is notified
Fields inherited from interface net.sf.saxon.pull.PullProvider |
ATOMIC_VALUE, ATTRIBUTE, COMMENT, END_DOCUMENT, END_ELEMENT, END_OF_INPUT, NAMESPACE, PROCESSING_INSTRUCTION, START_DOCUMENT, START_ELEMENT, START_OF_INPUT, TEXT |
Method Summary |
int |
getNameCode()
Get the nameCode identifying the name of the current node. |
int |
next()
Get the next event. |
Methods inherited from class net.sf.saxon.pull.PullFilter |
close, current, getAtomicValue, getAttributes, getFingerprint, getNamePool, getNamespaceDeclarations, getPipelineConfiguration, getSourceLocator, getStringValue, getTypeAnnotation, getUnderlyingProvider, getUnparsedEntities, setPipelineConfiguration, skipToMatchingEnd |
ElementNameTracker
public ElementNameTracker(PullProvider base)
next
public int next()
throws XPathException
- Get the next event.
Note that a subclass that overrides this method is responsible for ensuring
that current() works properly. This can be achieved by setting the field
currentEvent to the event returned by any call on next().
- Specified by:
next
in interface PullProvider
- Overrides:
next
in class PullFilter
- Returns:
- an integer code indicating the type of event. The code
PullProvider.END_OF_INPUT
is returned at the end of the sequence.
- Throws:
XPathException
getNameCode
public int getNameCode()
- Get the nameCode identifying the name of the current node. This method
can be used after the
PullProvider.START_ELEMENT
, PullProvider.PROCESSING_INSTRUCTION
,
PullProvider.ATTRIBUTE
, or PullProvider.NAMESPACE
events. With some PullProvider implementations,
including this one, it can also be used after PullProvider.END_ELEMENT
: in fact, that is the
main purpose of this class.
If called at other times, the result is undefined and may result in an IllegalStateException.
If called when the current node is an unnamed namespace node (a node representing the default namespace)
the returned value is -1.
- Specified by:
getNameCode
in interface PullProvider
- Overrides:
getNameCode
in class PullFilter
- Returns:
- the nameCode. The nameCode can be used to obtain the prefix, local name,
and namespace URI from the name pool.
Copyright (C) Michael H. Kay. All rights reserved.