| java.lang.Object org.jasig.portal.serialize.BaseMarkupSerializer org.jasig.portal.serialize.HTMLSerializer
All known Subclasses: org.jasig.portal.serialize.XHTMLSerializer, org.jasig.portal.serialize.CachingHTMLSerializer,
HTMLSerializer | public class HTMLSerializer extends BaseMarkupSerializer implements IAnchoringSerializer(Code) | | Implements an HTML/XHTML serializer supporting both DOM and SAX
pretty serializing. HTML/XHTML mode is determined in the
constructor. For usage instructions see
Serializer .
If an output stream is used, the encoding is taken from the
output format (defaults to UTF-8). If a writer is
used, make sure the writer uses the same encoding (if applies)
as specified in the output format.
The serializer supports both DOM and SAX. DOM serializing is done
by calling
HTMLSerializer.serialize and SAX serializing is done by firing
SAX events and using the serializer as a document handler.
If an I/O exception occurs while serializing, the serializer
will not throw an exception directly, but only throw it
at the end of serializing (either DOM or SAX's
org.xml.sax.DocumentHandler.endDocument .
For elements that are not specified as whitespace preserving,
the serializer will potentially break long text lines at space
boundaries, indent lines, and serialize elements on separate
lines. Line terminators will be regarded as spaces, and
spaces at beginning of line will be stripped.
XHTML is slightly different than HTML:
- Element/attribute names are lower case and case matters
- Attributes must specify value, even if empty string
- Empty elements must have '/' in empty tag
- Contents of SCRIPT and STYLE elements serialized as CDATA
version: $Revision: 42283 $ $Date: 2007-08-04 18:44:27 -0700 (Sat, 04 Aug 2007) $ author: Assaf Arkin See Also: Serializer |
Method Summary | |
protected String | appendAnchorIfNecessary(String elementName, String attributeName, String attributeValue) | public void | characters(char[] chars, int start, int length) | protected void | characters(String text) | public void | endElement(String namespaceURI, String localName, String rawName) | public void | endElement(String tagName) | public void | endElementIO(String namespaceURI, String localName, String rawName) | protected String | escapeURI(String uri) | protected String | getEntityRef(int ch) | protected void | serializeElement(Element elem) Called to serialize a DOM element. | public void | setOutputFormat(OutputFormat format) | public void | setXHTMLNamespace(String newNamespace) | public boolean | shouldNotExpandEndTagForEmptyElement(String elementName) | public void | startAnchoring(String anchorId) | protected void | startDocument(String rootTagName) Called to serialize the document's DOCTYPE by the root element.
The document type declaration must name the root element,
but the root element is only known when that element is serialized,
and not at the start of the document.
This method will check if it has not been called before (
HTMLSerializer._started ),
will serialize the document type declaration, and will serialize all
pre-root comments and PIs that were accumulated in the document
(see
HTMLSerializer.serializePreRoot ). | public void | startElement(String namespaceURI, String localName, String rawName, Attributes attrs) | public void | startElement(String tagName, AttributeList attrs) | public void | stopAnchoring() |
XHTMLNamespace | final public static String XHTMLNamespace(Code) | | |
HTMLSerializer | public HTMLSerializer(Writer writer, OutputFormat format)(Code) | | Constructs a new serializer that writes to the specified writer
using the specified output format. If format is null,
will use a default output format.
Parameters: writer - The writer to use Parameters: format - The output format to use, null for the default |
HTMLSerializer | public HTMLSerializer(OutputStream output, OutputFormat format)(Code) | | Constructs a new serializer that writes to the specified output
stream using the specified output format. If format
is null, will use a default output format.
Parameters: output - The output stream to use Parameters: format - The output format to use, null for the default |
characters | public void characters(char[] chars, int start, int length) throws SAXException(Code) | | |
setXHTMLNamespace | public void setXHTMLNamespace(String newNamespace)(Code) | | |
shouldNotExpandEndTagForEmptyElement | public boolean shouldNotExpandEndTagForEmptyElement(String elementName)(Code) | | |
startAnchoring | public void startAnchoring(String anchorId)(Code) | | |
startDocument | protected void startDocument(String rootTagName) throws IOException(Code) | | Called to serialize the document's DOCTYPE by the root element.
The document type declaration must name the root element,
but the root element is only known when that element is serialized,
and not at the start of the document.
This method will check if it has not been called before (
HTMLSerializer._started ),
will serialize the document type declaration, and will serialize all
pre-root comments and PIs that were accumulated in the document
(see
HTMLSerializer.serializePreRoot ). Pre-root will be serialized even if
this is not the first root element of the document.
|
stopAnchoring | public void stopAnchoring()(Code) | | |
Methods inherited from org.jasig.portal.serialize.BaseMarkupSerializer | protected String appendAnchorIfNecessary(String elementName, String attributeName, String attributeValue)(Code)(Java Doc) public ContentHandler asContentHandler() throws IOException(Code)(Java Doc) public DOMSerializer asDOMSerializer() throws IOException(Code)(Java Doc) public DocumentHandler asDocumentHandler() throws IOException(Code)(Java Doc) public void attributeDecl(String eName, String aName, String type, String valueDefault, String value) throws SAXException(Code)(Java Doc) public void characters(char[] chars, int start, int length) throws SAXException(Code)(Java Doc) protected void characters(String text) throws IOException(Code)(Java Doc) protected void checkUnboundNamespacePrefixedNode(Node node) throws IOException(Code)(Java Doc) public void comment(char[] chars, int start, int length) throws SAXException(Code)(Java Doc) public void comment(String text) throws IOException(Code)(Java Doc) protected ElementState content() throws IOException(Code)(Java Doc) public void elementDecl(String name, String model) throws SAXException(Code)(Java Doc) public void endCDATA()(Code)(Java Doc) public void endDTD()(Code)(Java Doc) public void endDocument() throws SAXException(Code)(Java Doc) public void endEntity(String name)(Code)(Java Doc) public void endNonEscaping()(Code)(Java Doc) public void endPrefixMapping(String prefix) throws SAXException(Code)(Java Doc) public void endPreserving()(Code)(Java Doc) protected ElementState enterElementState(String namespaceURI, String localName, String rawName, boolean preserveSpace)(Code)(Java Doc) public void externalEntityDecl(String name, String publicId, String systemId) throws SAXException(Code)(Java Doc) protected void fatalError(String message) throws IOException(Code)(Java Doc) protected ElementState getElementState()(Code)(Java Doc) abstract protected String getEntityRef(int ch)(Code)(Java Doc) protected String getPrefix(String namespaceURI)(Code)(Java Doc) public void ignorableWhitespace(char[] chars, int start, int length) throws SAXException(Code)(Java Doc) public void internalEntityDecl(String name, String value) throws SAXException(Code)(Java Doc) protected boolean isDocumentState()(Code)(Java Doc) protected ElementState leaveElementState()(Code)(Java Doc) protected DOMError modifyDOMError(String message, short severity, String type, Node node)(Code)(Java Doc) public void notationDecl(String name, String publicId, String systemId) throws SAXException(Code)(Java Doc) protected void prepare() throws IOException(Code)(Java Doc) protected void printCDATAText(String text) throws IOException(Code)(Java Doc) protected void printDoctypeURL(String url) throws IOException(Code)(Java Doc) protected void printEscaped(int ch) throws IOException(Code)(Java Doc) protected void printEscaped(String source) throws IOException(Code)(Java Doc) final void printHex(int ch) throws IOException(Code)(Java Doc) protected void printText(char[] chars, int start, int length, boolean preserveSpace, boolean unescaped) throws IOException(Code)(Java Doc) protected void printText(String text, boolean preserveSpace, boolean unescaped) throws IOException(Code)(Java Doc) final public void processingInstruction(String target, String code) throws SAXException(Code)(Java Doc) public void processingInstructionIO(String target, String code) throws IOException(Code)(Java Doc) public boolean reset()(Code)(Java Doc) public void serialize(Element elem) throws IOException(Code)(Java Doc) public void serialize(DocumentFragment frag) throws IOException(Code)(Java Doc) public void serialize(Document doc) throws IOException(Code)(Java Doc) abstract protected void serializeElement(Element elem) throws IOException(Code)(Java Doc) protected void serializeNode(Node node) throws IOException(Code)(Java Doc) protected void serializePreRoot() throws IOException(Code)(Java Doc) public void setDocumentLocator(Locator locator)(Code)(Java Doc) public void setOutputByteStream(OutputStream output)(Code)(Java Doc) public void setOutputCharStream(Writer writer)(Code)(Java Doc) public void setOutputFormat(OutputFormat format)(Code)(Java Doc) public void skippedEntity(String name) throws SAXException(Code)(Java Doc) public void startAnchoring(String anchorId)(Code)(Java Doc) public void startCDATA()(Code)(Java Doc) final public void startDTD(String name, String publicId, String systemId) throws SAXException(Code)(Java Doc) public void startDocument() throws SAXException(Code)(Java Doc) public void startEntity(String name)(Code)(Java Doc) public void startNonEscaping()(Code)(Java Doc) public void startPrefixMapping(String prefix, String uri) throws SAXException(Code)(Java Doc) public void startPreserving()(Code)(Java Doc) public void stopAnchoring()(Code)(Java Doc) protected void surrogates(int high, int low) throws IOException(Code)(Java Doc) public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) throws SAXException(Code)(Java Doc)
|
|
|