Transforming an XML File with XSL

This Example gives you a way to transform an XML File with XSL in a DOM document.

Transforming an XML File with XSL

Transforming an XML File with XSL

     

This Example gives you a way to transform an XML File with XSL in a DOM document. JAXP (Java API for XML Processing) is an interface which provides parsing of xml documents. Here the Document BuilderFactory is used to create new DOM parsers. Some of the methods used in code given below for Transforming are:-

TransformerFactory factory = TransformerFactory.newInstance():-TransformerFactory is a class that is used to create Transformer objects. A TransformerFactory instance can be used to create Transformer and Templates objects.

Templates template = factory.newTemplates(new StreamSource(new FileInputStream(xslFilename))):-Creates a Template.Template is an Interface which may be used multiple times in a given session.

Xsl code for the program generated is:-
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet 
   xmlns:xsl=
"http://www.w3.org/1999/XSL/Transform
  version=
"1.0">
  <xsl:output method="html" indent="yes"/>
  <xsl:template match="girish">
  <html>
  <head>
  <title>Girish</title>
  </head>
  <body>
  <xsl:apply-templates/>
  </body>
  </html>
  </xsl:template>
  <xsl:template match="roseindia">
  <xsl:value-of select="@key"/>=
  <xsl:value-of select="@value"/>
  <br></br>
  </xsl:template>
</xsl:stylesheet>
 


Xml code for the program generated is:-

<?xml version="1.0" encoding="UTF-8"?>
  <girish>
  <entry key="key1" value="value1" />
  <entry key="key2" />
  </girish>
  

XMLtoXSL.java

/* 
 * @Program that Transforms an XML File with XSL
 * XMLtoXSL.java 
 * Author:-RoseIndia Team
 * Date:-23-July-2008
 */

import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.*;

public class XMLtoXSL {
  public static void main(String[] args) throws Exception {
  new XMLtoXSL().xsl("t.xml""gt.xml""newstylesheet1.xsl");
  }
  public void xsl(String inputFilename, String outputFilename,
   String xslFilename)
throws Exception {
  TransformerFactory factory = TransformerFactory.newInstance();
  Templates template = factory.newTemplates(new StreamSource(
  new FileInputStream(xslFilename)));
  Transformer xformer = template.newTransformer();
  Source source = new StreamSource(
   new 
FileInputStream(inputFilename));
  Result result = new StreamResult(
  new 
FileOutputStream(outputFilename));
  xformer.transform(source, result);
  }
}
  

Output of the program:-

<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Girish</title>
</head>
<body>
</body>
</html>
  


DownLoad Source Code