public class XHTMLContentHandler extends SafeContentHandler
SafeContentHandler.Output
Modifier and Type | Field and Description |
---|---|
private static java.util.Set<java.lang.String> |
AUTO
The elements that are automatically emitted by lazyStartHead, so
skip them if they get sent to startElement/endElement by mistake.
|
private boolean |
documentStarted
Flag to indicate whether the document has been started.
|
private static org.xml.sax.Attributes |
EMPTY_ATTRIBUTES |
static java.util.Set<java.lang.String> |
ENDLINE
The elements that get appended with the
NL character. |
private static java.util.Set<java.lang.String> |
HEAD
The elements that are in the section.
|
private boolean |
headEnded |
private boolean |
headStarted
Flags to indicate whether the document head element has been started/ended.
|
private static java.util.Set<java.lang.String> |
INDENT
The elements that get prepended with the
TAB character. |
private Metadata |
metadata
Metadata associated with the document.
|
private static char[] |
NL
The newline character that gets inserted after block elements.
|
private static char[] |
TAB
The tab character gets inserted before table cells and list items.
|
private boolean |
useFrameset |
static java.lang.String |
XHTML
The XHTML namespace URI
|
Constructor and Description |
---|
XHTMLContentHandler(org.xml.sax.ContentHandler handler,
Metadata metadata) |
Modifier and Type | Method and Description |
---|---|
void |
characters(char[] ch,
int start,
int length) |
void |
characters(java.lang.String characters) |
void |
element(java.lang.String name,
java.lang.String value)
Emits an XHTML element with the given text content.
|
void |
endDocument()
Ends the XHTML document by writing the following footer and
clearing the namespace mappings:
|
void |
endElement(java.lang.String name) |
void |
endElement(java.lang.String uri,
java.lang.String local,
java.lang.String name)
Ends the given element.
|
private void |
lazyEndHead(boolean isFrameset)
Generates the following XHTML prefix when called for the first time:
|
private void |
lazyStartHead()
Generates the following XHTML prefix when called for the first time:
|
void |
newline() |
void |
startDocument()
Starts an XHTML document by setting up the namespace mappings
when called for the first time.
|
void |
startElement(java.lang.String name) |
void |
startElement(java.lang.String name,
org.xml.sax.helpers.AttributesImpl attributes) |
void |
startElement(java.lang.String name,
java.lang.String attribute,
java.lang.String value) |
void |
startElement(java.lang.String uri,
java.lang.String local,
java.lang.String name,
org.xml.sax.Attributes attributes)
Starts the given element.
|
private static java.util.Set<java.lang.String> |
unmodifiableSet(java.lang.String... elements) |
ignorableWhitespace, isInvalid, writeReplacement
endPrefixMapping, handleException, processingInstruction, setContentHandler, setDocumentLocator, skippedEntity, startPrefixMapping, toString
public static final java.lang.String XHTML
private static final char[] NL
private static final char[] TAB
private static final java.util.Set<java.lang.String> HEAD
private static final java.util.Set<java.lang.String> AUTO
private static final java.util.Set<java.lang.String> INDENT
TAB
character.public static final java.util.Set<java.lang.String> ENDLINE
NL
character.private static final org.xml.sax.Attributes EMPTY_ATTRIBUTES
private final Metadata metadata
private boolean documentStarted
private boolean headStarted
private boolean headEnded
private boolean useFrameset
public XHTMLContentHandler(org.xml.sax.ContentHandler handler, Metadata metadata)
private static java.util.Set<java.lang.String> unmodifiableSet(java.lang.String... elements)
public void startDocument() throws org.xml.sax.SAXException
startDocument
in interface org.xml.sax.ContentHandler
startDocument
in class ContentHandlerDecorator
org.xml.sax.SAXException
private void lazyStartHead() throws org.xml.sax.SAXException
<html> <head> <title>...</title> </head> <body>
org.xml.sax.SAXException
private void lazyEndHead(boolean isFrameset) throws org.xml.sax.SAXException
<html> <head> <title>...</title> </head> <body> (or <frameset>
org.xml.sax.SAXException
public void endDocument() throws org.xml.sax.SAXException
</body> </html>
endDocument
in interface org.xml.sax.ContentHandler
endDocument
in class SafeContentHandler
org.xml.sax.SAXException
public void startElement(java.lang.String uri, java.lang.String local, java.lang.String name, org.xml.sax.Attributes attributes) throws org.xml.sax.SAXException
startElement
in interface org.xml.sax.ContentHandler
startElement
in class SafeContentHandler
org.xml.sax.SAXException
public void endElement(java.lang.String uri, java.lang.String local, java.lang.String name) throws org.xml.sax.SAXException
endElement
in interface org.xml.sax.ContentHandler
endElement
in class SafeContentHandler
org.xml.sax.SAXException
public void characters(char[] ch, int start, int length) throws org.xml.sax.SAXException
characters
in interface org.xml.sax.ContentHandler
characters
in class SafeContentHandler
org.xml.sax.SAXException
public void startElement(java.lang.String name) throws org.xml.sax.SAXException
org.xml.sax.SAXException
public void startElement(java.lang.String name, java.lang.String attribute, java.lang.String value) throws org.xml.sax.SAXException
org.xml.sax.SAXException
public void startElement(java.lang.String name, org.xml.sax.helpers.AttributesImpl attributes) throws org.xml.sax.SAXException
org.xml.sax.SAXException
public void endElement(java.lang.String name) throws org.xml.sax.SAXException
org.xml.sax.SAXException
public void characters(java.lang.String characters) throws org.xml.sax.SAXException
org.xml.sax.SAXException
public void newline() throws org.xml.sax.SAXException
org.xml.sax.SAXException
public void element(java.lang.String name, java.lang.String value) throws org.xml.sax.SAXException
name
- XHTML element namevalue
- element value, possibly null
org.xml.sax.SAXException
- if the content element could not be written