## org.apache.xml.serializer
Class ToSAXHandler

    java.lang.Object
      org.apache.xml.serializer.SerializerBase
          org.apache.xml.serializer.ToSAXHandler

All Implemented Interfaces:
  DOMSerializer, SerializationHandler, Serializer, org.xml.sax.DTDHandler, org.xml.sax.ErrorHandler, org.xml.sax.ext.DeclHandler

Direct Known Subclasses:
  ToHTMLSAXHandler, ToTextSAXHandler, ToXMLSAXHandler

    public abstract class ToSAXHandler

extends SerializerBase

This class is used to provide a base behavior to be inherited by other To...SAXHandler serializers. This class is not a public API.

Usage:
  **For internal use only**

Field Summary
`static java.lang.String` `CDATA_CONTINUE` To insert ]]> in a CDATA section by ending the last CDATA section with ]] and starting the next CDATA section with >
`static java.lang.String` `CDATA_DELIMITER_CLOSE` The constant "]]>"
`static java.lang.String` `CDATA_DELIMITER_OPEN`
`static java.lang.String` `DEFAULT_SAX_SERIALIZER`
`static java.lang.String` `EMPTYSTRING`
`static java.lang.String` `ENTITY_AMP`
`static java.lang.String` `ENTITY_CRLF`
`static java.lang.String` `ENTITY_GT`
`static java.lang.String` `ENTITY_LT`
`static java.lang.String` `ENTITY_QUOT`
`static int` `HTML_ATTREMPTY`
`static int` `HTML_ATTRURL`
`static int` `NO_BAD_CHARS`
`static java.lang.String` `XML_PREFIX`
`static java.lang.String` `XMLNS_PREFIX`
`static java.lang.String` `XMLNS_URI`
`static java.lang.String` `XMLVERSION10`
`static java.lang.String` `XMLVERSION11` Define the XML version.

Constructor Summary
`ToSAXHandler()`
`ToSAXHandler(org.xml.sax.ContentHandler hdlr, org.xml.sax.ext.LexicalHandler lex, java.lang.String encoding)`
`ToSAXHandler(org.xml.sax.ContentHandler handler, java.lang.String encoding)`

