2015-03-31 92 views
-1

我需要轉義XML逃生 「<" and ">」 在XSL <input/>

這裏的<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;

它返回一個錯誤稱expecting /> before /../SESSIONID

+1

你的問題不明確。 – 2015-03-31 16:03:47

回答

4

屬性內值不能放置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> 
+2

附加信息:大括號稱爲[Attribute Value Template(AVT)](http://www.w3.org/TR/xslt#attribute-value-templates)。 – 2015-03-31 16:34:05