小写的XSL变量

时间:2011-01-21 15:38:46

标签: xslt

我有一个XML Feed数据,我需要使用XSL v1.0进行链接...这可行,但TYPE值必须小写才能使链接正常工作:< / p>

<a href="http://www.mysite.com/{TYPE}={ID}" target="_blank">
  <img src="{IMAGE}" />
</a>

所以,我尝试这样做,但它给了我错误,我发现很难解决问题,因为错误回复为“XSLT编译错误(1,991)。有关详细信息,请参阅InnerException。” (以下只是一个片段)。

<xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />

<xsl:element name="a">
  <xsl:attribute name="href">
    <xsl:value-of select="concat('http://www.mysite.com/', translate(TYPE, $uppercase, $smallcase),'=',ID)"/>
  </xsl:attribute>
  <xsl:attribute name="target">
    <xsl:text>_blank</xsl:text>
  </xsl:attribute>
  <xsl:text><img src="{IMAGE}" /></xsl:text>
</xsl:element>

那里有一些明显的错误我错过了吗?或者也许是一种更简单的方法?

2 个答案:

答案 0 :(得分:4)

更清洁:

<a href="http://www.mysite.com/{translate(
                                   TYPE,
                                   $uppercase,
                                   $smallcase)}={ID}"
   target="_blank">
   <img src="{IMAGE}" />
</a> 

答案 1 :(得分:2)

<xsl:text><img src="{IMAGE}" /></xsl:text>

应该只是

<img src="{IMAGE}" />