Method Summary
`void` `addUniqueAttribute(java.lang.String qName, java.lang.String value, int flags)` Add a unique attribute
`void` `characters(org.w3c.dom.Node node)` This method gets the node's value as a String and uses that String as if it were an input character notification.
`void` `characters(java.lang.String characters)` Receive notification of character data.
`void` `comment(java.lang.String comment)` Receive notification of a comment.
`void` `endElement(java.lang.String elemName)` This method is used to notify that an element has ended.
`void` `error(org.xml.sax.SAXParseException exc)`
`void` `fatalError(org.xml.sax.SAXParseException exc)`
`void` `flushPending()` This method flushes any pending events, which can be startDocument() closing the opening tag of an element, or closing an open CDATA section.
`void` `processingInstruction(java.lang.String target, java.lang.String data)` Do nothing as this is an abstract class.
`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` `setCdataSectionElements(java.util.Vector URI_and_localNames)` Does nothing.
`void` `setContentHandler(org.xml.sax.ContentHandler _saxHandler)` Sets the SAX ContentHandler.
`void` `setLexHandler(org.xml.sax.ext.LexicalHandler _lexHandler)` Sets the LexicalHandler.
`void` `setShouldOutputNSAttr(boolean doOutputNSAttr)` Set whether or not namespace declarations (e.g.
`void` `setTransformState(TransformStateSetter ts)` Pass in a reference to a TransformState object, which can be used during SAX ContentHandler events to obtain information about he state of the transformation.
`void` `startDTD(java.lang.String arg0, java.lang.String arg1, java.lang.String arg2)` Do nothing.
`void` `startElement(java.lang.String qName)` An element starts, but attributes are not fully known yet.
`void` `startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)` Receives notification that an element starts, but attributes are not fully known yet.
`void` `startElement(java.lang.String arg0, java.lang.String arg1, java.lang.String arg2, org.xml.sax.Attributes arg3)` Receive notification of the beginning of an element, although this is a SAX method additional namespace or attribute information can occur before or after this call, that is associated with this element.
`boolean` `startPrefixMapping(java.lang.String prefix, java.lang.String uri, boolean shouldFlush)` This method is used to notify that a prefix maping is to start, which can be for the current element, or for the one to come.
`void` `warning(org.xml.sax.SAXParseException exc)`

Methods inherited from class org.apache.xml.serializer.SerializerBase

`addAttribute, addAttribute, addAttribute, addAttributeAlways, addAttributes, addXSLAttribute, asContentHandler, asDOMSerializer, close, endEntity, entityReference, fireEndEntity, getDoctypePublic, getDoctypeSystem, getEncoding, getIndent, getIndentAmount, getMediaType, getNamespaceMappings, getNamespaceURI, getNamespaceURIFromPrefix, getOmitXMLDeclaration, getPrefix, getStandalone, getTransformer, getVersion, namespaceAfterStartElement, notationDecl, setDoctype, setDoctypePublic, setDoctypeSystem, setDocumentLocator, setDTDEntityExpansion, setEncoding, setIndent, setIndentAmount, setMediaType, setNamespaceMappings, setOmitXMLDeclaration, setSourceLocator, setStandalone, setTransformer, setVersion, startDocument, unparsedEntityDecl`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.apache.xml.serializer.SerializationHandler
`serialize, setEscaping`

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

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

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

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

Field Detail

### NO_BAD_CHARS

    public static final int NO_BAD_CHARS

See Also:
  Constant Field Values

### HTML_ATTREMPTY

    public static final int HTML_ATTREMPTY

See Also:
  Constant Field Values

### HTML_ATTRURL

    public static final int HTML_ATTRURL

See Also:
  Constant Field Values

### CDATA_CONTINUE

    public static final java.lang.String CDATA_CONTINUE

  To insert ]]> in a CDATA section by ending the last CDATA section with ]] and starting the next CDATA section with >

  See Also:
    Constant Field Values

### CDATA_DELIMITER_CLOSE

    public static final java.lang.String CDATA_DELIMITER_CLOSE

  The constant "]]>"

  See Also:
    Constant Field Values

### CDATA_DELIMITER_OPEN

    public static final java.lang.String CDATA_DELIMITER_OPEN

See Also:
  Constant Field Values

### EMPTYSTRING

    public static final java.lang.String EMPTYSTRING

See Also:
  Constant Field Values

### ENTITY_AMP

    public static final java.lang.String ENTITY_AMP

See Also:
  Constant Field Values

### ENTITY_CRLF

    public static final java.lang.String ENTITY_CRLF

See Also:
  Constant Field Values

### ENTITY_GT

    public static final java.lang.String ENTITY_GT

See Also:
  Constant Field Values

### ENTITY_LT

    public static final java.lang.String ENTITY_LT

See Also:
  Constant Field Values

### ENTITY_QUOT

    public static final java.lang.String ENTITY_QUOT

See Also:
  Constant Field Values

### XML_PREFIX

    public static final java.lang.String XML_PREFIX

See Also:
  Constant Field Values

### XMLNS_PREFIX

    public static final java.lang.String XMLNS_PREFIX

See Also:
  Constant Field Values

### XMLNS_URI

    public static final java.lang.String XMLNS_URI

See Also:
  Constant Field Values

### DEFAULT_SAX_SERIALIZER

    public static final java.lang.String DEFAULT_SAX_SERIALIZER

See Also:
  Constant Field Values

### XMLVERSION11

    public static final java.lang.String XMLVERSION11

  Define the XML version.

  See Also:
    Constant Field Values

### XMLVERSION10

    public static final java.lang.String XMLVERSION10

See Also:
  Constant Field Values

Constructor Detail

### ToSAXHandler

    public ToSAXHandler()

### ToSAXHandler

    public ToSAXHandler(org.xml.sax.ContentHandler hdlr,
                        org.xml.sax.ext.LexicalHandler lex,
                        java.lang.String encoding)

