This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Selecting the correct column value


Koetje Boe wrote:
> 
> 
> The goal is just to show the data in a table. The problem I have is that the
> column values don`t always have the same order in the rows. So what I want
> to do is:
> for each row(i):
>    for each columnInfo(j):
>       select the column from row i which corresponds to the columninfo j`s
> name.
> 
here is a transform based on your pseudo-code - this is very "pull"
based, you could equally do a "push" based one using apply-templates /
template match="" rather than for-each.

Francis.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" version="1.0" indent="yes"/>
  <xsl:template match="/">
    <html>
      <body>
        <table>
          <xsl:for-each select="/dataset/data/row">
            <xsl:variable name="row" select="."/>
            <tr>
              <xsl:for-each select="/dataset/metadata/columnInfo">
                <td>
                  <xsl:value-of select="$row/column[@name =
current()/@name]"/>
                </td>
              </xsl:for-each>
            </tr>
          </xsl:for-each>
        </table>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]