Class DocumentHandlerProxy

  • All Implemented Interfaces:
    javax.xml.transform.Result

    public class DocumentHandlerProxy
    extends Emitter
    A DocumentHandlerProxy is an Emitter that filters data before passing it to an underlying SAX DocumentHandler. Note that in general the output passed to an Emitter corresponds to an External General Parsed Entity. A SAX DocumentHandler only expects to deal with well-formed XML documents, so we only pass it the contents of the first element encountered.
    • Field Detail

      • handler

        protected org.xml.sax.DocumentHandler handler
      • outputAtts

        protected org.xml.sax.helpers.AttributeListImpl outputAtts
    • Constructor Detail

      • DocumentHandlerProxy

        public DocumentHandlerProxy()
    • Method Detail

      • setUnderlyingDocumentHandler

        public void setUnderlyingDocumentHandler​(org.xml.sax.DocumentHandler handler)
        Set the underlying document handler. This call is mandatory before using the Emitter.
      • setDocumentLocator

        public void setDocumentLocator​(org.xml.sax.Locator locator)
        Set Document Locator
        Overrides:
        setDocumentLocator in class Emitter
      • startDocument

        public void startDocument()
                           throws javax.xml.transform.TransformerException
        Start of document
        Specified by:
        startDocument in class Emitter
        Throws:
        javax.xml.transform.TransformerException
      • endDocument

        public void endDocument()
                         throws javax.xml.transform.TransformerException
        End of document
        Specified by:
        endDocument in class Emitter
        Throws:
        javax.xml.transform.TransformerException
      • startElement

        public void startElement​(int nameCode,
                                 org.xml.sax.Attributes attributes,
                                 int[] namespaces,
                                 int nscount)
                          throws javax.xml.transform.TransformerException
        Start of element
        Specified by:
        startElement in class Emitter
        namespaces - Array of namespace codes identifying the namespace prefix/uri pairs associated with this element
        nscount - Number of significant entries within namespaces array
        Throws:
        javax.xml.transform.TransformerException
      • endElement

        public void endElement​(int nameCode)
                        throws javax.xml.transform.TransformerException
        End of element
        Specified by:
        endElement in class Emitter
        Throws:
        javax.xml.transform.TransformerException
      • characters

        public void characters​(char[] chars,
                               int start,
                               int len)
                        throws javax.xml.transform.TransformerException
        Character data
        Specified by:
        characters in class Emitter
        Throws:
        javax.xml.transform.TransformerException
      • processingInstruction

        public void processingInstruction​(java.lang.String target,
                                          java.lang.String data)
                                   throws javax.xml.transform.TransformerException
        Processing Instruction
        Specified by:
        processingInstruction in class Emitter
        Throws:
        javax.xml.transform.TransformerException
      • comment

        public void comment​(char[] ch,
                            int start,
                            int length)
        Output a comment
        Specified by:
        comment in class Emitter