Package com.saxonica.ee.stream.feed
Class SimpleContentFeed
- java.lang.Object
-
- net.sf.saxon.event.Outputter
-
- net.sf.saxon.event.ProxyOutputter
-
- com.saxonica.ee.stream.feed.ItemFeed
-
- com.saxonica.ee.stream.feed.GroundedItemFeed
-
- com.saxonica.ee.stream.feed.AbsorptionFeed
-
- com.saxonica.ee.stream.feed.SimpleContentFeed
-
- All Implemented Interfaces:
javax.xml.transform.Result
,Receiver
public class SimpleContentFeed extends AbsorptionFeed
This class is used when a streaming template requests evaluation of a simple content constructor in streaming mode (that is, when it constructs a text, attribute, comment, or PI node based on the contents of the streamed document).The result of this Watch is a single string, constructed using the rules of "Constructing Simple Content" in the XSLT specification.
The AdjacentTextNodeMergerFeed is used when the node is constructed as a result of a computation on the streamed data, for example
xsl:value-of select="distinct-values(.//@price)"
. By contrast, a SimpleContentWatch is used when the streamed nodes are selected directly, for examplexsl:value-of select=".//@price"
.Both a Feed and a Watch are needed because a simple content constructor operates on a sequence of nodes without simply atomizing the sequence.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.saxonica.ee.stream.feed.AbsorptionFeed
AbsorptionFeed.PendingItem
-
-
Field Summary
-
Fields inherited from class net.sf.saxon.event.Outputter
pipelineConfiguration, systemId
-
-
Constructor Summary
Constructors Constructor Description SimpleContentFeed(ItemFeed result)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AbsorptionFeed.PendingItem
makePendingItem(int sequenceNr, FleetingParentNode node)
Create a pending item (appropriate to the subclass) containing the data needed to compute the result value for one node in the streamed input sequenceprotected Sequence
processGroundedItem(Item item)
Process a grounded item in the input sequence: either a streamed leaf node such as an attribute or text node, or an atomic value, or a non-streamed element or document node injected into the sequence for example by use of the comma operator.-
Methods inherited from class com.saxonica.ee.stream.feed.AbsorptionFeed
append, endSelectedParentNode, setHasFailed, startSelectedParentNode
-
Methods inherited from class com.saxonica.ee.stream.feed.GroundedItemFeed
attribute, characters, comment, endDocument, endElement, namespace, processingInstruction, setUnparsedEntity, startContent, startDocument, startElement, startElement
-
Methods inherited from class com.saxonica.ee.stream.feed.ItemFeed
append, close, dynamicError, getContext, getExpression, getResult, getTerminator, hasFailed, open, processItems, setExpression, setTerminator
-
Methods inherited from class net.sf.saxon.event.ProxyOutputter
getNextOutputter, open, setLocation, usesTypeAnnotations
-
Methods inherited from class net.sf.saxon.event.Outputter
getConfiguration, getPipelineConfiguration, getStringReceiver, getSystemId, namespaces, setPipelineConfiguration, setSystemId
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.event.Receiver
handlesAppend
-
-
-
-
Constructor Detail
-
SimpleContentFeed
public SimpleContentFeed(ItemFeed result)
-
-
Method Detail
-
makePendingItem
protected AbsorptionFeed.PendingItem makePendingItem(int sequenceNr, FleetingParentNode node)
Description copied from class:AbsorptionFeed
Create a pending item (appropriate to the subclass) containing the data needed to compute the result value for one node in the streamed input sequence- Specified by:
makePendingItem
in classAbsorptionFeed
- Parameters:
sequenceNr
- the sequence number of this node within a set of nested nodesnode
- the streamed input node- Returns:
- the data needed to process this node
-
processGroundedItem
protected Sequence processGroundedItem(Item item) throws XPathException
Description copied from class:AbsorptionFeed
Process a grounded item in the input sequence: either a streamed leaf node such as an attribute or text node, or an atomic value, or a non-streamed element or document node injected into the sequence for example by use of the comma operator.- Specified by:
processGroundedItem
in classAbsorptionFeed
- Parameters:
item
- the grounded item- Returns:
- the result of processing the grounded item
- Throws:
XPathException
- if a dynamic error occurs
-
-