Util.java Source code

Java tutorial

Introduction

Here is the source code for Util.java

Source

/**
 * The contents of this file are subject to the license and copyright
 * detailed in the LICENSE and NOTICE files at the root of the source
 * tree and available online at
 *
 * http://www.dspace.org/license/
 */

/**
 * This class provides a set of static methods to load and transform XML
 * documents. It supports parameter-aware stylesheets (XSLT).
 * 
 * @author Miguel Ferreira
 * 
 */

import java.io.StringWriter;

import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;

import org.w3c.dom.Document;

public class Util {

    /**
     * Applies a stylesheet to a given xml document.
     * 
     * @param xmlDocument
     *            the xml document to be transformed
     * @param xsltFilename
     *            the filename of the stylesheet
     * @return the transformed xml document
     * @throws Exception
     */
    public static String transformDocumentAsString(Document xmlDocument, String xsltFilename) throws Exception {
        // Generate a Transformer.
        Transformer transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(xsltFilename));

        StringWriter stringWriter = new StringWriter();
        StreamResult streamResult = new StreamResult(stringWriter);

        // Perform the transformation.
        transformer.transform(new DOMSource(xmlDocument), streamResult);
        // Now you can get the output Node from the DOMResult.
        return stringWriter.toString();
    }
}