com.saxonica.stream.feed

## Class SimpleNodeConstructorFeed

- java.lang.Object
- - com.saxonica.stream.feed.ItemFeed
  - - 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

    Constructors
    Constructor and Description
    `SimpleNodeConstructorFeed(Expression expr, Feed result, Stack<XPathContext> contextStack)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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-2013 Saxonica Limited. All rights reserved.