org.apache.xml.serializer

## Interface SerializationHandler

- All Superinterfaces:
    org.xml.sax.ContentHandler, org.xml.sax.ext.DeclHandler, DOMSerializer, org.xml.sax.DTDHandler, org.xml.sax.ErrorHandler, ExtendedContentHandler, ExtendedLexicalHandler, org.xml.sax.ext.LexicalHandler, Serializer
  All Known Implementing Classes:
    AdaptiveResultTreeImpl, EmptySerializer, SerializerBase, SimpleResultTreeImpl, StringValueHandler, ToHTMLSAXHandler, ToHTMLStream, ToSAXHandler, ToStream, ToTextSAXHandler, ToTextStream, ToUnknownStream, ToXMLSAXHandler, ToXMLStream

      public interface SerializationHandler
      extends ExtendedContentHandler, ExtendedLexicalHandler, org.xml.sax.ext.DeclHandler, org.xml.sax.DTDHandler, org.xml.sax.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**

- - ### Field Summary

    - ### Fields inherited from interface org.apache.xml.serializer.ExtendedContentHandler

      `HTML_ATTREMPTY, HTML_ATTRURL, NO_BAD_CHARS`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()`
    `void` | `flushPending()` A SerializationHandler accepts SAX-like events, so it can accumulate attributes or namespace nodes after a startElement().
    `java.lang.String` | `getDoctypePublic()` Returns the previously set value of the value to be used as the public identifier in the document type declaration (DTD).
    `java.lang.String` | `getDoctypeSystem()` Returns the previously set value of the value to be used as the system identifier in the document type declaration (DTD).
    `java.lang.String` | `getEncoding()`
    `boolean` | `getIndent()`
    `int` | `getIndentAmount()`
    `java.lang.String` | `getMediaType()`
    `boolean` | `getOmitXMLDeclaration()`
    `java.lang.String` | `getOutputProperty(java.lang.String name)` Get the value for a property that affects seraialization, if a property was set return that value, otherwise return the default value, otherwise return null.
    `java.lang.String` | `getOutputPropertyDefault(java.lang.String name)` Get the default value for a property that affects seraialization, or null if there is none.
    `java.lang.String` | `getStandalone()`
    `javax.xml.transform.Transformer` | `getTransformer()` Get the transformer associated with the serializer.
    `java.lang.String` | `getVersion()`
    `void` | `serialize(org.w3c.dom.Node node)` Notify that the serializer should take this DOM node as input to be serialized.
    `void` | `setCdataSectionElements(java.util.Vector URI_and_localNames)` Sets the value coming from the xsl:output cdata-section-elements stylesheet property.
    `void` | `setContentHandler(org.xml.sax.ContentHandler ch)` Set the SAX Content handler that the serializer sends its output to.
    `void` | `setDoctype(java.lang.String system, java.lang.String pub)` Set the value coming from the xsl:output doctype-public and doctype-system stylesheet properties
    `void` | `setDoctypePublic(java.lang.String doctype)` Set the value coming from the xsl:output doctype-public stylesheet attribute.
    `void` | `setDoctypeSystem(java.lang.String doctype)` Set the value coming from the xsl:output doctype-system stylesheet attribute.
    `void` | `setDTDEntityExpansion(boolean expand)` Default behavior is to expand DTD entities, that is the initall default value is true.
    `void` | `setEncoding(java.lang.String encoding)` Sets the character encoding coming from the xsl:output encoding stylesheet attribute.
    `boolean` | `setEscaping(boolean escape)` Turns special character escaping on/off.
    `void` | `setIndent(boolean indent)` Sets the value coming from the xsl:output indent stylesheet attribute.
    `void` | `setIndentAmount(int spaces)` Set the number of spaces to indent for each indentation level.
    `void` | `setMediaType(java.lang.String mediatype)` Sets the value coming from the xsl:output media-type stylesheet attribute.
    `void` | `setNamespaceMappings(NamespaceMappings mappings)` Used only by TransformerSnapshotImpl to restore the serialization to a previous state.
    `void` | `setOmitXMLDeclaration(boolean b)` Sets the value coming from the xsl:output omit-xml-declaration stylesheet attribute
    `void` | `setOutputProperty(java.lang.String name, java.lang.String val)` Set the non-default value for a property that affects seraialization.
    `void` | `setOutputPropertyDefault(java.lang.String name, java.lang.String val)` Set the default value for a property that affects seraialization.
    `void` | `setStandalone(java.lang.String standalone)` Sets the value coming from the xsl:output standalone stylesheet attribute.
    `void` | `setTransformer(javax.xml.transform.Transformer transformer)` Set the transformer associated with the serializer.
    `void` | `setVersion(java.lang.String version)` Sets the value coming from the xsl:output version attribute.

    - ### 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.xml.sax.ContentHandler

      `characters, endDocument, endElement, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping`

    - ### Methods inherited from interface org.apache.xml.serializer.ExtendedLexicalHandler

      `comment`

    - ### Methods inherited from interface org.xml.sax.ext.LexicalHandler

      `comment, endCDATA, endDTD, endEntity, startCDATA, startDTD, startEntity`

    - ### 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`

