Transforming XML with XSLT
This Example shows you how to Transform XML with the XSLT 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:-
Source source = new
StreamSource("Document2.xml"):-creates a Streamsource.StreamSource is a class that acts as an holder for a transformation Source in the form of a stream of XML markup.
Result result = new
StreamResult(System.out):- creates a result.StreamResult class acts as an holder for a transformation result.
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.
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" standalone="no"?>
<Company>
<Employee>
<name Girish="Gi">Roseindia.net
</name>
</Employee>
<Employee>
<name Komal="Ko">newsTrack
</name>
</Employee>
<Employee>
<name Mahendra="Rose">Girish Tewari
</name>
</Employee>
</Company>
|
XMLwithXSLT.java
/*
* @Program for Transforming XML with XSLT
* XMLwithXSLT.java
* Author:-RoseIndia Team
* Date:-23-July-2008
*/
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.Source;
import javax.xml.transform.Result;
import javax.xml.transform.OutputKeys;
public class XMLwithXSLT {
public static void main(String[] args) throws Exception {
Source source = new StreamSource("Document2.xml");
Source xsl = new StreamSource("newstylesheet1.xsl");
Result result = new StreamResult(System.out);
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(xsl);
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.transform(xsl, result);
}
}
|
Output of the program:-
Roseindia.net
newsTrack
Girish Tewari
|
Download Source Code