org.apache.xml.serializer

## Interface ExtendedContentHandler

- All Superinterfaces:
    org.xml.sax.ContentHandler
  All Known Subinterfaces:
    SerializationHandler
  All Known Implementing Classes:
    AdaptiveResultTreeImpl, EmptySerializer, SerializerBase, SimpleResultTreeImpl, StringValueHandler, ToHTMLSAXHandler, ToHTMLStream, ToSAXHandler, ToStream, ToTextSAXHandler, ToTextStream, ToUnknownStream, ToXMLSAXHandler, ToXMLStream

      public interface ExtendedContentHandler
      extends org.xml.sax.ContentHandler

  This interface describes extensions to the SAX ContentHandler interface. It is intended to be used by a serializer. The methods on this interface will implement SAX- like behavior. This allows the gradual collection of information rather than having it all up front. For example the call

       startElement(namespaceURI,localName,qName,atts)

  could be replaced with the calls

       startElement(namespaceURI,localName,qName)
       addAttributes(atts)

  If there are no attributes the second call can be dropped. If attributes are to be added one at a time with calls to

       addAttribute(namespaceURI, localName, qName, type, value)

  Usage:
    **For internal use only**

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `HTML_ATTREMPTY`
    `static int` | `HTML_ATTRURL`
    `static int` | `NO_BAD_CHARS`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAttribute(java.lang.String qName, java.lang.String value)` Add an attribute to the current element.
    `void` | `addAttribute(java.lang.String uri, java.lang.String localName, java.lang.String rawName, java.lang.String type, java.lang.String value)` Add at attribute to the current element, not from an xsl:attribute element.
    `void` | `addAttribute(java.lang.String uri, java.lang.String localName, java.lang.String rawName, java.lang.String type, java.lang.String value, boolean XSLAttribute)` Add at attribute to the current element
    `void` | `addAttributes(org.xml.sax.Attributes atts)` Add attributes to the current element
    `void` | `addUniqueAttribute(java.lang.String qName, java.lang.String value, int flags)` Add a unique attribute to the current element.
    `void` | `addXSLAttribute(java.lang.String qName, java.lang.String value, java.lang.String uri)` Add an attribute from an xsl:attribute element.
    `void` | `characters(org.w3c.dom.Node node)` This method is used to notify of a character event, but passing the data as a DOM Node rather than the standard character array.
    `void` | `characters(java.lang.String chars)` This method is used to notify of a character event, but passing the data as a character String rather than the standard character array.
    `void` | `endElement(java.lang.String elemName)` This method is used to notify that an element has ended.
    `void` | `entityReference(java.lang.String entityName)` Notify of an entity reference.
    `NamespaceMappings` | `getNamespaceMappings()` This method returns an object that has the current namespace mappings in effect.
    `java.lang.String` | `getNamespaceURI(java.lang.String name, boolean isElement)` This method gets the prefix associated with a current element or attribute name.
    `java.lang.String` | `getNamespaceURIFromPrefix(java.lang.String prefix)` This method returns the namespace URI currently associated with the prefix.
    `java.lang.String` | `getPrefix(java.lang.String uri)` This method returns the prefix that currently maps to the given namespace URI.
    `void` | `namespaceAfterStartElement(java.lang.String uri, java.lang.String prefix)` This method is used to notify that a prefix mapping is to start, but after an element is started.
    `void` | `setSourceLocator(javax.xml.transform.SourceLocator locator)` This method is used to set the source locator, which might be used to generated an error message.
    `void` | `startElement(java.lang.String qName)` This method is used to notify of the start of an element
    `void` | `startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)` This method is used to notify that an element is starting.
    `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.

    - ### Methods inherited from interface org.xml.sax.ContentHandler

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

