[ 
http://issues.apache.org/jira/browse/XALANJ-2301?page=comments#action_12417818 
] 

Henry Zongaro commented on XALANJ-2301:
---------------------------------------

It looks like the problem occurs if an xsl:sort element (within either 
xsl:apply-templates or xsl:for-each) has a namespace declaration.  One 
work-around would be to move the namespace declaration to the instruction that 
contains the xsl:sort; another work-around would be to use XSLTC.

By the way, in case you're wondering why you had to wait so long for any 
comments on this bug report to appear, it makes it much easier to track down 
the source of a problem if you provide a complete stand-alone test case that 
demonstrates the problem.

> 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]

Reply via email to