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


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