我正在尝试使用 XSLT 1.0 样式表(由 Web 浏览器处理)生成具有复杂查询字符串的相对 URL。
<xsl:variable name="queryLn">sql</xsl:variable>
<xsl:variable name="queryName">ask</xsl:variable>
<a>
<xsl:attribute name="href">
<xsl:text>path?action=exec&queryLn=</xsl:text>
<xsl:value-of select="$queryLn" />
</xsl:attribute>
<xsl:value-of select="$queryName" />
</a>
为简单起见,我更改了变量的分配方式。在实际代码中,它们从正在转换的 XML 中获得相似的值。我希望生成的文档包含以下内容:
<a href="path?action=exec&queryLn=sql>ask</a>
Chrome 浏览器给我一个错误消息,例如error on line XX at column YY: EntityRef: expecting ';'
,其中 XX 和 YY 紧跟在<xsl:text>
开始标记之后。我尝试向元素添加disable-output-escaping="yes"
属性<xsl:text>
,但这没有任何效果。
我究竟做错了什么?