7

我在编写 XSL 时遇到问题。我有以下代码的链接:

<a>
<xsl:attribute name="href">
  <xsl:value-of select="concat($myUrl,'&amp;projectNumber=',$projectNumber)"/>
</xsl:attribute>
<xsl:attribute name="title">
  <xsl:value-of select="title"/>
</xsl:attribute>
LINK
</a>

所以我需要将一个变量传递projectNumbermyUrl. 这工作得很好,我得到...myUrl...&projectNumber=...projectNumber...了 HTML。

问题是,该变量projectNumber有时有一些字符必须在我的链接的 href 中转义。我尝试str:escape-uri()以多种不同的方式使用 XSL 函数,但仍然没有成功......

例如,如果 myUrl 是www.example.com/example.aspx?a=b并且 projectNumber 是aaaūaaa 我得到 href like www.example.com/example.aspx?a=b&projectNumber=aaaūaaa,但我需要得到www.example.com/example.aspx?a=b&projectNumber=aaa%C5%ABaaa. (%C5%AB是“ū”转义的方式)有什么建议吗?谢谢。

4

1 回答 1

11

如果您使用的是 XSLT 1.0,请参阅.

对于 XSLT 2.0,您可以使用它来解决问题。

<xsl:value-of select="concat($myUrl,'&amp;projectNumber=',encode-for-uri($projectNumber))"/>
于 2013-07-10T11:58:36.353 回答