Class TeeOutputter

  • All Implemented Interfaces:
    javax.xml.transform.Result, Receiver
    Direct Known Subclasses:
    AssertionTreeBuilder

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

      • 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​(java.lang.String name,
                                      java.lang.String systemID,
                                      java.lang.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
      • 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​(java.lang.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:
        java.lang.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:
        java.lang.IllegalArgumentException - the content is invalid for an XML comment
        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