org.apache.xalan.serialize

## Class SerializerUtils

- java.lang.Object
- - org.apache.xalan.serialize.SerializerUtils

    public class SerializerUtils
    extends java.lang.Object

Class that contains only static methods that are used to "serialize", these methods are used by Xalan and are not in org.apache.xml.serializer because they have dependancies on the packages org.apache.xpath or org. apache.xml.dtm or org.apache.xalan.transformer. The package org.apache.xml. serializer should not depend on Xalan or XSLTC.

Usage:
  **For internal use only**

### Constructor Summary

Constructors
Constructor and Description
`SerializerUtils()`

### Method Summary

Methods
`static void` `addAttribute(SerializationHandler handler, int attr)` Copy an DOM attribute to the created output element, executing attribute templates as need be, and processing the xsl:use attribute.
`static void` `addAttributes(SerializationHandler handler, int src)` Copy DOM attributes to the result element.
`static void` `ensureNamespaceDeclDeclared(SerializationHandler handler, DTM dtm, int namespace)` This function checks to make sure a given prefix is really declared.
`static boolean` `isDefinedNSDecl(SerializationHandler serializer, int attr, DTM dtm)` Returns whether a namespace is defined
`static void` `outputResultTreeFragment(SerializationHandler handler, XObject obj, XPathContext support)` Given a result tree fragment, walk the tree and output it to the SerializationHandler.
`static void` `processNSDecls(SerializationHandler handler, int src, int type, DTM dtm)` Copy `xmlns:` attributes in if not already in scope.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SerializerUtils

    public SerializerUtils()

### Method Detail

#### addAttribute

    public static void addAttribute(SerializationHandler handler,
                    int attr)
                             throws TransformerException

Copy an DOM attribute to the created output element, executing attribute templates as need be, and processing the xsl:use attribute.

Parameters:
  `handler` - SerializationHandler to which the attributes are added.
  `attr` - Attribute node to add to SerializationHandler.
Throws:
  `TransformerException`

#### addAttributes

    public static void addAttributes(SerializationHandler handler,
                     int src)
                              throws TransformerException

Copy DOM attributes to the result element.

Parameters:
  `src` - Source node with the attributes
Throws:
  `TransformerException`

#### outputResultTreeFragment

    public static void outputResultTreeFragment(SerializationHandler handler,
                                XObject obj,
                                XPathContext support)
                                         throws SAXException

Given a result tree fragment, walk the tree and output it to the SerializationHandler.

Parameters:
  `obj` - Result tree fragment object
  `support` - XPath context for the result tree fragment
Throws:
  `SAXException`

#### processNSDecls

    public static void processNSDecls(SerializationHandler handler,
                      int src,
                      int type,
                      DTM dtm)
                               throws TransformerException

Copy `xmlns:` attributes in if not already in scope. As a quick hack to support ClonerToResultTree, this can also be used to copy an individual namespace node.

Parameters:
  `src` - Source Node NEEDSDOC @param type NEEDSDOC @param dtm
Throws:
  `TransformerException`

#### isDefinedNSDecl

    public static boolean isDefinedNSDecl(SerializationHandler serializer,
                          int attr,
                          DTM dtm)

Returns whether a namespace is defined

Parameters:
  `attr` - Namespace attribute node
  `dtm` - The DTM that owns attr.
Returns:
  True if the namespace is already defined in list of namespaces

#### ensureNamespaceDeclDeclared

    public static void ensureNamespaceDeclDeclared(SerializationHandler handler,
                                   DTM dtm,
                                   int namespace)
                                            throws SAXException

This function checks to make sure a given prefix is really declared. It might not be, because it may be an excluded prefix. If it's not, it still needs to be declared at this point. TODO: This needs to be done at an earlier stage in the game... -sb NEEDSDOC @param dtm NEEDSDOC @param namespace

Throws:
  `SAXException`