DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21177>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21177 a crash in the name() function of the xslt, when using SQL transformer Summary: a crash in the name() function of the xslt, when using SQL transformer Product: Cocoon 2 Version: 2.1m2 Platform: PC OS/Version: Linux Status: NEW Severity: Normal Priority: Other Component: sitemap components AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] - when using sqltransformer, if on the pipeline the next transformer is standard xslt, you can not use name() or local-name() functions for guessing the names of the attributes of SQL namespaced elements. (rowset, by example). it throws al ava.lang.indexOutofBounds exception. It only happens when you use it on attributes: <xsl:for-each select="@*"> <xsl:attribute name="{name()}">blabla</xsl:attribute> </xsl:for-each> but <xsl:for-each select="@sql:*"> <xsl:attrbute name="{name()}">sdfsdf</xsl:attribute> </xsl:for-each> works fine. I think it only happes the firts time you "enter" a sql-namespaced element in applying the templates. In cocoon2.0.4 this used to work fine. the stacktrace: java.lang.ArrayIndexOutOfBoundsException: 7 >= 1 at java.util.Vector.elementAt(Vector.java:427) at org.apache.xml.dtm.ref.DTMStringPool.indexToString(DTMStringPool.java:137) at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2.getNodeName(SAX2DTM2.java:2770) at org.apache.xalan.xsltc.dom.SAXImpl.getNodeName(SAXImpl.java:1016) at org.apache.xalan.xsltc.dom.DOMAdapter.getNodeName(DOMAdapter.java:282) at cleanc.applyTemplates() at cleanc.applyTemplates() at cleanc.applyTemplates() at cleanc.transform() at org.apache.xalan.xsltc.runtime.AbstractTranslet.transform(AbstractTranslet. java:533) the stylesheet: <xsl:template match="/"> <xsl:apply-templates select="block"/> </xsl:template> <xsl:template match="block"> <xsl:copy> <xsl:for-each select="@*"> <xsl:attribute name="{name()}"> <xsl:value-of select="."/> </xsl:attribute> </xsl:for-each> <xsl:apply-templates select="sql:rowset"/> </xsl:copy> </xsl:template> <xsl:template match="sql:rowset"> <xsl:copy> <xsl:for-each select="@*"> <xsl:value-of select="local-name()"/> </xsl:for-each> </xsl:copy> </xsl:template> this stylesheet is applied after a standard SQLTransformation. and it crashes on "local-name()".