Class ToHTMLStream
- All Implemented Interfaces:
DOMSerializer
,ExtendedContentHandler
,ExtendedLexicalHandler
,SerializationHandler
,Serializer
,ContentHandler
,DTDHandler
,ErrorHandler
,DeclHandler
,LexicalHandler
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
To insert ]]> in a CDATA section by ending the last CDATA section with ]] and starting the next CDATA section with >static final String
The constant "]]>"static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
Define the XML version.Fields inherited from class org.apache.xml.serializer.SerializerBase
PKG_NAME, PKG_PATH
Fields inherited from interface org.apache.xml.serializer.ExtendedContentHandler
HTML_ATTREMPTY, HTML_ATTRURL, NO_BAD_CHARS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addUniqueAttribute
(String name, String value, int flags) This method is used to add an attribute to the currently open element.void
This method does nothing.final void
cdata
(char[] ch, int start, int length) Receive notification of cdata.final void
characters
(char[] chars, int start, int length) Receive notification of character data.void
comment
(char[] ch, int start, int length) Receive notification of an XML comment anywhere in the document.void
elementDecl
(String name, String model) This method does nothing.final void
Receive notification of the end of a document.void
endDTD()
Report the end of DTD declarations.final void
endElement
(String elemName) Receive notification of the end of an element.final void
endElement
(String namespaceURI, String localName, String name) Receive notification of the end of an element.final void
entityReference
(String name) Receive notivication of a entityReference.void
externalEntityDecl
(String name, String publicId, String systemId) This method does nothing.static final ElemDesc
getElemDesc
(String name) Get a description of the given element.void
internalEntityDecl
(String name, String value) This method does nothing.void
namespaceAfterStartElement
(String prefix, String uri) This method is used when a prefix/uri namespace mapping is indicated after the element was started with a startElement() and before and endElement().void
processAttributes
(Writer writer, int nAttrs) Process the attributes, which means to write out the currently collected attributes to the writer.void
processingInstruction
(String target, String data) Receive notification of a processing instruction.boolean
reset()
Try's to reset the super class and reset this class for re-use, so that you don't need to create a new serializer (mostly for performance reasons).void
setOmitMetaTag
(boolean bool) Tells if the formatter should omit the META tag.void
setOutputFormat
(Properties format) Specifies an output format for this serializer.void
setSpecialEscapeURLs
(boolean bool) Tells if the formatter should use special URL escaping.void
Report the start of DTD declarations, if any.void
startElement
(String namespaceURI, String localName, String name, Attributes atts) Receive notification of the beginning of an element.void
writeAttrString
(Writer writer, String string, String encoding) Writes the specified string after substituting specials, and UTF-16 surrogates for character references&#xnn
.void
writeAttrURI
(Writer writer, String string, boolean doURLEscaping) Write the specified string after substituting non ASCII characters, with%HH
, where HH is the hex of the byte value.Methods inherited from class org.apache.xml.serializer.ToStream
addAttributeAlways, addCdataSectionElements, characters, endCDATA, endNonEscaping, endPrefixMapping, flushPending, getIndentAmount, getOutputFormat, getOutputStream, getWriter, ignorableWhitespace, notationDecl, serialize, setCdataSectionElements, setContentHandler, setDTDEntityExpansion, setEncoding, setEscaping, setIndentAmount, setLineSepUse, setNewLine, setOutputStream, setTransformer, setWriter, skippedEntity, startCDATA, startElement, startElement, startEntity, startNonEscaping, startPrefixMapping, startPrefixMapping, unparsedEntityDecl
Methods inherited from class org.apache.xml.serializer.SerializerBase
addAttribute, addAttribute, addAttribute, addAttributes, addXSLAttribute, asContentHandler, asDOM3Serializer, asDOMSerializer, characters, close, comment, documentIsEmpty, endEntity, error, fatalError, fireEndEntity, getDoctypePublic, getDoctypeSystem, getEncoding, getIndent, getMediaType, getNamespaceMappings, getNamespaceURI, getNamespaceURIFromPrefix, getOmitXMLDeclaration, getOutputProperty, getOutputPropertyDefault, getOutputPropertyNonDefault, getPrefix, getStandalone, getTransformer, getVersion, setDoctype, setDoctypePublic, setDoctypeSystem, setDocumentLocator, setIndent, setMediaType, setNamespaceMappings, setOmitXMLDeclaration, setOutputProperty, setOutputPropertyDefault, setSourceLocator, setStandalone, setVersion, startDocument, warning
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.xml.sax.ContentHandler
declaration
-
Field Details
-
CDATA_CONTINUE
To insert ]]> in a CDATA section by ending the last CDATA section with ]] and starting the next CDATA section with >- See Also:
-
CDATA_DELIMITER_CLOSE
The constant "]]>"- See Also:
-
CDATA_DELIMITER_OPEN
- See Also:
-
EMPTYSTRING
- See Also:
-
ENTITY_AMP
- See Also:
-
ENTITY_CRLF
- See Also:
-
ENTITY_GT
- See Also:
-
ENTITY_LT
- See Also:
-
ENTITY_QUOT
- See Also:
-
XML_PREFIX
- See Also:
-
XMLNS_PREFIX
- See Also:
-
XMLNS_URI
- See Also:
-
DEFAULT_SAX_SERIALIZER
-
XMLVERSION11
Define the XML version.- See Also:
-
XMLVERSION10
- See Also:
-
-
Constructor Details
-
ToHTMLStream
public ToHTMLStream()Default constructor.
-
-
Method Details
-
setSpecialEscapeURLs
public void setSpecialEscapeURLs(boolean bool) Tells if the formatter should use special URL escaping.- Parameters:
bool
- True if URLs should be specially escaped with the %xx form.
-
setOmitMetaTag
public void setOmitMetaTag(boolean bool) Tells if the formatter should omit the META tag.- Parameters:
bool
- True if the META tag should be omitted.
-
setOutputFormat
Specifies an output format for this serializer. It the serializer has already been associated with an output format, it will switch to the new format. This method should not be called while the serializer is in the process of serializing a document. This method can be called multiple times before starting the serialization of a particular result-tree. In principle all serialization parameters can be changed, with the exception of method="html" (it must be method="html" otherwise we shouldn't even have a ToHTMLStream object here!)- Specified by:
setOutputFormat
in interfaceSerializer
- Overrides:
setOutputFormat
in classToStream
- Parameters:
format
- The output format or serialzation parameters to use.
-
getElemDesc
Get a description of the given element.- Parameters:
name
- non-null name of element, case insensitive.- Returns:
- non-null reference to ElemDesc, which may be m_dummy if no element description matches the given name.
-
endDocument
Receive notification of the end of a document.- Throws:
SAXException
- Any SAX exception, possibly wrapping another exception.SAXException
-
startElement
public void startElement(String namespaceURI, String localName, String name, Attributes atts) throws SAXException Receive notification of the beginning of an element.- Specified by:
startElement
in interfaceContentHandler
- Overrides:
startElement
in classToStream
- Parameters:
namespaceURI
-localName
-name
- The element type name.atts
- The attributes attached to the element, if any.- Throws:
SAXException
- Any SAX exception, possibly wrapping another exception.- See Also:
-
endElement
public final void endElement(String namespaceURI, String localName, String name) throws SAXException Receive notification of the end of an element.- Specified by:
endElement
in interfaceContentHandler
- Overrides:
endElement
in classToStream
- Parameters:
namespaceURI
-localName
-name
- The element type name- Throws:
SAXException
- Any SAX exception, possibly wrapping another exception.
-
writeAttrURI
Write the specified string after substituting non ASCII characters, with%HH
, where HH is the hex of the byte value.- Parameters:
string
- String to convert to XML format.doURLEscaping
- True if we should try to encode as per http://www.ietf.org/rfc/rfc2396.txt.- Throws:
SAXException
- if a bad surrogate pair is detected.IOException
-
writeAttrString
Writes the specified string after substituting specials, and UTF-16 surrogates for character references&#xnn
.- Overrides:
writeAttrString
in classToStream
- Parameters:
string
- String to convert to XML format.encoding
- CURRENTLY NOT IMPLEMENTED.- Throws:
SAXException
IOException
-
characters
Receive notification of character data.The Parser will call this method to report each chunk of character data. SAX parsers may return all contiguous character data in a single chunk, or they may split it into several chunks; however, all of the characters in any single event must come from the same external entity, so that the Locator provides useful information.
The application must not attempt to read from the array outside of the specified range.
Note that some parsers will report whitespace using the ignorableWhitespace() method rather than this one (validating parsers must do so).
- Specified by:
characters
in interfaceContentHandler
- Overrides:
characters
in classToStream
- Parameters:
chars
- The characters from the XML document.start
- The start position in the array.length
- The number of characters to read from the array.- Throws:
SAXException
- Any SAX exception, possibly wrapping another exception.SAXException
- See Also:
-
cdata
Receive notification of cdata.The Parser will call this method to report each chunk of character data. SAX parsers may return all contiguous character data in a single chunk, or they may split it into several chunks; however, all of the characters in any single event must come from the same external entity, so that the Locator provides useful information.
The application must not attempt to read from the array outside of the specified range.
Note that some parsers will report whitespace using the ignorableWhitespace() method rather than this one (validating parsers must do so).
- Parameters:
ch
- The characters from the XML document.start
- The start position in the array.length
- The number of characters to read from the array.- Throws:
SAXException
- Any SAX exception, possibly wrapping another exception.SAXException
- See Also:
-
processingInstruction
Receive notification of a processing instruction.- Parameters:
target
- The processing instruction target.data
- The processing instruction data, or null if none was supplied.- Throws:
SAXException
- Any SAX exception, possibly wrapping another exception.SAXException
-
entityReference
Receive notivication of a entityReference.- Specified by:
entityReference
in interfaceExtendedContentHandler
- Overrides:
entityReference
in classSerializerBase
- Parameters:
name
- non-null reference to entity name string.- Throws:
SAXException
-
endElement
Description copied from class:ToStream
Receive notification of the end of an element.- Specified by:
endElement
in interfaceExtendedContentHandler
- Overrides:
endElement
in classToStream
- Parameters:
elemName
- The element type name- Throws:
SAXException
- Any SAX exception, possibly wrapping another exception.- See Also:
-
processAttributes
Process the attributes, which means to write out the currently collected attributes to the writer. The attributes are not cleared by this method- Overrides:
processAttributes
in classToStream
- Parameters:
writer
- the writer to write processed attributes to.nAttrs
- the number of attributes in m_attributes to be processed- Throws:
SAXException
IOException
-
namespaceAfterStartElement
This method is used when a prefix/uri namespace mapping is indicated after the element was started with a startElement() and before and endElement(). startPrefixMapping(prefix,uri) would be used before the startElement() call.- Specified by:
namespaceAfterStartElement
in interfaceExtendedContentHandler
- Overrides:
namespaceAfterStartElement
in classSerializerBase
- Parameters:
uri
- the URI of the namespaceprefix
- the prefix associated with the given URI.- Throws:
SAXException
- See Also:
-
startDTD
Description copied from class:ToStream
Report the start of DTD declarations, if any. Any declarations are assumed to be in the internal subset unless otherwise indicated.- Specified by:
startDTD
in interfaceLexicalHandler
- Overrides:
startDTD
in classToStream
- Parameters:
name
- The document type name.publicId
- The declared public identifier for the external DTD subset, or null if none was declared.systemId
- The declared system identifier for the external DTD subset, or null if none was declared.- Throws:
SAXException
- The application may raise an exception.- See Also:
-
endDTD
Report the end of DTD declarations.- Specified by:
endDTD
in interfaceLexicalHandler
- Overrides:
endDTD
in classToStream
- Throws:
SAXException
- The application may raise an exception.- See Also:
-
attributeDecl
public void attributeDecl(String eName, String aName, String type, String valueDefault, String value) throws SAXException This method does nothing.- Specified by:
attributeDecl
in interfaceDeclHandler
- Overrides:
attributeDecl
in classToStream
- Parameters:
eName
- The name of the associated element.aName
- The name of the attribute.type
- A string representing the attribute type.valueDefault
- A string representing the attribute default ("#IMPLIED", "#REQUIRED", or "#FIXED") or null if none of these applies.value
- A string representing the attribute's default value, or null if there is none.- Throws:
SAXException
- The application may raise an exception.
-
elementDecl
This method does nothing.- Specified by:
elementDecl
in interfaceDeclHandler
- Overrides:
elementDecl
in classToStream
- Parameters:
name
- The element type name.model
- The content model as a normalized string.- Throws:
SAXException
- The application may raise an exception.
-
internalEntityDecl
This method does nothing.- Specified by:
internalEntityDecl
in interfaceDeclHandler
- Overrides:
internalEntityDecl
in classToStream
- Parameters:
name
- The name of the entity. If it is a parameter entity, the name will begin with '%'.value
- The replacement text of the entity.- Throws:
SAXException
- The application may raise an exception.- See Also:
-
externalEntityDecl
This method does nothing.- Specified by:
externalEntityDecl
in interfaceDeclHandler
- Overrides:
externalEntityDecl
in classToStream
- Parameters:
name
- The name of the entity. If it is a parameter entity, the name will begin with '%'.publicId
- The declared public identifier of the entity, or null if none was declared.systemId
- The declared system identifier of the entity.- Throws:
SAXException
- The application may raise an exception.- See Also:
-
addUniqueAttribute
This method is used to add an attribute to the currently open element. The caller has guaranted that this attribute is unique, which means that it not been seen before and will not be seen again.- Parameters:
name
- the qualified name of the attributevalue
- the value of the attribute which can contain only ASCII printable characters characters in the range 32 to 127 inclusive.flags
- the bit values of this integer give optimization information.- Throws:
SAXException
-
comment
Description copied from class:ToStream
Receive notification of an XML comment anywhere in the document. This callback will be used for comments inside or outside the document element, including comments in the external DTD subset (if read).- Specified by:
comment
in interfaceLexicalHandler
- Overrides:
comment
in classToStream
- Parameters:
ch
- An array holding the characters in the comment.start
- The starting position in the array.length
- The number of characters to use from the array.- Throws:
SAXException
- The application may raise an exception.
-
reset
public boolean reset()Description copied from class:ToStream
Try's to reset the super class and reset this class for re-use, so that you don't need to create a new serializer (mostly for performance reasons).- Specified by:
reset
in interfaceSerializer
- Overrides:
reset
in classToStream
- Returns:
- true if the class was successfuly reset.
-