xsl:for-each不起作用

时间:2013-05-13 12:02:15

标签: xml xslt xslt-1.0

我得到了一个名为filt的XSL变量,它保存了这样的数据

<filters>
   <ritem relateditemnumber="8901037" />
   <ritem relateditemnumber="8901038" />
   <ritem relateditemnumber="8901039" />
   <ritem relateditemnumber="8901040" />
</filters>

和我的for-each循环

          <xsl:for-each select="$filt//ritem">
              <textarea>
                  <xsl:value-of select="."/>
              </textarea>
          </xsl:for-each>

我不知道为什么这不起作用每个textarea都是空的。任何人都可以帮我一个忙吗?

1 个答案:

答案 0 :(得分:1)

您想要的XSLT是:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:param name="filt">
    <filters>
      <ritem relateditemnumber="8901037"/>
      <ritem relateditemnumber="8901038"/>
      <ritem relateditemnumber="8901039"/>
      <ritem relateditemnumber="8901040"/>
    </filters>
  </xsl:param>

  <xsl:template match="/">
    <xsl:for-each select="$filt/filters/ritem">
      <textarea>
        <xsl:value-of select="@relateditemnumber"/>
      </textarea>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>

获得输出:

<textarea>8901037</textarea>
<textarea>8901038</textarea>
<textarea>8901039</textarea>
<textarea>8901040</textarea>