## org.apache.xml.serializer
Interface SerializationHandler

All Known Implementing Classes:
  EmptySerializer, SerializerBase

public interface SerializationHandler
extends ExtendedContentHandler, ExtendedLexicalHandler, org.apache.xml.serializer.XSLOutputAttributes, DeclHandler, DTDHandler, ErrorHandler, DOMSerializer, Serializer

This interface is the one that a serializer implements. It is a group of other interfaces, such as ExtendedContentHandler, ExtendedLexicalHandler etc. In addition there are other methods, such as reset(). This class is public only because it is used in another package, it is not a public API.

Usage:
  **For internal use only**

Fields inherited from class org.apache.xml.serializer.ExtendedContentHandler
`HTML_ATTREMPTY, HTML_ATTRURL, NO_BAD_CHARS`

Method Summary
`void` `close()`
`void` `flushPending()` A SerializationHandler accepts SAX-like events, so it can accumulate attributes or namespace nodes after a startElement().
`Transformer` `getTransformer()` Get the transformer associated with the serializer.
`void` `serialize(Node node)` Notify that the serializer should take this DOM node as input to be serialized.
`void` `setContentHandler(ContentHandler ch)` Set the SAX Content handler that the serializer sends its output to.
`void` `setDTDEntityExpansion(boolean expand)` Default behavior is to expand DTD entities, that is the initall default value is true.
`boolean` `setEscaping(boolean escape)` Turns special character escaping on/off.
`void` `setIndentAmount(int spaces)` Set the number of spaces to indent for each indentation level.
`void` `setNamespaceMappings(NamespaceMappings mappings)` Used only by TransformerSnapshotImpl to restore the serialization to a previous state.
`void` `setTransformer(Transformer transformer)` Set the transformer associated with the serializer.

Methods inherited from interface org.apache.xml.serializer.ExtendedContentHandler
`addAttribute, addAttribute, addAttribute, addAttributes, addUniqueAttribute, addXSLAttribute, characters, characters, endElement, entityReference, getNamespaceMappings, getNamespaceURI, getNamespaceURIFromPrefix, getPrefix, namespaceAfterStartElement, setSourceLocator, startElement, startElement, startPrefixMapping`

Methods inherited from interface org.apache.xml.serializer.ExtendedLexicalHandler
`comment`

Methods inherited from interface org.apache.xml.serializer.XSLOutputAttributes
`getDoctypePublic, getDoctypeSystem, getEncoding, getIndent, getIndentAmount, getMediaType, getOmitXMLDeclaration, getOutputProperty, getOutputPropertyDefault, getStandalone, getVersion, setCdataSectionElements, setDoctype, setDoctypePublic, setDoctypeSystem, setEncoding, setIndent, setMediaType, setOmitXMLDeclaration, setOutputProperty, setOutputPropertyDefault, setStandalone, setVersion`

Methods inherited from interface org.xml.sax.ext.DeclHandler
`attributeDecl, elementDecl, externalEntityDecl, internalEntityDecl`

Methods inherited from interface org.xml.sax.DTDHandler
`notationDecl, unparsedEntityDecl`

Methods inherited from interface org.xml.sax.ErrorHandler
`error, fatalError, warning`

Methods inherited from interface org.apache.xml.serializer.Serializer
`asContentHandler, asDOM3Serializer, asDOMSerializer, getOutputFormat, getOutputStream, getWriter, reset, setOutputFormat, setOutputStream, setWriter`

Methods inherited from interface org.xml.sax.ContentHandler
`characters, endDocument, endElement, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping`

Methods inherited from interface org.xml.sax.ext.LexicalHandler
`comment, endCDATA, endDTD, endEntity, startCDATA, startDTD, startEntity`

Method Detail

### setContentHandler

    public void setContentHandler(ContentHandler ch)

  Set the SAX Content handler that the serializer sends its output to. This method only applies to a ToSAXHandler, not to a ToStream serializer.
  See Also:
    `Serializer.asContentHandler()`, `ToSAXHandler`

### close

    public void close()

### serialize

    public void serialize(Node node)
                   throws java.io.IOException

  Notify that the serializer should take this DOM node as input to be serialized.
  Specified by:
    serialize in interface DOMSerializer
  Parameters:
    `node` - the DOM node to be serialized.
  Throws:
    java.io.IOException -

### setEscaping

    public boolean setEscaping(boolean escape)
                        throws SAXException

  Turns special character escaping on/off. Note that characters will never, even if this option is set to 'true', be escaped within CDATA sections in output XML documents.
  Parameters:
    `escape` - true if escaping is to be set on.

### setIndentAmount

    public void setIndentAmount(int spaces)

  Set the number of spaces to indent for each indentation level.
  Parameters:
    `spaces` - the number of spaces to indent for each indentation level.

### setTransformer

    public void setTransformer(Transformer transformer)

  Set the transformer associated with the serializer.
  Parameters:
    `transformer` - the transformer associated with the serializer.

### getTransformer

    public Transformer getTransformer()

  Get the transformer associated with the serializer.
  Returns:
    Transformer the transformer associated with the serializer.

### setNamespaceMappings

    public void setNamespaceMappings(NamespaceMappings mappings)

  Used only by TransformerSnapshotImpl to restore the serialization to a previous state.
  Parameters:
    `mappings` - NamespaceMappings

### flushPending

    public void flushPending()
                      throws SAXException

  A SerializationHandler accepts SAX-like events, so it can accumulate attributes or namespace nodes after a startElement().

  If the SerializationHandler has a Writer or OutputStream, a call to this method will flush such accumulated events as a closed start tag for an element.

  If the SerializationHandler wraps a ContentHandler, a call to this method will flush such accumulated events as a SAX (not SAX-like) calls to startPrefixMapping() and startElement().

  If one calls endDocument() then one need not call this method since a call to endDocument() will do what this method does. However, in some circumstances, such as with document fragments, endDocument() is not called and it may be necessary to call this method to flush any pending events.

  For performance reasons this method should not be called very often.

### setDTDEntityExpansion

    public void setDTDEntityExpansion(boolean expand)

  Default behavior is to expand DTD entities, that is the initall default value is true.
  Parameters:
    `expand` - true if DTD entities are to be expanded, false if they are to be left as DTD entity references.

Copyright © 2006 Apache XML Project. All Rights Reserved.