### ToSAXHandler

    public ToSAXHandler(org.xml.sax.ContentHandler handler,
                        java.lang.String encoding)

Method Detail

### startDTD

    public void startDTD(java.lang.String arg0,
                         java.lang.String arg1,
                         java.lang.String arg2)
                  throws org.xml.sax.SAXException

  Do nothing.

  Throws:
    `org.xml.sax.SAXException`
  See Also:
    `LexicalHandler.startDTD(String, String, String)`

### characters

    public void characters(java.lang.String characters)
                    throws org.xml.sax.SAXException

  Receive notification of character data.

  Parameters:
    `characters` - The string of characters to process.
  Throws:
    `org.xml.sax.SAXException`
  See Also:
    `ExtendedContentHandler.characters(String)`

### comment

    public void comment(java.lang.String comment)
                 throws org.xml.sax.SAXException

  Receive notification of a comment.

  Overrides:
    `comment` in class `SerializerBase`
  Parameters:
    `comment` - the comment, but unlike the SAX comment() method this method takes a String rather than a character array.
  Throws:
    `org.xml.sax.SAXException`
  See Also:
    `ExtendedLexicalHandler.comment(String)`

### processingInstruction

    public void processingInstruction(java.lang.String target,
                                      java.lang.String data)
                               throws org.xml.sax.SAXException

  Do nothing as this is an abstract class. All subclasses will need to define their behavior if it is different.

  Throws:
    `org.xml.sax.SAXException`
  See Also:
    `ContentHandler.processingInstruction(String, String)`

### startElement

    public void startElement(java.lang.String arg0,
                             java.lang.String arg1,
                             java.lang.String arg2,
                             org.xml.sax.Attributes arg3)
                      throws org.xml.sax.SAXException

  Receive notification of the beginning of an element, although this is a SAX method additional namespace or attribute information can occur before or after this call, that is associated with this element.

  Throws:
    `org.xml.sax.SAXException` - Any SAX exception, possibly wrapping another exception.
    `org.xml.sax.SAXException`
  See Also:
    `ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)`, `ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)`, `AttributeList`, `ContentHandler.startElement(String,String,String,Attributes)`

### setLexHandler

    public void setLexHandler(org.xml.sax.ext.LexicalHandler _lexHandler)

  Sets the LexicalHandler.

  Parameters:
    `_lexHandler` - The LexicalHandler to set

### setContentHandler

    public void setContentHandler(org.xml.sax.ContentHandler _saxHandler)

  Sets the SAX ContentHandler.

  Parameters:
    `_saxHandler` - The ContentHandler to set
  See Also:
    `Serializer.asContentHandler()`, `ToSAXHandler`

### setCdataSectionElements

    public void setCdataSectionElements(java.util.Vector URI_and_localNames)

  Does nothing. The setting of CDATA section elements has an impact on stream serializers.

  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.
  See Also:
    `XSLOutputAttributes.setCdataSectionElements(java.util.Vector)`

### setShouldOutputNSAttr

    public void setShouldOutputNSAttr(boolean doOutputNSAttr)

  Set whether or not namespace declarations (e.g. xmlns:foo) should appear as attributes of elements

  Parameters:
    `doOutputNSAttr` - whether or not namespace declarations should appear as attributes

### flushPending

    public void flushPending()
                      throws org.xml.sax.SAXException

  This method flushes any pending events, which can be startDocument() closing the opening tag of an element, or closing an open CDATA section.

  Throws:
    `org.xml.sax.SAXException`

### setTransformState

    public void setTransformState(TransformStateSetter ts)

  Pass in a reference to a TransformState object, which can be used during SAX ContentHandler events to obtain information about he state of the transformation. This method will be called before each startDocument event.

  Parameters:
    `ts` - A reference to a TransformState object

