FileDocCategorySizeDatePackage
DOMUtil.javaAPI DocExample2640Sun Sep 02 14:59:04 BST 2001com.oreilly.javaxslt.util

DOMUtil.java

package com.oreilly.javaxslt.util;


import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import org.w3c.dom.*;


public class DOMUtil {
//    private static final String IDENTITY_XSLT =
//        "<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform'"
//        + " version='1.0'>"
//        + "<xsl:template match='/'><xsl:copy-of select='.'/>"
//        + "</xsl:template></xsl:stylesheet>";

    public static void debugDocument(Document doc) {
        System.out.println("Document Summary");
        System.out.println("  obj = " + ((Object) doc).toString());
        System.out.println("  localName = '" + doc.getLocalName() + "'");
        System.out.println("  namespaceURI = '" + doc.getNamespaceURI() + "'");
        System.out.println("  documentElement = " + doc.getDocumentElement());
        System.out.println("  implementation = " + doc.getImplementation());
        System.out.println("  nodeType = " + doc.getNodeType());
        System.out.println("  ownerDocument = " + doc.getOwnerDocument());

        NodeList nl = doc.getChildNodes();
        int size = nl.getLength();
        for (int i=0; i<size; i++) {
            System.out.println("    : " + nl.item(i).getLocalName());

            Node curNode = nl.item(i);
            System.out.println("-------------");
            System.out.println(curNode.getLocalName());
            System.out.println("namespace URI: '" + curNode.getNamespaceURI() + "'");
            System.out.println(curNode.getNodeType());
            System.out.println(curNode.hasChildNodes());
            System.out.println("-------------");

            NodeList nl2 = nl.item(i).getChildNodes();
            for (int j=0; j<nl2.getLength(); j++) {
                System.out.println("    ... " + nl2.item(j).getLocalName());
            }
        }

    }

    /**
     * Convert a DOM tree into a String.
     */
    public static String domToString(Document domDoc)
            throws TransformerException, TransformerConfigurationException {
         TransformerFactory transFact = TransformerFactory.newInstance();
         Transformer trans = transFact.newTransformer();
         trans.setOutputProperty(OutputKeys.INDENT, "yes");
         StringWriter sw = new StringWriter();
         Result result = new StreamResult(sw);

         try {
         trans.transform(new DOMSource(domDoc), result);
         } catch (TransformerException te) {
            System.out.println(te.getMessageAndLocation());
            throw te;
         }
         return sw.toString();
    }

    private DOMUtil() {
    }
}