com.saxonica.stream.feed
Class AdjacentTextNodeMergerFeed

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

public class AdjacentTextNodeMergerFeed
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). It removes empty text nodes arriving on the input, and concatenates adjacent text nodes into a single text node.

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
AdjacentTextNodeMergerFeed(Expression expr, Feed result, Stack<XPathContext> contextStack)
           
 
Method Summary
 void append(Item item)
          Supply an item to the feed
 void close()
          Signal the end of the sequence of items
 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

AdjacentTextNodeMergerFeed

public AdjacentTextNodeMergerFeed(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

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

close

public void close()
           throws XPathException
Signal the end of the sequence of items

Specified by:
close in interface Feed
Overrides:
close in class ItemFeed
Throws:
XPathException - to report any failure


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