### startElement

    public void startElement(java.lang.String uri,
                             java.lang.String localName,
                             java.lang.String qName)
                      throws org.xml.sax.SAXException

  Receives notification that an element starts, but attributes are not fully known yet.

  Parameters:
    `uri` - the URI of the namespace of the element (optional)
    `localName` - the element name, but without prefix (optional)
    `qName` - the element name, with prefix, if any (required)
  Throws:
    `org.xml.sax.SAXException`
  See Also:
    `ExtendedContentHandler.startElement(String, String, String)`

### startElement

    public void startElement(java.lang.String qName)
                      throws org.xml.sax.SAXException

  An element starts, but attributes are not fully known yet.

  Parameters:
    `qName` - the element name, with prefix (if any).
  Throws:
    `org.xml.sax.SAXException`
  See Also:
    `ExtendedContentHandler.startElement(String)`

### characters

    public void characters(org.w3c.dom.Node node)
                    throws org.xml.sax.SAXException

  This method gets the node's value as a String and uses that String as if it were an input character notification.

  Overrides:
    `characters` in class `SerializerBase`
  Parameters:
    `node` - the Node to serialize
  Throws:
    `org.xml.sax.SAXException`

### fatalError

    public void fatalError(org.xml.sax.SAXParseException exc)
                    throws org.xml.sax.SAXException

  Specified by:
    `fatalError` in interface `org.xml.sax.ErrorHandler`
  Overrides:
    `fatalError` in class `SerializerBase`
  Throws:
    `org.xml.sax.SAXException`
  See Also:
    `ErrorHandler.fatalError(SAXParseException)`

### error

    public void error(org.xml.sax.SAXParseException exc)
               throws org.xml.sax.SAXException

  Specified by:
    `error` in interface `org.xml.sax.ErrorHandler`
  Overrides:
    `error` in class `SerializerBase`
  Throws:
    `org.xml.sax.SAXException`
  See Also:
    `ErrorHandler.error(SAXParseException)`

### warning

    public void warning(org.xml.sax.SAXParseException exc)
                 throws org.xml.sax.SAXException

  Specified by:
    `warning` in interface `org.xml.sax.ErrorHandler`
  Overrides:
    `warning` in class `SerializerBase`
  Throws:
    `org.xml.sax.SAXException`
  See Also:
    `ErrorHandler.warning(SAXParseException)`

### reset

    public 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).

  Specified by:
    `reset` in interface `Serializer`
  Overrides:
    `reset` in class `SerializerBase`
  Returns:
    true if the class was successfuly reset.
  See Also:
    `Serializer.reset()`

### addUniqueAttribute

    public void addUniqueAttribute(java.lang.String qName,
                                   java.lang.String value,
                                   int flags)
                            throws org.xml.sax.SAXException

  Add a unique attribute

  Parameters:
    `qName` - the fully qualified attribute name.
    `value` - the attribute value
    `flags` - a bitwise flag
  Throws:
    `org.xml.sax.SAXException`

### endElement

    public void endElement(java.lang.String elemName)
                    throws org.xml.sax.SAXException

  This method is used to notify that an element has ended. Unlike the standard SAX method

       endElement(namespaceURI,localName,qName)

  only the last parameter is passed. If needed the serializer can derive the localName from the qualified name and derive the namespaceURI from its implementation.

  Parameters:
    `elemName` - the fully qualified element name.
  Throws:
    `org.xml.sax.SAXException`

### startPrefixMapping

    public boolean startPrefixMapping(java.lang.String prefix,
                                      java.lang.String uri,
                                      boolean shouldFlush)
                               throws org.xml.sax.SAXException

  This method is used to notify that a prefix maping is to start, which can be for the current element, or for the one to come.

  Parameters:
    `prefix` - the prefix that maps to the given URI
    `uri` - the namespace URI of the given prefix
    `shouldFlush` - if true this call is like the SAX startPrefixMapping(prefix,uri) call and the mapping applies to the element to come. If false the mapping applies to the current element.
  Returns:
    boolean false if the prefix mapping was already in effect (in other words we are just re-declaring), true if this is a new, never before seen mapping for the element.
  Throws:
    `org.xml.sax.SAXException`

Copyright © 2005 Apache XML Project. All Rights Reserved.