Class Emitter

  • All Implemented Interfaces:
    Result
    Direct Known Subclasses:
    Builder, ContentHandlerProxy, DocumentHandlerProxy, DOMEmitter, ErrorEmitter, ProxyEmitter, XMLEmitter

    public abstract class Emitter
    extends Object
    implements Result
    Emitter: This interface defines methods that must be implemented by components that format SAXON output. There is one emitter for XML, one for HTML, and so on. Additional methods are concerned with setting options and providing a Writer.

    The interface is deliberately designed to be as close as possible to the standard SAX2 ContentHandler interface, however, it allows additional information to be made available.

    • Constructor Detail

      • Emitter

        public Emitter()
    • Method Detail

      • setNamePool

        public void setNamePool​(NamePool namePool)
        Set the namePool in which all name codes can be found
      • getNamePool

        public NamePool getNamePool()
        Get the namepool used for this document
      • setSystemId

        public void setSystemId​(String systemId)
        Set the System ID
        Specified by:
        setSystemId in interface Result
      • setOutputProperties

        public void setOutputProperties​(Properties props)
        Set the output properties
      • getOutputProperties

        public Properties getOutputProperties()
        Get the output properties
      • usesWriter

        public boolean usesWriter()
        Determine whether the Emitter wants a Writer for character output or an OutputStream for binary output
      • setWriter

        public void setWriter​(Writer writer)
        Set the output destination as a character stream
      • getWriter

        public Writer getWriter()
        Get the output writer
      • setOutputStream

        public void setOutputStream​(OutputStream stream)
        Set the output destination as a byte stream
      • getOutputStream

        public OutputStream getOutputStream()
        Get the output stream
      • startElement

        public abstract void startElement​(int nameCode,
                                          Attributes attributes,
                                          int[] namespaces,
                                          int nscount)
                                   throws TransformerException
        Output an element start tag.
        Parameters:
        namespaces - Array of namespace codes identifying the namespace prefix/uri pairs associated with this element
        nscount - Number of significant entries within namespaces array
        Throws:
        TransformerException
      • comment

        public abstract void comment​(char[] chars,
                                     int start,
                                     int length)
                              throws TransformerException
        Output a comment.
        (The method signature is borrowed from the SAX2 LexicalHandler interface)
        Throws:
        TransformerException
      • setEscaping

        public void setEscaping​(boolean escaping)
                         throws TransformerException
        Switch escaping on or off. This is called when the XSLT disable-output-escaping attribute is used to switch escaping on or off. It is also called at the start and end of a CDATA section It is not called for other sections of output (e.g. comments) where escaping is inappropriate.
        Throws:
        TransformerException
      • setDocumentLocator

        public void setDocumentLocator​(Locator locator)
        Set locator, to identify position in the document. Used only when supplying input from a parser.