Class ExpandedTitleContentHandler

  • All Implemented Interfaces:
    org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

    public class ExpandedTitleContentHandler
    extends ContentHandlerDecorator
    Content handler decorator which wraps a TransformerHandler in order to allow the TITLE tag to render as <title></title> rather than <title/> which is accomplished by calling the ContentHandler.characters(char[], int, int) method with a length of 1 but a zero length char array.

    This workaround is an unfortunate circumstance of the limitations imposed by the implementation of the XML serialization code in the JDK brought over from the xalan project which no longer allows for the specification of an alternate content-handler via xslt templates or other means.

    See Also:
    TIKA-725
    • Constructor Detail

      • ExpandedTitleContentHandler

        public ExpandedTitleContentHandler()
      • ExpandedTitleContentHandler

        public ExpandedTitleContentHandler​(org.xml.sax.ContentHandler handler)
    • Method Detail

      • startDocument

        public void startDocument()
                           throws org.xml.sax.SAXException
        Specified by:
        startDocument in interface org.xml.sax.ContentHandler
        Overrides:
        startDocument in class ContentHandlerDecorator
        Throws:
        org.xml.sax.SAXException
      • startElement

        public void startElement​(java.lang.String uri,
                                 java.lang.String localName,
                                 java.lang.String qName,
                                 org.xml.sax.Attributes atts)
                          throws org.xml.sax.SAXException
        Specified by:
        startElement in interface org.xml.sax.ContentHandler
        Overrides:
        startElement in class ContentHandlerDecorator
        Throws:
        org.xml.sax.SAXException
      • endElement

        public void endElement​(java.lang.String uri,
                               java.lang.String localName,
                               java.lang.String qName)
                        throws org.xml.sax.SAXException
        Specified by:
        endElement in interface org.xml.sax.ContentHandler
        Overrides:
        endElement in class ContentHandlerDecorator
        Throws:
        org.xml.sax.SAXException
      • characters

        public void characters​(char[] ch,
                               int start,
                               int length)
                        throws org.xml.sax.SAXException
        Specified by:
        characters in interface org.xml.sax.ContentHandler
        Overrides:
        characters in class ContentHandlerDecorator
        Throws:
        org.xml.sax.SAXException