## net.sf.saxon.trace
Class ExpressionPresenter

    java.lang.Object
      net.sf.saxon.trace.ExpressionPresenter

    public class ExpressionPresenter

extends Object

This class handles the display of an abstract expression tree in an XML format with some slight resemblence to XQueryX

Constructor Summary
`ExpressionPresenter(Configuration config)` Make an ExpressionPresenter that writes indented output to the standard error output destination of the Configuration
`ExpressionPresenter(Configuration config, OutputStream out)` Make an ExpressionPresenter that writes indented output to a specified output stream
`ExpressionPresenter(Configuration config, Receiver receiver)` Make an ExpressionPresenter for a given Configuration using a user-supplied Receiver to accept the output

Method Summary
`void` `close()` Close the output
`static Receiver` `defaultDestination(Configuration config, OutputStream out)` Make a receiver, using default output properties, with serialized output going to a specified OutputStream
`void` `emitAttribute(String name, String value)` Output an attribute node
`int` `endElement()` End an element in the expression tree
`void` `endSubsidiaryElement()` End a child element in the output
`Configuration` `getConfiguration()` Get the Saxon configuration
`NamePool` `getNamePool()` Get the name pool
`TypeHierarchy` `getTypeHierarchy()` Get the type hierarchy cache
`static Properties` `makeDefaultProperties()` Make a Properties object containing defaulted serialization attributes for the expression tree
`int` `startElement(String name)` Start an element
`void` `startSubsidiaryElement(String name)` Start a child element in the output

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ExpressionPresenter

    public ExpressionPresenter(Configuration config)

  Make an ExpressionPresenter that writes indented output to the standard error output destination of the Configuration

  Parameters:
    `config` - the Saxon configuration

### ExpressionPresenter

    public ExpressionPresenter(Configuration config,
                               OutputStream out)

  Make an ExpressionPresenter that writes indented output to a specified output stream

  Parameters:
    `config` - the Saxon configuration
    `out` - the output stream

### ExpressionPresenter

    public ExpressionPresenter(Configuration config,
                               Receiver receiver)

  Make an ExpressionPresenter for a given Configuration using a user-supplied Receiver to accept the output

  Parameters:
    `config` - the Configuration
    `receiver` - the user-supplied Receiver

Method Detail

### defaultDestination

    public static Receiver defaultDestination(Configuration config,
                                              OutputStream out)
                                       throws XPathException

  Make a receiver, using default output properties, with serialized output going to a specified OutputStream

  Parameters:
    `config` - the Configuration
    `out` - the OutputStream
  Returns:
    a Receiver that directs serialized output to this output stream
  Throws:
    `XPathException`

### makeDefaultProperties

    public static Properties makeDefaultProperties()

  Make a Properties object containing defaulted serialization attributes for the expression tree

  Returns:
    a default set of properties

### startElement

    public int startElement(String name)

  Start an element

  Parameters:
    `name` - the name of the element
  Returns:
    the depth of the tree before this element: for diagnostics, this can be compared with the value returned by endElement

### emitAttribute

    public void emitAttribute(String name,
                              String value)

  Output an attribute node

  Parameters:
    `name` - the name of the attribute
    `value` - the value of the attribute

### endElement

    public int endElement()

  End an element in the expression tree

  Returns:
    the depth of the tree after ending this element. For diagnostics, this can be compared with the value returned by startElement()

### startSubsidiaryElement

    public void startSubsidiaryElement(String name)

  Start a child element in the output

  Parameters:
    `name` - the name of the child element

### endSubsidiaryElement

    public void endSubsidiaryElement()

  End a child element in the output

### close

    public void close()

  Close the output

### getConfiguration

    public Configuration getConfiguration()

  Get the Saxon configuration

  Returns:
    the Saxon configuration

### getNamePool

    public NamePool getNamePool()

  Get the name pool

  Returns:
    the name pool

### getTypeHierarchy

    public TypeHierarchy getTypeHierarchy()

  Get the type hierarchy cache

  Returns:
    the type hierarchy cache

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