public abstract class SequenceNormalizer extends ProxyReceiver
There are two subclasses, which handle the different logic for the case where an
item-separator
is provided, and the case where whitespace-separation is used.
Note that the whitespace case behaves differently from the case where the item-separator
is set to a single space.
Because this Receiver is often used as the entry point to the pipeline for a
Destination
, it includes logic allowing onClose
action for the
Destination to be triggered when the Receiver is closed.
Modifier and Type | Field and Description |
---|---|
protected boolean |
inStartTag |
protected int |
level |
nextReceiver
pipelineConfiguration, previousAtomic, systemId
Constructor and Description |
---|
SequenceNormalizer(Receiver next) |
Modifier and Type | Method and Description |
---|---|
void |
attribute(NodeName name,
SimpleType typeCode,
java.lang.CharSequence value,
Location locationId,
int properties)
Notify an attribute.
|
void |
characters(java.lang.CharSequence chars,
Location locationId,
int properties)
Character data
|
void |
close()
End of output.
|
void |
comment(java.lang.CharSequence chars,
Location locationId,
int properties)
Output a comment
|
void |
endDocument()
Notify the end of a document node
|
void |
endElement()
End of element
|
void |
namespace(NamespaceBindingSet namespaceBindings,
int properties)
Notify a namespace.
|
void |
onClose(Action action) |
void |
onClose(java.util.List<Action> actionList)
Set actions to be performed when this
Receiver is closed |
void |
open()
Start of event stream
|
void |
processingInstruction(java.lang.String target,
java.lang.CharSequence data,
Location locationId,
int properties)
Processing Instruction
|
void |
startContent()
Notify the start of the content, that is, the completion of all attributes and namespaces.
|
void |
startDocument(int properties)
Start of a document node.
|
void |
startElement(NodeName elemName,
SchemaType typeCode,
Location location,
int properties)
Notify the start of an element
|
append, getNamePool, getNextReceiver, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, usesTypeAnnotations
append, decompose, flatten, getConfiguration, getErrorCodeForDecomposingFunctionItems, getPipelineConfiguration, getSystemId, handlesAppend
public SequenceNormalizer(Receiver next)
public void open() throws XPathException
open
in interface Receiver
open
in class ProxyReceiver
XPathException
- if an error occurspublic void startDocument(int properties) throws XPathException
startDocument
in interface Receiver
startDocument
in class ProxyReceiver
properties
- bit-significant integer indicating properties of the document node.
The definitions of the bits are in class ReceiverOptions
XPathException
- if an error occurspublic void endDocument() throws XPathException
endDocument
in interface Receiver
endDocument
in class ProxyReceiver
XPathException
- if an error occurspublic void startElement(NodeName elemName, SchemaType typeCode, Location location, int properties) throws XPathException
startElement
in interface Receiver
startElement
in class ProxyReceiver
elemName
- integer code identifying the name of the element within the name pool.typeCode
- integer code identifying the element's type within the name pool.location
- properties
- properties of the element nodeXPathException
- if an error occurspublic void attribute(NodeName name, SimpleType typeCode, java.lang.CharSequence value, Location locationId, int properties) throws XPathException
attribute
in interface Receiver
attribute
in class ProxyReceiver
name
- The name of the attributetypeCode
- The type of the attributevalue
- locationId
- the location of the node in the source, or of the instruction that created itproperties
- Bit significant value. The following bits are defined:
IllegalStateException:
- attempt to output an attribute when there is no open elementXPathException
- if an error occurspublic void namespace(NamespaceBindingSet namespaceBindings, int properties) throws XPathException
namespace
in interface Receiver
namespace
in class ProxyReceiver
namespaceBindings
- the prefix/uri pair representing the namespace bindingproperties
- any special properties to be passed on this callIllegalStateException:
- attempt to output a namespace when there is no open element
start tagXPathException
- if an error occurspublic void startContent() throws XPathException
startContent
in interface Receiver
startContent
in class ProxyReceiver
XPathException
- if an error occurspublic void characters(java.lang.CharSequence chars, Location locationId, int properties) throws XPathException
characters
in interface Receiver
characters
in class ProxyReceiver
chars
- The characterslocationId
- provides information such as line number and system ID.properties
- Bit significant value. The following bits are defined:
XPathException
- if an error occurspublic void processingInstruction(java.lang.String target, java.lang.CharSequence data, Location locationId, int properties) throws XPathException
processingInstruction
in interface Receiver
processingInstruction
in class ProxyReceiver
target
- The PI name. This must be a legal name (it will not be checked).data
- The data portion of the processing instructionlocationId
- provides information such as line number and system ID.properties
- Additional information about the PI.XPathException
- if an error occurspublic void comment(java.lang.CharSequence chars, Location locationId, int properties) throws XPathException
comment
in interface Receiver
comment
in class ProxyReceiver
chars
- The content of the commentlocationId
- provides information such as line number and system ID.properties
- Additional information about the comment.XPathException
- if an error occurspublic void endElement() throws XPathException
endElement
in interface Receiver
endElement
in class ProxyReceiver
XPathException
- if an error occurspublic void close() throws XPathException
close
in interface Receiver
close
in class ProxyReceiver
XPathException
- if an error occurspublic void onClose(java.util.List<Action> actionList)
Receiver
is closedactionList
- a list of actions to be performedpublic void onClose(Action action)
Copyright (c) 2004-2020 Saxonica Limited. All rights reserved.