- - ### Method Detail

    - #### setContentHandler

          void setContentHandler(org.xml.sax.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

          void close()

    - #### serialize

          void serialize(org.w3c.dom.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

          boolean setEscaping(boolean escape)
                       throws org.xml.sax.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.
      Throws:
        `org.xml.sax.SAXException`

    - #### setIndentAmount

          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

          void setTransformer(javax.xml.transform.Transformer transformer)

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

    - #### getTransformer

          javax.xml.transform.Transformer getTransformer()

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

    - #### setNamespaceMappings

          void setNamespaceMappings(NamespaceMappings mappings)

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

    - #### flushPending

          void flushPending()
                     throws org.xml.sax.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.

      Throws:
        `org.xml.sax.SAXException`

    - #### setDTDEntityExpansion

          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.

    - #### getDoctypePublic

          java.lang.String getDoctypePublic()

      Returns the previously set value of the value to be used as the public identifier in the document type declaration (DTD).
      Returns:
        the public identifier to be used in the DOCTYPE declaration in the output document.

    - #### getDoctypeSystem

          java.lang.String getDoctypeSystem()

      Returns the previously set value of the value to be used as the system identifier in the document type declaration (DTD).
      Returns:
        the system identifier to be used in the DOCTYPE declaration in the output document.

    - #### getEncoding

          java.lang.String getEncoding()

      Returns:
        the character encoding to be used in the output document.

    - #### getIndent

          boolean getIndent()

      Returns:
        true if the output document should be indented to visually indicate its structure.

    - #### getIndentAmount

          int getIndentAmount()

      Returns:
        the number of spaces to indent for each indentation level.

    - #### getMediaType

          java.lang.String getMediaType()

      Returns:
        the mediatype the media-type or MIME type associated with the output document.

    - #### getOmitXMLDeclaration

          boolean getOmitXMLDeclaration()

      Returns:
        true if the XML declaration is to be omitted from the output document.

    - #### getStandalone

          java.lang.String getStandalone()

      Returns:
        a value of "yes" if the `standalone` delaration is to be included in the output document.

    - #### getVersion

          java.lang.String getVersion()

      Returns:
        the version of the output format.

    - #### setCdataSectionElements

          void setCdataSectionElements(java.util.Vector URI_and_localNames)

      Sets the value coming from the xsl:output cdata-section-elements stylesheet property. This sets the elements whose text elements are to be output as CDATA sections.
      Parameters:
        `URI_and_localNames` - pairs of namespace URI and local names that identify elements whose text elements are to be output as CDATA sections. The namespace of the local element must be the given URI to match. The qName is not given because the prefix does not matter, only the namespace URI to which that prefix would map matters, so the prefix itself is not relevant in specifying which elements have their text to be output as CDATA sections.

    - #### setDoctype

          void setDoctype(java.lang.String system,
                          java.lang.String pub)

      Set the value coming from the xsl:output doctype-public and doctype-system stylesheet properties
      Parameters:
        `system` - the system identifier to be used in the DOCTYPE declaration in the output document.
        `pub` - the public identifier to be used in the DOCTYPE declaration in the output document.

    - #### setDoctypePublic

          void setDoctypePublic(java.lang.String doctype)

      Set the value coming from the xsl:output doctype-public stylesheet attribute.
      Parameters:
        `doctype` - the public identifier to be used in the DOCTYPE declaration in the output document.

    - #### setDoctypeSystem

          void setDoctypeSystem(java.lang.String doctype)

      Set the value coming from the xsl:output doctype-system stylesheet attribute.
      Parameters:
        `doctype` - the system identifier to be used in the DOCTYPE declaration in the output document.

    - #### setEncoding

          void setEncoding(java.lang.String encoding)

      Sets the character encoding coming from the xsl:output encoding stylesheet attribute.
      Parameters:
        `encoding` - the character encoding

    - #### setIndent

          void setIndent(boolean indent)

      Sets the value coming from the xsl:output indent stylesheet attribute.
      Parameters:
        `indent` - true if the output document should be indented to visually indicate its structure.

    - #### setMediaType

          void setMediaType(java.lang.String mediatype)

      Sets the value coming from the xsl:output media-type stylesheet attribute.
      Parameters:
        `mediatype` - the media-type or MIME type associated with the output document.

    - #### setOmitXMLDeclaration

          void setOmitXMLDeclaration(boolean b)

      Sets the value coming from the xsl:output omit-xml-declaration stylesheet attribute
      Parameters:
        `b` - true if the XML declaration is to be omitted from the output document.

    - #### setStandalone

          void setStandalone(java.lang.String standalone)

      Sets the value coming from the xsl:output standalone stylesheet attribute.
      Parameters:
        `standalone` - a value of "yes" indicates that the `standalone` delaration is to be included in the output document.

    - #### setVersion

          void setVersion(java.lang.String version)

      Sets the value coming from the xsl:output version attribute.
      Parameters:
        `version` - the version of the output format.

    - #### getOutputProperty

          java.lang.String getOutputProperty(java.lang.String name)

      Get the value for a property that affects seraialization, if a property was set return that value, otherwise return the default value, otherwise return null.
      Parameters:
        `name` - The name of the property, which is just the local name if it is in no namespace, but is the URI in curly braces followed by the local name if it is in a namespace, for example:
        - "encoding"
        - "method"
        - "{http://xml.apache.org/xalan}indent-amount"
        - "{http://xml.apache.org/xalan}line-separator"
      Returns:
        The value of the parameter

    - #### getOutputPropertyDefault

          java.lang.String getOutputPropertyDefault(java.lang.String name)

      Get the default value for a property that affects seraialization, or null if there is none. It is possible that a non-default value was set for the property, however the value returned by this method is unaffected by any non-default settings.
      Parameters:
        `name` - The name of the property.
      Returns:
        The default value of the parameter, or null if there is no default value.

    - #### setOutputProperty

          void setOutputProperty(java.lang.String name,
                                 java.lang.String val)

      Set the non-default value for a property that affects seraialization.
      Parameters:
        `name` - The name of the property, which is just the local name if it is in no namespace, but is the URI in curly braces followed by the local name if it is in a namespace, for example:
        - "encoding"
        - "method"
        - "{http://xml.apache.org/xalan}indent-amount"
        - "{http://xml.apache.org/xalan}line-separator"

    - #### setOutputPropertyDefault

          void setOutputPropertyDefault(java.lang.String name,
                                        java.lang.String val)

      Set the default value for a property that affects seraialization.
      Parameters:
        `name` - The name of the property, which is just the local name if it is in no namespace, but is the URI in curly braces followed by the local name if it is in a namespace, for example:
        - "encoding"
        - "method"
        - "{http://xml.apache.org/xalan}indent-amount"
        - "{http://xml.apache.org/xalan}line-separator"

Copyright © 2023 Apache XML Project. All Rights Reserved.