- - ### Field Detail

    - #### NO_BAD_CHARS

          static final int NO_BAD_CHARS

      See Also:
        Constant Field Values

    - #### HTML_ATTREMPTY

          static final int HTML_ATTREMPTY

      See Also:
        Constant Field Values

    - #### HTML_ATTRURL

          static final int HTML_ATTRURL

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### addAttribute

          void addAttribute(java.lang.String uri,
                            java.lang.String localName,
                            java.lang.String rawName,
                            java.lang.String type,
                            java.lang.String value,
                            boolean XSLAttribute)
                     throws org.xml.sax.SAXException

      Add at attribute to the current element
      Parameters:
        `uri` - the namespace URI of the attribute name
        `localName` - the local name of the attribute (without prefix)
        `rawName` - the qualified name of the attribute
        `type` - the attribute type typically character data (CDATA)
        `value` - the value of the attribute
        `XSLAttribute` - true if the added attribute is coming from an xsl:attribute element
      Throws:
        `org.xml.sax.SAXException`

    - #### addAttributes

          void addAttributes(org.xml.sax.Attributes atts)
                      throws org.xml.sax.SAXException

      Add attributes to the current element
      Parameters:
        `atts` - the attributes to add.
      Throws:
        `org.xml.sax.SAXException`

    - #### addAttribute

          void addAttribute(java.lang.String qName,
                            java.lang.String value)

      Add an attribute to the current element. The namespace URI of the attribute will be calculated from the prefix of qName. The local name will be derived from qName and the type will be assumed to be "CDATA".
      Parameters:
        `qName` -
        `value` -

    - #### characters

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

      This method is used to notify of a character event, but passing the data as a character String rather than the standard character array.
      Parameters:
        `chars` - the character data
      Throws:
        `org.xml.sax.SAXException`

    - #### characters

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

      This method is used to notify of a character event, but passing the data as a DOM Node rather than the standard character array.
      Parameters:
        `node` - a DOM Node containing text.
      Throws:
        `org.xml.sax.SAXException`

    - #### endElement

          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`

    - #### startElement

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

      This method is used to notify that an element is starting. This method is just like the standard SAX method

           startElement(uri,localName,qname,atts)

      but without the attributes.
      Parameters:
        `uri` - the namespace URI of the element
        `localName` - the local name (without prefix) of the element
        `qName` - the qualified name of the element
      Throws:
        `org.xml.sax.SAXException`

    - #### startElement

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

      This method is used to notify of the start of an element
      Parameters:
        `qName` - the fully qualified name of the element
      Throws:
        `org.xml.sax.SAXException`

    - #### namespaceAfterStartElement

          void namespaceAfterStartElement(java.lang.String uri,
                                          java.lang.String prefix)
                                   throws org.xml.sax.SAXException

      This method is used to notify that a prefix mapping is to start, but after an element is started. The SAX method call

           startPrefixMapping(prefix,uri)

      is used just before an element starts and applies to the element to come, not to the current element. This method applies to the current element. For example one could make the calls in this order:

           startElement("prfx8:elem9")
           namespaceAfterStartElement("http://namespace8","prfx8")

      Parameters:
        `uri` - the namespace URI being declared
        `prefix` - the prefix that maps to the given namespace
      Throws:
        `org.xml.sax.SAXException`

    - #### startPrefixMapping

          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`

    - #### entityReference

          void entityReference(java.lang.String entityName)
                        throws org.xml.sax.SAXException

      Notify of an entity reference.
      Parameters:
        `entityName` - the name of the entity
      Throws:
        `org.xml.sax.SAXException`

    - #### getNamespaceMappings

          NamespaceMappings getNamespaceMappings()

      This method returns an object that has the current namespace mappings in effect.
      Returns:
        NamespaceMappings an object that has the current namespace mappings in effect.

    - #### getPrefix

          java.lang.String getPrefix(java.lang.String uri)

      This method returns the prefix that currently maps to the given namespace URI.
      Parameters:
        `uri` - the namespace URI
      Returns:
        String the prefix that currently maps to the given URI.

    - #### getNamespaceURI

          java.lang.String getNamespaceURI(java.lang.String name,
                                           boolean isElement)

      This method gets the prefix associated with a current element or attribute name.
      Parameters:
        `name` - the qualified name of an element, or attribute
        `isElement` - true if it is an element name, false if it is an atttribute name
      Returns:
        String the namespace URI associated with the element or attribute.

    - #### getNamespaceURIFromPrefix

          java.lang.String getNamespaceURIFromPrefix(java.lang.String prefix)

      This method returns the namespace URI currently associated with the prefix.
      Parameters:
        `prefix` - a prefix of an element or attribute.
      Returns:
        String the namespace URI currently associated with the prefix.

    - #### setSourceLocator

          void setSourceLocator(javax.xml.transform.SourceLocator locator)

      This method is used to set the source locator, which might be used to generated an error message.
      Parameters:
        `locator` - the source locator

    - #### addUniqueAttribute

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

      Add a unique attribute to the current element. The attribute is guaranteed to be unique here. The serializer can write it out immediately without saving it in a table first. The integer flag contains information about the attribute, which helps the serializer to decide whether a particular processing is needed.
      Parameters:
        `qName` - the fully qualified attribute name.
        `value` - the attribute value
        `flags` - a bitwise flag
      Throws:
        `org.xml.sax.SAXException`

    - #### addXSLAttribute

          void addXSLAttribute(java.lang.String qName,
                               java.lang.String value,
                               java.lang.String uri)

      Add an attribute from an xsl:attribute element.
      Parameters:
        `qName` - the qualified attribute name (prefix:localName)
        `value` - the attributes value
        `uri` - the uri that the prefix of the qName is mapped to.

    - #### addAttribute

          void addAttribute(java.lang.String uri,
                            java.lang.String localName,
                            java.lang.String rawName,
                            java.lang.String type,
                            java.lang.String value)
                     throws org.xml.sax.SAXException

      Add at attribute to the current element, not from an xsl:attribute element.
      Parameters:
        `uri` - the namespace URI of the attribute name
        `localName` - the local name of the attribute (without prefix)
        `rawName` - the qualified name of the attribute
        `type` - the attribute type typically character data (CDATA)
        `value` - the value of the attribute
      Throws:
        `org.xml.sax.SAXException`

Copyright © 2023 Apache XML Project. All Rights Reserved.