Class TracingFilter

All Implemented Interfaces:
Result, Receiver

public class TracingFilter extends ProxyReceiver
A filter that can be inserted into a Receiver pipeline to trace the events that pass through. This class is not normally used in Saxon, but is available for diagnostics when needed.
  • Constructor Details

    • TracingFilter

      public TracingFilter(Receiver nextReceiver)
      Create a TracingFilter and allocate a unique Id.
      Parameters:
      nextReceiver - the underlying receiver to which the events will be sent
    • TracingFilter

      public TracingFilter(Receiver nextReceiver, PrintStream diagnosticOutput)
      Create a TracingFilter, allocate a unique Id, and supply the destination for diagnostic trace messages
      Parameters:
      nextReceiver - the underlying receiver to which the events will be sent
      diagnosticOutput - the destination for diagnostic trace messages
  • Method Details

    • getId

      public int getId()
      Get the unique id that was allocated to this TracingFilter
      Returns:
      the unique id (which is included in all diagnostic messages)
    • append

      public void append(Item item, Location locationId, int copyNamespaces) throws XPathException
      Append an arbitrary item (node or atomic value) to the output
      Specified by:
      append in interface Receiver
      Overrides:
      append in class ProxyReceiver
      Parameters:
      item - the item to be appended
      locationId - the location of the calling instruction, for diagnostics
      copyNamespaces - if the item is an element node, this indicates whether its namespaces need to be copied. Values are ReceiverOption.ALL_NAMESPACES; the default (0) means
      Throws:
      XPathException - if an error occurs
    • characters

      public void characters(UnicodeString chars, Location locationId, int properties) throws XPathException
      Character data
      Specified by:
      characters in interface Receiver
      Overrides:
      characters in class ProxyReceiver
      Parameters:
      chars - The characters
      locationId - provides information such as line number and system ID.
      properties - Bit significant value. The following bits are defined:
      DISABLE_ESCAPING
      Disable escaping for this text node
      USE_CDATA
      Output as a CDATA section
      Throws:
      XPathException - if an error occurs
    • close

      public void close() throws XPathException
      End of document
      Specified by:
      close in interface Receiver
      Overrides:
      close in class ProxyReceiver
      Throws:
      XPathException - if an error occurs
    • comment

      public void comment(UnicodeString chars, Location locationId, int properties) throws XPathException
      Output a comment
      Specified by:
      comment in interface Receiver
      Overrides:
      comment in class ProxyReceiver
      Parameters:
      chars - The content of the comment
      locationId - provides information such as line number and system ID.
      properties - Additional information about the comment.
      Throws:
      XPathException - if an error occurs
    • endDocument

      public void endDocument() throws XPathException
      Notify the end of a document node
      Specified by:
      endDocument in interface Receiver
      Overrides:
      endDocument in class ProxyReceiver
      Throws:
      XPathException - if an error occurs
    • endElement

      public void endElement() throws XPathException
      End of element
      Specified by:
      endElement in interface Receiver
      Overrides:
      endElement in class ProxyReceiver
      Throws:
      XPathException - if an error occurs
    • open

      public void open() throws XPathException
      Start of event stream
      Specified by:
      open in interface Receiver
      Overrides:
      open in class ProxyReceiver
      Throws:
      XPathException - if an error occurs
    • processingInstruction

      public void processingInstruction(String target, UnicodeString data, Location locationId, int properties) throws XPathException
      Processing Instruction
      Specified by:
      processingInstruction in interface Receiver
      Overrides:
      processingInstruction in class ProxyReceiver
      Parameters:
      target - The PI name. This must be a legal name (it will not be checked).
      data - The data portion of the processing instruction
      locationId - provides information such as line number and system ID.
      properties - Additional information about the PI.
      Throws:
      XPathException - if an error occurs
    • startDocument

      public void startDocument(int properties) throws XPathException
      Start of a document node.
      Specified by:
      startDocument in interface Receiver
      Overrides:
      startDocument in class ProxyReceiver
      Parameters:
      properties - properties of the document node
      Throws:
      XPathException - if an error occurs
    • startElement

      public void startElement(NodeName elemName, SchemaType type, AttributeMap attributes, NamespaceMap namespaces, Location location, int properties) throws XPathException
      Notify the start of an element
      Specified by:
      startElement in interface Receiver
      Overrides:
      startElement in class ProxyReceiver
      Parameters:
      elemName - the name of the element.
      type - the type annotation of the element.
      attributes - the attributes of this element
      namespaces - the in-scope namespaces of this element: generally this is all the in-scope namespaces, without relying on inheriting namespaces from parent elements
      location - an object providing information about the module, line, and column where the node originated
      properties - bit-significant properties of the element node. If there are no relevant properties, zero is supplied. The definitions of the bits are in class ReceiverOption
      Throws:
      XPathException - if an error occurs