Class 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 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