Mike Brown wrote: > I'm trying to serialize nodes to an XML string, using Java extensions. I'm > trying to avoid writing my own. I thought perhaps I could use the > DOMSerializer in Xalan-J.
FWIW, using JAXP methods, as shown below, seems to work OK. I'd still like to know what went wrong with the DOMSerializer, though. <xsl:template match="/"> <!--Node node = (a node-set for which the 1st node in document order will be serialized)--> <xsl:variable name="node" select="/"/> <!--TransformerFactory tfactory = new TransformerFactory.newInstance();--> <xsl:variable name="tfactory" select="java:javax.xml.transform.TransformerFactory.newInstance()"/> <!--Transformer t = tfactory.newTransformer();--> <xsl:variable name="t" select="java:newTransformer($tfactory)"/> <!--DOMSource isrc = new DOMSource(nodeset);--> <xsl:variable name="isrc" select="java:javax.xml.transform.dom.DOMSource.new($node)"/> <!--StringWriter buffer = new StringWriter();--> <xsl:variable name="buffer" select="java:java.io.StringWriter.new()"/> <!--StreamResult result = new StreamResult(buffer);--> <xsl:variable name="result" select="java:javax.xml.transform.stream.StreamResult.new($buffer)"/> <!--t.transform(isrc, result)--> <xsl:variable name="void0" select="java:transform($t, $isrc, $result)"/> <!--System.out.write(buffer.toString());--> <!--Also clean up newlines--> <xsl:value-of select="translate(java:toString($buffer), ' ', '')"/> </xsl:template> Mike