tags:

views:

58

answers:

0

Suppose a class "test" has an attribute "test1" which itself is a table. "test1" contains some a1, a2, a3 attributes. I need to display all rows based on the value of an attribute"a1"

<xsl:template name="rowCounter">
  <xsl:param name="N" />
  <tr>
    <xsl:if test="
      DBE:Attribute[@name='a1']/
      DBE:Object[@Class='test']/
      DBE:Attribute[@name='test1']/
      DBE:Table/
      DBE:TableRow[ $N ]
    "> 
      <xsl:for-each select="
        DBE:Attribute[@name='a1']/
        DBE:Object[@Class='test']/
        DBE:Attribute [@name='test1']/
        DBE:Table
      ">
        <td>          
          <xsl:apply-templates select="DBE:TableRow[ $N ]"/>
        </td>
        <xsl:text> </xsl:text>
      </xsl:for-each>
      <xsl:call-template name="rowCounter">
        <xsl:with-param name="N" select="$N + 1"/>
      </xsl:call-template>
    </xsl:if>
  </tr>
</xsl:template>

Is the above correct? How do I display values of a1, a2 and a3 for each a1?