net.sf.saxon.event

Class HTMLIndenter

Implemented Interfaces:
Receiver, Result
Known Direct Subclasses:
XHTMLIndenter

public class HTMLIndenter
extends ProxyReceiver

HTMLIndenter: This ProxyEmitter indents HTML elements, by adding whitespace character data where appropriate. The character data is never added when within an inline element. The string used for indentation defaults to three spaces, but may be set using the indent-chars property
Author:
Michael Kay

Field Summary

protected static int
IS_FORMATTED
protected static int
IS_INLINE
protected static String[]
formattedTags
protected static String[]
inlineTags

Fields inherited from class net.sf.saxon.event.ProxyReceiver

nextReceiver

Fields inherited from class net.sf.saxon.event.SequenceReceiver

pipelineConfiguration, previousAtomic, systemId

Constructor Summary

HTMLIndenter()

Method Summary

void
characters(CharSequence chars, int locationId, int properties)
Output character data
protected int
classifyTag(int nameCode)
Classify an element name as inline, formatted, or both or neither.
void
comment(CharSequence chars, int locationId, int properties)
Output a comment
void
endElement()
Output element end tag
void
setOutputProperties(Properties props)
Set the properties for this indenter
void
startElement(int nameCode, int typeCode, int locationId, int properties)
Output element start tag

Methods inherited from class net.sf.saxon.event.ProxyReceiver

append, attribute, characters, close, comment, endDocument, endElement, getConfiguration, getDocumentLocator, getNamePool, getUnderlyingReceiver, namespace, open, processingInstruction, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, startDocument, startElement

Methods inherited from class net.sf.saxon.event.SequenceReceiver

append, getConfiguration, getNamePool, getPipelineConfiguration, getSystemId, open, setPipelineConfiguration, setSystemId, setUnparsedEntity

Field Details

IS_FORMATTED

protected static final int IS_FORMATTED
Field Value:
2

IS_INLINE

protected static final int IS_INLINE
Field Value:
1

formattedTags

protected static String[] formattedTags

inlineTags

protected static String[] inlineTags

Constructor Details

HTMLIndenter

public HTMLIndenter()

Method Details

characters

public void characters(CharSequence chars,
                       int locationId,
                       int properties)
            throws XPathException
Output character data
Specified by:
characters in interface Receiver
Overrides:
characters in interface ProxyReceiver

classifyTag

protected int classifyTag(int nameCode)
Classify an element name as inline, formatted, or both or neither. This method is overridden in the XHTML indenter
Parameters:
nameCode - the element name
Returns:
a bit-significant integer containing flags IS_INLINE and/or IS_FORMATTED

comment

public void comment(CharSequence chars,
                    int locationId,
                    int properties)
            throws XPathException
Output a comment
Specified by:
comment in interface Receiver
Overrides:
comment in interface ProxyReceiver

endElement

public void endElement()
            throws XPathException
Output element end tag
Specified by:
endElement in interface Receiver
Overrides:
endElement in interface ProxyReceiver

setOutputProperties

public void setOutputProperties(Properties props)
Set the properties for this indenter

startElement

public void startElement(int nameCode,
                         int typeCode,
                         int locationId,
                         int properties)
            throws XPathException
Output element start tag
Specified by:
startElement in interface Receiver
Overrides:
startElement in interface ProxyReceiver