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 resemblance to XQueryX
  • Constructor Details

    • ExpressionPresenter

      public ExpressionPresenter()
      Make an uncommitted ExpressionPresenter. This must be followed by a call on init()
    • 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, StreamResult out)
      Make an ExpressionPresenter that writes indented output to a specified output stream
      Parameters:
      config - the Saxon configuration
      out - the output destination
    • ExpressionPresenter

      public ExpressionPresenter(Builder builder)
      Make an ExpressionPresenter that writes to a specified tree builder
      Parameters:
      builder - the tree builder
    • ExpressionPresenter

      public ExpressionPresenter(Configuration config, StreamResult out, boolean checksum)
      Make an ExpressionPresenter that writes indented output to a specified output stream, with optional checksum
      Parameters:
      config - the Saxon configuration
      out - the output destination
      checksum - true if a checksum is to be written at the end of the file
    • ExpressionPresenter

      public ExpressionPresenter(Configuration config, Logger 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 Details

    • init

      public void init(Configuration config, StreamResult out, boolean checksum)
      Make an ExpressionPresenter that writes indented output to a specified output stream, with checksumming
      Parameters:
      config - the Saxon configuration
      out - the output destination
      checksum - true if a checksum is to be written at the end of the file
    • init

      public void init(Configuration config, Receiver out, boolean checksum)
      Make an ExpressionPresenter that writes indented output to a specified output stream, with checksumming
      Parameters:
      config - the Saxon configuration
      out - the output destination
      checksum - true if a checksum is to be written at the end of the file
    • setDefaultNamespace

      public void setDefaultNamespace(NamespaceUri namespace)
      Set the default namespace, used for subsequent calls on startElement. Must be consistent throughout the whole document
      Parameters:
      namespace - the default namespace
    • setOptions

      public void setOptions(ExpressionPresenter.ExportOptions options)
      Set the options
      Parameters:
      options - the options
    • getOptions

      public ExpressionPresenter.ExportOptions getOptions()
      Get the options
      Returns:
      the options, or null if none have been set
    • setRelocatable

      public void setRelocatable(boolean relocatable)
      Say whether the package can be deployed to a different location, with a different base URI
      Parameters:
      relocatable - if true then static-base-uri() represents the deployed location of the package, rather than its compile time location
    • defaultDestination

      public static Receiver defaultDestination(Configuration config, Logger 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 - if a serializer cannot be created
    • makeDefaultProperties

      public static SerializationProperties makeDefaultProperties(Configuration config)
      Make a Properties object containing defaulted serialization attributes for the expression tree
      Parameters:
      config - the Configuration
      Returns:
      a default set of properties
    • startElement

      public int startElement(String name, Expression expr)
      Start an element representing an expression in the expression tree
      Parameters:
      name - the name of the element
      expr - the expression represented
      Returns:
      the depth of the tree before this element: for diagnostics, this can be compared with the value returned by endElement
    • emitRetainedStaticContext

      public void emitRetainedStaticContext(RetainedStaticContext sc, RetainedStaticContext parentSC)
    • getNamespacesAsString

      public static String getNamespacesAsString(NamespaceMap sc, boolean includeXmlNamespace) throws XPathException
      From a NamespaceMap, produce the SEF concise representation, for example "xs=~ xsl=~ example=file://example.com/"
      Parameters:
      sc - the namespace map
      includeXmlNamespace - for compatibility with SaxonJS 2+, indicate that any explicit binding for the XML namespace should be included in the list
      Returns:
      the concise string representation of the namespace map
      Throws:
      XPathException - if the namespace map contains unsuitable namespaces, for example namespace URIs containing whitespace.
    • 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
    • setChildRole

      public void setChildRole(String role)
      Set the role of the next element to be output
      Parameters:
      role - the value of the role output to be used
    • 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
    • emitAttribute

      public void emitAttribute(String name, StructuredQName value)
      Output a QName-valued attribute node
      Parameters:
      name - the name of the attribute
      value - the value of the attribute
    • namespace

      public void namespace(String prefix, NamespaceUri uri)
      Output a namespace declaration. All namespaces should be declared at the top level.
      Parameters:
      prefix - the namespace prefix
      uri - the namespace URI
    • 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
    • jsEscape

      public static String jsEscape(String in)
      Static method to escape a string using Javascript escaping conventions
      Parameters:
      in - the string to be escaped
      Returns:
      the escaped string