com.saxonica.stream.feed

## Class ComplexNodeEventFeed

- java.lang.Object
- - com.saxonica.stream.feed.EventFeed
  - - com.saxonica.stream.feed.ComplexNodeEventFeed

- All Implemented Interfaces:
    Feed

      public class ComplexNodeEventFeed
      extends EventFeed

  This event feed supports instructions that create a document or element node. The events representing the start and end of the element or document are written to the destination receiver during the open() and close() calls. Between these two calls, the child instruction representing the content of the document or element pushes its output to the same destination receiver.

  The instruction-dependent code is contained in the processLeft() and processRight() methods of the expression object, which must be a `DivisibleInstruction`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ComplexNodeEventFeed(Expression exp, Feed parentExpressionFeed, Stack<XPathContext> contextStack)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Finish evaluating the expression.
    `void` | `open()` Start evaluating the expression.

    - ### Methods inherited from class com.saxonica.stream.feed.EventFeed

      `append, 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

    - #### ComplexNodeEventFeed

          public ComplexNodeEventFeed(Expression exp,
                              Feed parentExpressionFeed,
                              Stack<XPathContext> contextStack)

  - ### Method Detail

    - #### open

          public void open()
                    throws XPathException

      Description copied from class: `EventFeed`
      Start evaluating the expression. This must call open() on the parent expression feed before it does anything else. For the default implementation, this is all that it does. Note that it does not open the destination receiver.
      Specified by:
        `open` in interface `Feed`
      Overrides:
        `open` in class `EventFeed`
      Throws:
        `XPathException` - to report any failure

    - #### close

          public void close()
                     throws XPathException

      Description copied from class: `EventFeed`
      Finish evaluating the expression. This must call close() on the parent expression feed as the last thing it does. For the default implementation, this is all that it does. Note that it does not close the destination receiver.
      Specified by:
        `close` in interface `Feed`
      Overrides:
        `close` in class `EventFeed`
      Throws:
        `XPathException` - to report any failure

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