org.apache.xalan.serialize
Class SerializerUtils

java.lang.Object
  extended by 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.


Constructor Summary
SerializerUtils()
           
 
Method Summary
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
clone, equals, finalize, 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 javax.xml.transform.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:
javax.xml.transform.TransformerException

addAttributes

public static void addAttributes(SerializationHandler handler,
                                 int src)
                          throws javax.xml.transform.TransformerException
Copy DOM attributes to the result element.

Parameters:
src - Source node with the attributes
Throws:
javax.xml.transform.TransformerException

outputResultTreeFragment

public static void outputResultTreeFragment(SerializationHandler handler,
                                            XObject obj,
                                            XPathContext support)
                                     throws org.xml.sax.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:
org.xml.sax.SAXException

processNSDecls

public static void processNSDecls(SerializationHandler handler,
                                  int src,
                                  int type,
                                  DTM dtm)
                           throws javax.xml.transform.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:
javax.xml.transform.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 org.xml.sax.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:
org.xml.sax.SAXException