## 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
`ComplexNodeEventFeed(Expression exp, Feed parentExpressionFeed, Stack<XPathContext> contextStack)`

Method Summary
`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-2010 Saxonica Limited. All rights reserved.