Class HTMLWriterFilter

  • All Implemented Interfaces:
    HTMLComponent, XMLComponent, XMLDocumentFilter, XMLDocumentSource, XMLDocumentHandler

    public class HTMLWriterFilter
    extends DefaultFilter
    An HTML writer written as a filter. Besides serializing the HTML event stream, the writer also passes the document events to the next stage in the pipeline. This allows applications to insert writer filters between other custom filters for debugging purposes.

    Since an HTML document may have specified its encoding using the <META> tag and http-equiv/content attributes, the writer will automatically change any character set specified in this tag to match the encoding of the output stream. Therefore, the character encoding name used to construct the writer should be an official IANA encoding name and not a Java encoding name.

    Note: The modified character set in the <META> tag is not propagated to the next stage in the pipeline. The changed value is only output to the stream; the original value is sent to the next stage in the pipeline.

    • Field Detail

      • encoding_

        private java.lang.String encoding_
        The encoding.
      • printer_

        private java.io.PrintWriter printer_
        The print writer used for serializing the document with the appropriate character encoding.
      • seenRootElement_

        private boolean seenRootElement_
        Seen root element.
      • elementDepth_

        private int elementDepth_
        Element depth.
      • normalize_

        private boolean normalize_
        Normalize character content.
    • Constructor Detail

      • HTMLWriterFilter

        public HTMLWriterFilter()
        Constructs a writer filter that prints to standard out.
      • HTMLWriterFilter

        public HTMLWriterFilter​(java.io.OutputStream outputStream,
                                java.lang.String encoding)
                         throws java.io.UnsupportedEncodingException
        Constructs a writer filter using the specified output stream and encoding.
        Parameters:
        outputStream - The output stream to write to.
        encoding - The encoding to be used for the output. The encoding name should be an official IANA encoding name.
        Throws:
        java.io.UnsupportedEncodingException
      • HTMLWriterFilter

        public HTMLWriterFilter​(java.io.Writer writer,
                                java.lang.String encoding,
                                HTMLElements htmlElements)
        Constructs a writer filter using the specified Java writer and encoding.
        Parameters:
        writer - The Java writer to write to.
        encoding - The encoding to be used for the output. The encoding name should be an official IANA encoding name.
    • Method Detail

      • startDocument

        public void startDocument​(XMLLocator locator,
                                  java.lang.String encoding,
                                  NamespaceContext nscontext,
                                  Augmentations augs)
                           throws XNIException
        Start document.
        Specified by:
        startDocument in interface XMLDocumentHandler
        Overrides:
        startDocument in class DefaultFilter
        Parameters:
        locator - The document locator, or null if the document location cannot be reported during the parsing of this document. However, it is strongly recommended that a locator be supplied that can at least report the system identifier of the document.
        encoding - The auto-detected IANA encoding name of the entity stream. This value will be null in those situations where the entity encoding is not auto-detected (e.g. internal entities or a document entity that is parsed from a java.io.Reader).
        nscontext - The namespace context in effect at the start of this document. This object represents the current context. Implementors of this class are responsible for copying the namespace bindings from the the current context (and its parent contexts) if that information is important.
        augs - Additional information that may include infoset augmentations
        Throws:
        XNIException - Thrown by handler to signal an error.
      • printAttributeValue

        protected void printAttributeValue​(java.lang.String text)
        Print attribute value.
      • printCharacters

        protected void printCharacters​(XMLString text,
                                       boolean normalize)
        Print characters.
      • printStartElement

        protected void printStartElement​(QName element,
                                         XMLAttributes attributes)
        Print start element.
      • printEndElement

        protected void printEndElement​(QName element)
        Print end element.
      • print

        protected void print​(java.lang.String content)
      • hasSeenRootElement

        protected boolean hasSeenRootElement()
      • getElementDepth

        protected int getElementDepth()
      • getNormalize

        protected boolean getNormalize()