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]