在 xsl <input/> 中转义“<”和“>”

Escape "<" and ">" in xsl <input/>

我需要在 XML

<input/> 中转义 <>

这是问题所在:

<input type="submit" 
       class="button" 
       value="Search" 
       formaction
       ="APage.aspx?Module=Module1&amp;XMLType=XMLType1&amp;Mode=Search&amp;SessionId=<xsl:value-of select="/../SESSIONID"/>">
</input> 

我试过了&lt;SessionId=<xsl:value-of select="/../SESSIONID"/&gt;

它 returns 一个错误说 expecting /> before /../SESSIONID

在属性值中不能放置 XSL 标记或具有未转义的引号 "(请改用实体 &quot;)。

您可以使用大括号 {} 在属性值中插入 XPath 表达式:

<input type="submit" class="button" 
    formaction="APage.aspx?Module=Module1&amp;XMLType=XMLType1&amp;Mode=Search&amp;SessionId={/../SESSIONID}" 
    value="Search"/> 

或使用 xsl:attribute 元素:

<input type="submit" class="button" 
    value="Search">
    <xsl:attribute name="formaction">APage.aspx?Module=Module1&amp;XMLType=XMLType1&amp;Mode=Search&amp;SessionId=<xsl:value-of select="/../SESSIONID)"/></xsl:attribute>
</input>