[ http://issues.apache.org/jira/browse/XALANJ-1577?page=all ]

Brian Minchau updated XALANJ-1577:
----------------------------------

    Version: Latest Development Code
                 (was: 2.5)

> NullPointerException when sorting using a child of a variable.
> --------------------------------------------------------------
>
>          Key: XALANJ-1577
>          URL: http://issues.apache.org/jira/browse/XALANJ-1577
>      Project: XalanJ2
>         Type: Bug
>   Components: Xalan
>     Versions: Latest Development Code
>  Environment: Operating System: Other
> Platform: Other
>     Reporter: Michael Stephenson
>     Assignee: Xalan Developers Mailing List
>  Attachments: test.xsl
>
> It would seem that xalan 2.5.1 doesn't like doing anything of the form:
>     <xsl:apply-templates select="people">
>       <xsl:sort select="$request/parameter=name"/>
>     </xsl:apply-templates>
> ie. sorting a set of elements based on whether one of their children coincides
> with a child of a variable.
> Previous versions of xalan (2.4.1 and 2.1.0 are the only two I've tried) have
> allowed this. 
> It seems the easiest way to work around this is to reference the element
> represented by the variable absolutely, ie in the example below replace
> '$request' with 'request'.
> Although the example below is demonstrated from the command line the problem 
> is
> not specific to it.
> Thanks for you time!
> [EMAIL PROTECTED]:~$ /usr/local/java/jdk/bin/java -version
> java version "1.3.1"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1-b24)
> Java HotSpot(TM) Client VM (build 1.3.1-b24, mixed mode)
> [EMAIL PROTECTED]:~$ cat broken.xsl 
> <?xml version='1.0'?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
> version="1.0">
> <xsl:output method="html"/>
>   <xsl:template match="/">
>     <xsl:variable name="request" select="request"/>
>     <xsl:apply-templates select="people">
>       <xsl:sort select="$request/parameter=name"/>
>     </xsl:apply-templates>
>   </xsl:template>
> </xsl:stylesheet>
> [EMAIL PROTECTED]:~$ /usr/local/java/jdk/bin/java 
> org.apache.xalan.xslt.Process
> -XSL broken.xsl -EDUMP
> javax.xml.transform.TransformerConfigurationException:
> javax.xml.transform.TransformerException: java.lang.NullPointerException
>       at
> org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:922)
>       at org.apache.xalan.xslt.Process.main(Process.java:759)
> ---------
> javax.xml.transform.TransformerException: java.lang.NullPointerException
>       at
> org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:916)
>       at org.apache.xalan.xslt.Process.main(Process.java:759)
> ---------
> java.lang.NullPointerException
>       at 
> org.apache.xpath.operations.Variable.getElemVariable(Variable.java:312)
>       at 
> org.apache.xpath.operations.Variable.getAnalysisBits(Variable.java:362)
>       at
> org.apache.xpath.axes.FilterExprWalker.getAnalysisBits(FilterExprWalker.java:305)
>       at 
> org.apache.xpath.axes.WalkingIterator.getAnalysisBits(WalkingIterator.java:129)
>       at
> org.apache.xpath.axes.WalkingIteratorSorted.fixupVariables(WalkingIteratorSorted.java:235)
>       at 
> org.apache.xpath.operations.Operation.fixupVariables(Operation.java:91)
>       at org.apache.xpath.XPath.fixupVariables(XPath.java:111)
>       at org.apache.xalan.templates.ElemSort.compose(ElemSort.java:382)
>       at org.apache.xalan.templates.ElemForEach.compose(ElemForEach.java:157)
>       at 
> org.apache.xalan.templates.ElemCallTemplate.compose(ElemCallTemplate.java:150)
>       at
> org.apache.xalan.templates.ElemApplyTemplates.compose(ElemApplyTemplates.java:164)
>       at
> org.apache.xalan.templates.StylesheetRoot.composeTemplates(StylesheetRoot.java:358)
>       at
> org.apache.xalan.templates.StylesheetRoot.composeTemplates(StylesheetRoot.java:363)
>       at
> org.apache.xalan.templates.StylesheetRoot.composeTemplates(StylesheetRoot.java:363)
>       at 
> org.apache.xalan.templates.StylesheetRoot.recompose(StylesheetRoot.java:338)
>       at
> org.apache.xalan.processor.StylesheetHandler.endDocument(StylesheetHandler.java:479)
>       at org.apache.xerces.parsers.AbstractSAXParser.endDocument(Unknown 
> Source)
>       at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(Unknown 
> Source)
>       at org.apache.xerces.impl.XMLEntityManager.endEntity(Unknown Source)
>       at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
>       at org.apache.xerces.impl.XMLEntityScanner.skipSpaces(Unknown Source)
>       at
> org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(Unknown
> Source)
>       at 
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
> Source)
>       at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>       at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
>       at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>       at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>       at
> org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:892)
>       at org.apache.xalan.xslt.Process.main(Process.java:759)
> ---------
> java.lang.NullPointerException
>       at 
> org.apache.xpath.operations.Variable.getElemVariable(Variable.java:312)
>       at 
> org.apache.xpath.operations.Variable.getAnalysisBits(Variable.java:362)
>       at
> org.apache.xpath.axes.FilterExprWalker.getAnalysisBits(FilterExprWalker.java:305)
>       at 
> org.apache.xpath.axes.WalkingIterator.getAnalysisBits(WalkingIterator.java:129)
>       at
> org.apache.xpath.axes.WalkingIteratorSorted.fixupVariables(WalkingIteratorSorted.java:235)
>       at 
> org.apache.xpath.operations.Operation.fixupVariables(Operation.java:91)
>       at org.apache.xpath.XPath.fixupVariables(XPath.java:111)
>       at org.apache.xalan.templates.ElemSort.compose(ElemSort.java:382)
>       at org.apache.xalan.templates.ElemForEach.compose(ElemForEach.java:157)
>       at 
> org.apache.xalan.templates.ElemCallTemplate.compose(ElemCallTemplate.java:150)
>       at
> org.apache.xalan.templates.ElemApplyTemplates.compose(ElemApplyTemplates.java:164)
>       at
> org.apache.xalan.templates.StylesheetRoot.composeTemplates(StylesheetRoot.java:358)
>       at
> org.apache.xalan.templates.StylesheetRoot.composeTemplates(StylesheetRoot.java:363)
>       at
> org.apache.xalan.templates.StylesheetRoot.composeTemplates(StylesheetRoot.java:363)
>       at 
> org.apache.xalan.templates.StylesheetRoot.recompose(StylesheetRoot.java:338)
>       at
> org.apache.xalan.processor.StylesheetHandler.endDocument(StylesheetHandler.java:479)
>       at org.apache.xerces.parsers.AbstractSAXParser.endDocument(Unknown 
> Source)
>       at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(Unknown 
> Source)
>       at org.apache.xerces.impl.XMLEntityManager.endEntity(Unknown Source)
>       at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
>       at org.apache.xerces.impl.XMLEntityScanner.skipSpaces(Unknown Source)
>       at
> org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(Unknown
> Source)
>       at 
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
> Source)
>       at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
>       at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
>       at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>       at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>       at
> org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:892)
>       at org.apache.xalan.xslt.Process.main(Process.java:759)

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