-----Original Message-----
From: Ben Sifuentes [mailto:[EMAIL PROTECTED]]
Sent: Monday, June 11, 2001 11:18 AM
To: Xerces-J-Dev
Subject: Dom TreeWalker
I have a XML & XSL definition that looks like so:
XML
---
<directions>
<direction>line1</direction>
<direction>line1</direction>
<direction>line1</direction>
</directions>
XSL
---
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration=\"yes\" />");
<xsl:template match="/">
<xsl:for-each select="/directions/direction">
<xsl:value-of select="." />
<xsl:text> </xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
I want to manualy walk the dom tree and get each element of <direction>
Now I thought I could use the TreeWalker class but when I look at this class
I see a traverse() but, this method walks the entire tree and returns the
results. What I wanted was to walk the tree and have a method return the
element it finds and then manualy go to the next element and retrieve it's
results and so on..
How is this done?
public class TransformToDom
{
public static void main(String[] args)
throws java.io.IOException,
java.net.MalformedURLException,
org.xml.sax.SAXException
{
// Create an XSLT processor.
XSLTProcessor processor = XSLTProcessorFactory.getProcessor();
// Create input source documents.
XSLTInputSource xmlID = new XSLTInputSource("directions.xml");
XSLTInputSource stylesheetID = new XSLTInputSource("directions.xsl");
// Create a DOM Document node to attach the result nodes to.
Document out = new org.apache.xerces.dom.DocumentImpl();
XSLTResultTarget resultTarget = new XSLTResultTarget(out);
// Process the source tree and produce the result tree.
processor.process(xmlID, stylesheetID, resultTarget);
// Use the FormatterToXML and TreeWalker to print the DOM to System.out
// Note: Not yet sure how to get the Xerces Serializer to handle
// arbitrary nodes.
FormatterToXML fl = new FormatterToXML(new
FileOutputStream("directions.out"));
TreeWalker tw = new TreeWalker(fl);
tw.traverse(out);
System.out.println("************* The result is in directions.out
*************");
}
}
Thanks,
-Ben
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]