cziegeler 02/05/08 04:36:09
Modified: src/java/org/apache/cocoon/xml XMLUtils.java
Log:
Workaround for Xalan bug 5779
Revision Changes Path
1.7 +12 -2 xml-cocoon2/src/java/org/apache/cocoon/xml/XMLUtils.java
Index: XMLUtils.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/xml/XMLUtils.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- XMLUtils.java 2 Apr 2002 14:13:34 -0000 1.6
+++ XMLUtils.java 8 May 2002 11:36:09 -0000 1.7
@@ -72,6 +72,7 @@
import javax.xml.transform.OutputKeys;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
/**
* XML utility methods.
@@ -79,7 +80,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Nicola Ken Barozzi</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Sylvain Wallez</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
- * @version CVS $Id: XMLUtils.java,v 1.6 2002/04/02 14:13:34 cziegeler Exp $
+ * @version CVS $Id: XMLUtils.java,v 1.7 2002/05/08 11:36:09 cziegeler Exp $
*/
public class XMLUtils{
@@ -213,6 +214,12 @@
return format;
}
+ // FIXME - for Xalan bug
+ private static String stylesheet = "<?xml
version=\"1.0\"?><xsl:stylesheet version=\"1.0\""+
+ "
xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">"+
+ "<xsl:template
match=\"node()|@*\"><xsl:copy>"+
+ "<xsl:apply-templates
select=\"node()|@*\"/>"+
+
"</xsl:copy></xsl:template></xsl:stylesheet>";
/**
* Serialize a DOM node to a String.
* The format of the output can be specified with the properties.
@@ -224,7 +231,10 @@
if (node == null) return "";
StringWriter writer = new StringWriter();
Transformer transformer;
- transformer = TransformerFactory.newInstance().newTransformer();
+ // transformer =
TransformerFactory.newInstance().newTransformer();
+ // FIXME - This is a workaround for bug #5779 of Xalan
+ transformer =
TransformerFactory.newInstance().newTransformer(new StreamSource(new
java.io.StringReader(stylesheet)));
+ // End workaround
transformer.setOutputProperties(format);
transformer.transform(new DOMSource(node), new
StreamResult(writer));
return writer.toString();
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]