Hi Garrel,

I was able to reproduce your problem with Xalan-J 2.7.0, but I was not able
to reproduce it using the candidate code for 2.7.1 or the latest
development code.  So it looks like this bug was reported and fixed, though
so far I haven't been able to find it on JIRA
(http://issues.apache.org/jira)

Kevin Cormier
Software Developer, XSLT Development
IBM Toronto Lab, D1-435
E-mail:  [EMAIL PROTECTED]


                                                                           
             "Renick, Garrel"                                              
             <[EMAIL PROTECTED]>                                             
                                                                        To 
             08/27/2007 05:44          <xalan-j-users@xml.apache.org>      
             PM                                                         cc 
                                                                           
                                                                   Subject 
                                       Multiple Selections of a            
                                       Node--Appears to be a Bug           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




I'm seeing different results of a simple transformation using xalan-j_2_6_0
(and prior versions) versus xalan-j_2_7_0. This happens on BSD and Windows
implementations. The xalan-j_2_7_0 version results in duplicated output as
described below. I'm using jdk1.5.0_12. Here is a data set and a stylesheet
that display the problem:

XML:
<?xml version='1.0'?>
<document>
 <permission>
  <grp gid="101" name="group1"/>
  <grp gid="102" name="group2"/>
 </permission>
</document>

XSLT:
<?xml version="1.0"?>
<xsl:stylesheet  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">
  <xsl:output  method="html"/>

  <xsl:variable name="theData" select="/document/permission"/>

  <xsl:template match="/document">
    <xsl:variable name="grpcount"  select="count($theData/grp)"/>
    <xsl:call-template name="makeGroupList">
      <xsl:with-param name="groupSize" select="$grpcount"/>
    </xsl:call-template>
  </xsl:template>

  <xsl:template name="makeGroupList">
    <xsl:param name="groupSize"/>
    <select name="selectName" size="{$groupSize}" multiple="true">
      <xsl:apply-templates select="$theData/grp">
        <xsl:sort select="@name"/>
      </xsl:apply-templates>
    </select>
  </xsl:template>

  <xsl:template match="grp">
    <xsl:variable name="gid" select="./@gid"/>
        <option value="{$gid}"><xsl:value-of select="@name"/></option>
  </xsl:template>
</xsl:stylesheet>

Output xalan-j_2_7_0:
<select multiple="true" size="2" name="selectName">
  <option value="101">group1</option>
  <option value="101">group1</option>
  <option value="102">group2</option>
  <option value="102">group2</option>
</select>

However, the output from j_2_6_0 (and earlier versions) is as expected:

Output xalan-j_2_6_0:
<select multiple="true" size="2" name="selectName">
  <option value="101">group1</option>
  <option value="102">group2</option>
</select>

If I comment out the grpcount variable definition and pass a param with a
literal value in the call to the makeGroupList template, both versions of
xalan produce the same output.

I'd appreciate any insight into why this is happening.

Regards,
Garrel Renick


Reply via email to