com.saxonica.stream.feed
Class SimpleNodeConstructorFeed

java.lang.Object
  extended by com.saxonica.stream.feed.ItemFeed
      extended by com.saxonica.stream.feed.SimpleNodeConstructorFeed
All Implemented Interfaces:
Feed

public class SimpleNodeConstructorFeed
extends ItemFeed

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 SimpleContentFeed 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 example xsl: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.


Constructor Summary
SimpleNodeConstructorFeed(Expression expr, Feed result, Stack<XPathContext> contextStack)
           
 
Method Summary
 void append(Item item)
          Supply an item to the feed
 void close()
          Finish evaluating the expression.
 void open()
          Start evaluating the expression.
 
Methods inherited from class com.saxonica.stream.feed.ItemFeed
getContext, getContextStack, getExpression, getPipelineConfiguration, getResult, setPipelineConfiguration
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleNodeConstructorFeed

public SimpleNodeConstructorFeed(Expression expr,
                                 Feed result,
                                 Stack<XPathContext> contextStack)
Method Detail

open

public void open()
          throws XPathException
Description copied from class: ItemFeed
Start evaluating the expression. The default implementation does nothing.

Specified by:
open in interface Feed
Overrides:
open in class ItemFeed
Throws:
XPathException - if a dynamic error occurs

close

public void close()
           throws XPathException
Description copied from class: ItemFeed
Finish evaluating the expression. The default implementation does nothing.

Specified by:
close in interface Feed
Overrides:
close in class ItemFeed
Throws:
XPathException - if a dynamic error occurs

append

public void append(Item item)
            throws XPathException
Supply an item to the feed

Specified by:
append in interface Feed
Specified by:
append in class ItemFeed
Parameters:
item - the item being fed
Throws:
XPathException - to report any failure


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