DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6580>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6580

Incorrect nodes selected with preceding:: axis

           Summary: Incorrect nodes selected with preceding:: axis
           Product: XalanJ2
           Version: 2.3
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Critical
          Priority: Other
         Component: Xalan
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


Using the preceding axis in an expression causes following nodes to be selected
as well. This bug occurs with 2.3 but not with the version of xalan shipped in
jdk1.4. The following test case illustrates this problem. As you go through the
results and notice that the following radio button is included in the list of
preceding nodes for the first radio button. There is not a corresponding problem
using the following:: axis instead .

Stylesheet:

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

        <xsl:strip-space elements="*"/>
        <xsl:template match="/">
                <xsl:apply-templates select="html"/>
        </xsl:template>

        <xsl:template match="input[@type='radio' or @type='checkbox']">
RADIO/CHECKBOX: name=<xsl:value-of select="@name"/>, value="<xsl:value-of
select="@value"/>
                <!-- if this is the first radiobutton/checkbox with this name in this 
form -->
                 <xsl:variable name="test1"  select="preceding::*"/>
                <xsl:for-each select="$test1">
                  preceding=<xsl:value-of select="name()"/>,<xsl:value-of
select="@name"/>,<xsl:value-of select="@value"/>, pos=<xsl:value-of
select="position()"/><br/>
                </xsl:for-each>
        </xsl:template>
</xsl:stylesheet>


Input page:

<html nocache="true">
  <head>
    <link href="http://216.191.142.240:5080/sd-sp4/sd-sp.css"; rel="stylesheet"
type="text/css">
    </link>
  </head>

  <body>
    <div class="headline">
      <p>Login</p>
    </div>

    <form action="http://216.191.142.240:5080/sd-sp4/Login.jsp"; method="post"
target="results">
Do you have an SP account?
      <p>
      </p>

      <table width="100%">
        <tr name="t1">
          <td name="t2">
            <input checked="checked" name="vHaveAccount" type="radio" value="yes">
            </input>
 Yes</td>

          <td name="t3">
            <table>
              <tr name="t4">
                <td name="t5">User name</td>

                <td name="t6">
                  <input name="vLogin" size="30" type="text">
                  </input>
                </td>
              </tr>

              <tr name="t7">
                <td name="t8">Password</td>

                <td name="t9">
                  <input name="vPassword" size="30" type="password">
                  </input>
                </td>
              </tr>
            </table>
          </td>
        </tr>

        <tr name="t10">
          <td colspan="2" name="t11">
            <input name="vHaveAccount" type="radio" value="no">
            </input>
 No, I am a new SP user</td>

          <td name="t12">
          </td>
        </tr>
      </table>

      <p>

        <input type="submit" value="Submit">
        </input>
      </p>
    </form>
  </body>
</html>

Result showing bug:

<?xml version="1.0" encoding="UTF-8"?>
Login
Do you have an SP account?
      
RADIO/CHECKBOX: name=vHaveAccount, value="yes
                  preceding=head,,, pos=1<br/>
                  preceding=link,,, pos=2<br/>
                  preceding=div,,, pos=3<br/>
                  preceding=p,,, pos=4<br/>
                  preceding=p,,, pos=5<br/>
                  preceding=tr,t1,, pos=6<br/>
                  preceding=tr,t10,, pos=7<br/>
                  preceding=td,t11,, pos=8<br/>
                  preceding=input,vHaveAccount,no, pos=9<br/>
                  preceding=td,t12,, pos=10<br/>
 YesUser namePassword
RADIO/CHECKBOX: name=vHaveAccount, value="no
                  preceding=head,,, pos=1<br/>
                  preceding=link,,, pos=2<br/>
                  preceding=div,,, pos=3<br/>
                  preceding=p,,, pos=4<br/>
                  preceding=p,,, pos=5<br/>
                  preceding=tr,t1,, pos=6<br/>
                  preceding=td,t2,, pos=7<br/>
                  preceding=input,vHaveAccount,yes, pos=8<br/>
                  preceding=td,t3,, pos=9<br/>
                  preceding=table,,, pos=10<br/>
                  preceding=tr,t4,, pos=11<br/>
                  preceding=td,t5,, pos=12<br/>
                  preceding=td,t6,, pos=13<br/>
                  preceding=input,vLogin,, pos=14<br/>
                  preceding=tr,t7,, pos=15<br/>
                  preceding=td,t8,, pos=16<br/>
                  preceding=td,t9,, pos=17<br/>
                  preceding=input,vPassword,, pos=18<br/>
                  preceding=td,t11,, pos=19<br/>
                  preceding=td,t12,, pos=20<br/>
 No, I am a new SP user

Expected correct results as generated with jdk1.4:

<?xml version="1.0" encoding="UTF-8"?>
Login
Do you have an SP account?
      
RADIO/CHECKBOX: name=vHaveAccount, value="yes
                  preceding=head,,, pos=1<br/>
                  preceding=link,,, pos=2<br/>
                  preceding=div,,, pos=3<br/>
                  preceding=p,,, pos=4<br/>
                  preceding=p,,, pos=5<br/>
 YesUser namePassword
RADIO/CHECKBOX: name=vHaveAccount, value="no
                  preceding=head,,, pos=1<br/>
                  preceding=link,,, pos=2<br/>
                  preceding=div,,, pos=3<br/>
                  preceding=p,,, pos=4<br/>
                  preceding=p,,, pos=5<br/>
                  preceding=tr,t1,, pos=6<br/>
                  preceding=td,t2,, pos=7<br/>
                  preceding=input,vHaveAccount,yes, pos=8<br/>
                  preceding=td,t3,, pos=9<br/>
                  preceding=table,,, pos=10<br/>
                  preceding=tr,t4,, pos=11<br/>
                  preceding=td,t5,, pos=12<br/>
                  preceding=td,t6,, pos=13<br/>
                  preceding=input,vLogin,, pos=14<br/>
                  preceding=tr,t7,, pos=15<br/>
                  preceding=td,t8,, pos=16<br/>
                  preceding=td,t9,, pos=17<br/>
                  preceding=input,vPassword,, pos=18<br/>
 No, I am a new SP user

Reply via email to