Hello, World! (XSLT) The following example shows a simple but complete XML document transformed by an XSLT style sheet. The source XML document, hello.xml, contains a "Hello, World!" greeting from "An XSLT Programmer".XML (hello.xml) <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="hello.xsl"?> <hello-world> <greeter>An XSLT Programmer</greeter> <greeting>Hello, World!</greeting> </hello-world> The source document contains the <?xml-stylesheet …?> processing instruction to link it to the XSLT style sheet, hello.xsl. The XSLT file contains instructions for transforming the source document into an HTML document.XSLT (hello.xsl) <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/hello-world"> <HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY> <H1><xsl:value-of select="greeting"/></H1> <xsl:apply-templates select="greeter"/> </BODY> </HTML> </xsl:template> <xsl:template match="greeter"> <DIV>from <I><xsl:value-of select="."/></I> </DIV> </xsl:template> </xsl:stylesheet>
The following example shows a simple but complete XML document transformed by an XSLT style sheet. The source XML document, hello.xml, contains a "Hello, World!" greeting from "An XSLT Programmer".XML (hello.xml)
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="hello.xsl"?>
<hello-world>
<greeter>An XSLT Programmer</greeter>
<greeting>Hello, World!</greeting>
</hello-world>
The source document contains the <?xml-stylesheet …?> processing instruction to link it to the XSLT style sheet, hello.xsl. The XSLT file contains instructions for transforming the source document into an HTML document.XSLT (hello.xsl)
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="/hello-world">
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<H1><xsl:value-of select="greeting"/></H1>
<xsl:apply-templates select="greeter"/>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="greeter">
<DIV>from
<I><xsl:value-of select="."/></I>
</DIV>
</xsl:template>
</xsl:stylesheet>
import java.io.File;
import java.io.FileInputStream;
import java.io.StringWriter;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Transformer;import javax.xml.transform.dom.DOMSource;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.NodeList;
import org.w3c.dom.Attr;
import org.w3c.dom.Node;import org.w3c.dom.traversal.NodeIterator;
import org.apache.xpath.XPathAPI;import javax.xml.transform.TransformerException;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.ParserConfigurationException; public static StringBuffer transXML2HTML(Document xmldom,String xslfile,
String sOutMethod, Properties params) {
StringWriter sw =new StringWriter();
StreamResult sr = new StreamResult(sw);
try {
DOMSource dom = new DOMSource(xmldom);
File fxsl = new File(xslfile);
StreamSource sSTL = new StreamSource(fxsl);
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer(sSTL); if (sOutMethod != null)
transformer.setOutputProperty("method", sOutMethod); if (params != null) {
Enumeration keys = params.keys();
String _key = "";
while (keys.hasMoreElements()) {
_key = (String) keys.nextElement();
transformer.setParameter(_key, params.getProperty(_key));
}
}
transformer.transform(dom, sr);
}catch (Exception ex) {
//Log.show("XMLHelper","transXML2HTML()",ex);
}