[ http://issues.apache.org/jira/browse/XALANJ-2301?page=comments#action_12420674 ]
Brian Minchau commented on XALANJ-2301: --------------------------------------- Peter has suggested a fix in ElemForEach, however the traceback above shows a problem with ElemApplyTemplates, so it looks like there are a few places that need the same fix, so the fix is not complete. John Gentilin remembers that in a previous bug triage that we would use the the ElemForEach code for ElemApplyTemplates. A work around is to move the namespace declaration up to the parent element of the sort element. > NPE in ElemTemplateElement for a ElemSort as part of an ElemForEach when > dynamically generating a Templates > ----------------------------------------------------------------------------------------------------------- > > Key: XALANJ-2301 > URL: http://issues.apache.org/jira/browse/XALANJ-2301 > Project: XalanJ2 > Type: Bug > Versions: 2.7 > Reporter: peter royal > Attachments: j2301.out, j2301.xml, j2301.xsl > > The XSL fragment that created this is: > <xsl:apply-templates select="something> > <xsl:sort select="@something"/> > </xsl:apply-templates> > resulting in: > java.lang.NullPointerException > at > org.apache.xalan.templates.ElemTemplateElement.getStylesheetRoot(ElemTemplateElement.java:171) > at > org.apache.xalan.templates.ElemTemplateElement.resolvePrefixTables(ElemTemplateElement.java:1033) > at > org.apache.xalan.templates.ElemTemplateElement.compose(ElemTemplateElement.java:190) > at org.apache.xalan.templates.ElemSort.compose(ElemSort.java:333) > at org.apache.xalan.templates.ElemForEach.compose(ElemForEach.java:136) > at > org.apache.xalan.templates.ElemCallTemplate.compose(ElemCallTemplate.java:113) > at > org.apache.xalan.templates.ElemApplyTemplates.compose(ElemApplyTemplates.java:127) > at > org.apache.xalan.templates.StylesheetRoot.composeTemplates(StylesheetRoot.java:357) > at > org.apache.xalan.templates.StylesheetRoot.composeTemplates(StylesheetRoot.java:362) > at > org.apache.xalan.templates.StylesheetRoot.composeTemplates(StylesheetRoot.java:362) > at > org.apache.xalan.templates.StylesheetRoot.composeTemplates(StylesheetRoot.java:362) > at > org.apache.xalan.templates.StylesheetRoot.composeTemplates(StylesheetRoot.java:362) > at > org.apache.xalan.templates.StylesheetRoot.composeTemplates(StylesheetRoot.java:362) > at > org.apache.xalan.templates.StylesheetRoot.recompose(StylesheetRoot.java:337) > at > org.apache.xalan.processor.StylesheetHandler.endDocument(StylesheetHandler.java:468) > ... then enters my code > ... this occurs because the ElemSort has a single entry in its > m_declaredPrefixes vector, an entry for 'xsl'. > A 1-line fix to ElemForEach.java fixes this. In appendChild, when adding a > sort element, just add: > newChild.setParentElem( this ); > before returning the newChild. -- 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 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
