xml-xalan-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nicolas (JIRA)" <xalan-...@xml.apache.org>
Subject [jira] Created: (XALANJ-2244) xsl:sort does not work with nodeset parameters
Date Wed, 07 Dec 2005 17:35:08 GMT
xsl:sort does not work with nodeset parameters
----------------------------------------------

         Key: XALANJ-2244
         URL: http://issues.apache.org/jira/browse/XALANJ-2244
     Project: XalanJ2
        Type: Bug
  Components: XSLTC  
 Environment: JDK 1.5.0_06
    Reporter: Nicolas


i create some number elements within a variable, pass them to a function that extract the
maximum value, and i get an empty result.
this happens width jdk 1.5 default transformer, but not with Saxon transformer or jdk 1.4.2
default transformer.

simple function to calculate the maximum value of some nodes passed as parameter :
<xsl:template name="max">
	<xsl:param name="nodes" select="/.."/>
	<xsl:for-each select="$nodes">
		<xsl:sort data-type="number" order="descending"/>
		<xsl:if test="position() = 1">
			<xsl:value-of select="number(.)"/>
		</xsl:if>
	</xsl:for-each>
	</xsl:choose>
</xsl:template>

simple elements :
<xsl:variable name="foo">
   <xsl:element name="bar">
      <xsl:text>5</xsl:text>
   </xsl:element>
   <xsl:element name="bar">
      <xsl:text>8</xsl:text>
   </xsl:element>
   <xsl:element name="bar">
      <xsl:text>2</xsl:text>
   </xsl:element>
</xsl:variable> 

call the function :
<xsl:variable name="result">
  <xsl:call-template name="max">
      <xsl:with-param name="nodes" select="nodeset($foo)/bar"/>
  </xsl:call-template>
</xsl:variable>

see the result :
<xsl:value-of select="$result" />  is empty 

If i remove the <xsl:sort ...> line in the function, result is 5  (wich is logic)

If i use the function inline, it works :
<xsl:variable name="result">
    <xsl:for-each select="nodeset($foo)/bar">
        <xsl:sort data-type="number" order="descending"/>
        <xsl:if test="position() = 1">
            <xsl:value-of select="number(.)"/>
        </xsl:if>
    </xsl:for-each>
</xsl:variable> 
<xsl:value-of select="$result" /> is 8


-- 
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: xalan-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-dev-help@xml.apache.org


Mime
View raw message