Class TeeOutputter

java.lang.Object
net.sf.saxon.event.SequenceReceiver
net.sf.saxon.event.TeeOutputter
All Implemented Interfaces:
Result, Receiver
Direct Known Subclasses:
AssertionTreeBuilder

public class TeeOutputter extends SequenceReceiver
TeeOutputter: a SequenceReceiver that duplicates received events to two different destinations
  • Constructor Details

  • Method Details

    • setFirstDestination

      protected void setFirstDestination(Receiver seq1)
      Set the first destination
      Parameters:
      seq1 - the first output destination
    • setSecondDestination

      protected void setSecondDestination(Receiver seq2)
      Set the second destination
      Parameters:
      seq2 - the second output destination
    • getFirstDestination

      protected Receiver getFirstDestination()
      Get the first destination
      Returns:
      the first output destination
    • getSecondDestination

      protected Receiver getSecondDestination()
      Get the second destination
      Returns:
      the second output destination
    • setUnparsedEntity

      public void setUnparsedEntity(String name, String systemID, String publicID) throws XPathException
      Pass on information about unparsed entities
      Specified by:
      setUnparsedEntity in interface Receiver
      Overrides:
      setUnparsedEntity in class SequenceReceiver
      Parameters:
      name - The name of the unparsed entity
      systemID - The system identifier of the unparsed entity
      publicID - The public identifier of the unparsed entity
      Throws:
      XPathException - in the event of an error
    • append

      public void append(Item item, Location locationId, int properties) throws XPathException
      Output an item (atomic value or node) to the sequence
      Specified by:
      append in interface Receiver
      Specified by:
      append in class SequenceReceiver
      Parameters:
      item - the item to be appended
      locationId - the location of the calling instruction, for diagnostics
      properties - 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
    • open

      public void open() throws XPathException
      Description copied from class: SequenceReceiver
      Start the output process
      Specified by:
      open in interface Receiver
      Overrides:
      open in class SequenceReceiver
      Throws:
      XPathException - if an error occurs
    • startDocument

      public void startDocument(int properties) throws XPathException
      Notify the start of a document node
      Parameters:
      properties - bit-significant integer indicating properties of the document node. The definitions of the bits are in class ReceiverOption
      Throws:
      XPathException - if an error occurs
    • endDocument

      public void endDocument() throws XPathException
      Notify the end of a 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
      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
    • endElement

      public void endElement() throws XPathException
      Notify the end of an element. The receiver must maintain a stack if it needs to know which element is ending.
      Throws:
      XPathException - if an error occurs
    • characters

      public void characters(UnicodeString chars, Location locationId, int properties) throws XPathException
      Notify character data. Note that some receivers may require the character data to be sent in a single event, but in general this is not a requirement.
      Parameters:
      chars - The characters
      locationId - an integer which can be interpreted using a LocationMap to return information such as line number and system ID. If no location information is available, the value zero is supplied.
      properties - Bit significant value. The following bits are defined:
      Throws:
      XPathException - if an error occurs
    • processingInstruction

      public void processingInstruction(String name, UnicodeString data, Location locationId, int properties) throws XPathException
      Output a processing instruction
      Parameters:
      name - The PI name. This must be a legal name (it will not be checked).
      data - The data portion of the processing instruction
      locationId - an integer which can be interpreted using a LocationMap to return information such as line number and system ID. If no location information is available, the value zero is supplied.
      properties - Additional information about the PI. The following bits are defined:
      CHECKED
      Data is known to be legal (e.g. doesn't contain "?>")
      Throws:
      IllegalArgumentException - the content is invalid for an XML processing instruction
      XPathException - if an error occurs
    • comment

      public void comment(UnicodeString content, Location locationId, int properties) throws XPathException
      Notify a comment. Comments are only notified if they are outside the DTD.
      Parameters:
      content - The content of the comment
      locationId - an integer which can be interpreted using a LocationMap to return information such as line number and system ID. If no location information is available, the value zero is supplied.
      properties - Additional information about the comment. The following bits are defined:
      CHECKED
      Comment is known to be legal (e.g. doesn't contain "--")
      Throws:
      IllegalArgumentException - the content is invalid for an XML comment
      XPathException - if an error occurs
    • close

      public void close() throws XPathException
      Notify the end of the event stream
      Throws:
      XPathException - if an error occurs
    • usesTypeAnnotations

      public boolean usesTypeAnnotations()
      Ask whether this Receiver (or the downstream pipeline) makes any use of the type annotations supplied on element and attribute events
      Returns:
      true if the Receiver makes any use of this information. If false, the caller may supply untyped nodes instead of supplying the type annotation