Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.saxon.expr.instruct
Interface DivisibleInstruction

All Known Implementing Classes:
  ComputedElement, Copy, DocumentInstr, ElementCreator, FixedElement, ParentNodeConstructor, ResultDocument

    public interface DivisibleInstruction

This interface is implemented by instructions that can be executed in streaming mode. The instruction offers two methods, processLeft() which is executed before processing the descendants of the context node, and processRight() which is executed after processing the descendants.

Method Summary
`Expression` | `getContentExpression()` Get the content expression
`void` | `processLeft(Stack<XPathContext> contextStack, Stack<Object> state)` In streaming mode, process the first half of the instruction (for example, to start a new document or element)
`void` | `processRight(Stack<XPathContext> contextStack, Stack<Object> state)` In streaming mode, process the right half of the instruction (for example, to end a new document or element)

Method Detail

### processLeft

    void processLeft(Stack<XPathContext> contextStack,
                     Stack<Object> state)
                     throws XPathException

  In streaming mode, process the first half of the instruction (for example, to start a new document or element)

  Parameters:
    `contextStack` - Stack of XPathContext objects. The instruction should use the one at the top of the stack. Some instructions (such as xsl:result-document) create a new context object and add it to the stack, removing it in the corresponding processRight() action.
    `state` - a stack on which the instruction can save state information during the call on processLeft(). state (together withe the contextStack) represents the "continuation", the data maintained by the instruction
  Throws:
    `XPathException` - if a dynamic error occurs

### processRight

    void processRight(Stack<XPathContext> contextStack,
                      Stack<Object> state)
                      throws XPathException

  In streaming mode, process the right half of the instruction (for example, to end a new document or element)

  Parameters:
    `contextStack` - Stack of XPathContext objects. The instruction should use the one at the top of the stack.
    `state` - the stack on which the instruction saved state information during the corresponding call on processLeft(). On entry to the processRight() method, the stack will be in the same state as it was on exit from processLeft().
  Throws:
    `XPathException` - if a dynamic error occurs

### getContentExpression

    Expression getContentExpression()

  Get the content expression

  Returns:
    the expression that generates the content of the element or document node constructed by this DivisibleInstruction

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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