Mega Code Archive

 
Categories / Java / XML
 

Applies a stylesheet to a given xml document

/**  * 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();     } }