[
http://issues.apache.org/jira/browse/COCOON-831?page=comments#action_12440484 ]
Henry Zongaro commented on COCOON-831:
--------------------------------------
Looking at the code in org.apache.cocoon.generation.ProfilerGenerator.generate,
which appears in Nils's traceback, I think it would help me if somebody could
try serializing the SAX events that are sent into this.contentHandler by that
code. For example, change the following code:
} else {
// Start the document and set the PROFILER_NS.
this.contentHandler.startDocument();
this.contentHandler.startPrefixMapping(PREFIX, PROFILER_NS);
generateProfilerInfo();
// End the document.
this.contentHandler.endPrefixMapping(PREFIX);
this.contentHandler.endDocument();
}
to the following, which will write the SAX events serialized as XML to
System.err
} else {
org.xml.sax.ContentHandler oldHandler = this.contentHandler;
try {
this.contentHandler =
((javax.xml.transform.sax.SAXTransformerFactory)
javax.xml.transform.TransformerFactory.newInstance())
.newTransformerHandler();
} catch (javax.xml.transform.TransformerConfigurationException tce)
{
throw new SAXException(tce.toString());
}
java.io.StringWriter sw = new java.io.StringWriter();
((javax.xml.transform.sax.TransformerHandler) this.contentHandler)
.setResult(new StreamResult(sw));
// Start the document and set the PROFILER_NS.
this.contentHandler.startDocument();
this.contentHandler.startPrefixMapping(PREFIX, PROFILER_NS);
generateProfilerInfo();
// End the document.
this.contentHandler.endPrefixMapping(PREFIX);
this.contentHandler.endDocument();
String result = sw.toString();
System.err.println(result);
this.contentHandler = oldHandler;
org.xml.sax.XMLReader rdr =
org.xml.sax.helpers.XMLReaderFactory.createXMLReader();
rdr.setContentHandler(oldHandler);
try {
rdr.parse(new org.xml.sax.InputSource(new
java.io.StringReader(result)));
} catch (java.io.IOException ioe) {
throw new SAXException(ioe.toString());
}
}
> XSLTC doesn't work with nodeset functions
> -----------------------------------------
>
> Key: COCOON-831
> URL: http://issues.apache.org/jira/browse/COCOON-831
> Project: Cocoon
> Issue Type: Bug
> Components: - Components: Sitemap
> Affects Versions: 2.1, 2.1.8
> Environment: Operating System: other
> Platform: Other
> Reporter: Peter Broschwitz
> Assigned To: Cocoon Developers Team
> Priority: Critical
>
> we are using cocoon 2.1 with xsltc (version 1.4, xalan 2.5.0) as default
> transformer. Now we want to use the xalan or exslt nodeset function, but
> this is only possible with xalan xslt.
> For testing purposes we tried a simple nodeset transformation from the
> command line. We did that with the same libraries as cocoon, like:
> $>java -Djava.endorsed.dirs=<path/to/endorsed/directory>
> org.apache.xalan.xsltc.cmdline.Transform -x node-set-test.xml node_set_test
> That way, the transformation succeeds. (Compilation before suceeded also, of
> course.)
> Trying to process this stylesheet within the cocoon pipeline throws a null
> pointer exception without any entries in the cocoon-log-files. Changing to
> xalan-xslt the transformation works without any problems.
> The stylesheet we used is from the xsltc-documentation:
> ==============================================
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:xsltc-extension="http://xml.apache.org/xalan/xsltc"
> xmlns:xalan="http://xml.apache.org/xalan"
> xmlns:exslt="http://exslt.org/common"
> version="1.0">
> <xsl:template match="/">
> <xsl:variable name="rtf">
> <docelem>
> <elem1>elem1 gefunden!</elem1>
> <elem2>elem2 gefunden!</elem2>
> </docelem>
> </xsl:variable>
> <!-- Use nodeset as an XSLTC extension function -->
> <xsl:value-of select="xsltc-extension:nodeset($rtf)/docelem/elem1"/>
> <!-- Use nodeset as a Xalan-Java extension function -->
> <xsl:value-of select="xalan:nodeset($rtf)/docelem/elem1"/>
> <!-- Use nodeset as an EXSLT extension function -->
> <xsl:value-of select="exslt:node-set($rtf)/docelem/elem1"/>
> <!-- Use nodeset as standard function -->
> <xsl:value-of select="nodeset($rtf)/docelem/elem1"/>
> </xsl:template>
> </xsl:stylesheet>
> ==============================================
> I should add, that none of these nodeset-functions worked, i tested every one
> of his one and commented out the others.
> I posted this message already to the cocoon-user-list, and this behaviour
> could
> be reproduced by others.
> Peter
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira