Package com.saxonica.stream.feed

This package contains classes used to support streaming.

See:
          Description

Interface Summary
Feed A Feed is a SequenceReceiver that accepts a sequence of items in composed form: it rejects events such as startElement and endElement that represent "decomposed" nodes in the data model.
FeedMaker An expression that can be evaluated in streaming mode is represented at compile time by a list of FeedMaker objects.
 

Class Summary
AdjacentTextNodeMergerFeed 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).
AtomizerFeed This class is used when a streaming template requests atomization of nodes that don't come directly from the streamed document, but rather are constructed in the course of the push pipeline
AvgFeed This class computes the result of the avg() function in push streaming mode
BlockFeed This class is used when a streaming template requests evaluation of a block (typically (A, B, C)) where one of the child expressions takes input from a watch on the streamed document.
BufferingFeed A BufferingFeed is used to wrap an expression that does not have intrinsic capability to accept streamed input.
CardinalityCheckingFeed A Feed which checks the cardinality of the streamed sequence of items.
ComplexNodeEventFeed This event feed supports instructions that create a document or element node.
CountFeed This class is used when counting items (other than nodes delivered by a Watch)
DecomposingFeed Appends the output of an ItemFeed to a SequenceReceiver
DistinctValuesFeed This class is used when a streaming template requests evaluation of the distinct-values() of the nodes selected by a path expression
EmptyTextNodeRemoverFeed 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).
EventFeed An EventFeed evaluates an expression in "decomposed push" mode.
EventFeedMaker Abstract FeedMaker acting for an Expression class that prefers to output decomposed events
FilterExpressionFeed This class is used when a streaming template requests filtering of items that don't come directly from the streamed document, but rather are constructed in the course of the push pipeline
ForEachFeed This class is used when a streaming template applies xsl:for-each to items that don't come directly from the streamed document, but rather are constructed in the course of the push pipeline
GeneralComparisonFeed This class is used when a streaming template requests a general comparison with one operand being pushed from the streamed input document
ItemFeed An ItemFeed evaluates an expression in "composed push" mode.
ItemFeedMaker Abstract FeedMaker acting for an Expression class that prefers to output composed items
ItemMappingFeed A Feed which applies an ItemMappingFunction to each supplied item.
MinimaxFeed This class is used when a streaming template requests evaluation of the sum() of the nodes selected by a path expression
NextIterationFeed This class is used when one of the xsl:with-param elements within an xsl:next-iteration of an xsl:iterate consumes the streamed input
SimpleNodeConstructorFeed 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).
StringJoinFeed This class is used when a streamed template requests evaluation of the string-join function streamed with respect to its first argument
SumFeed This class is used when a streaming template requests evaluation of the sum() of the nodes selected by a path expression, with the streamed input being the value of the first argument.
WithParamFeed A WithParamFeed is used to handle a WithParam element (for example, in xsl:next-iteration) whose select expression is evaluated in push mode.
 

Package com.saxonica.stream.feed Description

This package contains classes used to support streaming. For many kinds of expression that support streaming, there is a Feedclass in this package that evaluates the expression in composed push mode, one item at a time.

None of these classes will be used directly by typical user applications.

These classes generally implement the interface ItemFeed, whose main methods are open(), append(item), and close(). These methods are called to supply the sequence of items representing the streamed operand of the expression. The feed class can either deliver the result incrementally during calls of the append(item) method, or it can deliver the entire result during the close() method. (It is the responsibility of the class, however, to minimize the amount of data that it buffers).

The Feed class for evaluating an expression is created by calling the FeedMaker, which in turn is returned by the streaming adjunct class for the particular kind of expression.

Michael H. Kay
Saxonica Limited
30 July 2010



Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.