2009-11-13 102 views
3

在我的XSLT文件,我有以下幾點:XSLT輸出HTML

<input type="button" value= <xsl:value-of select="name">> 

,因爲它違反了XML規則這是一個錯誤。

我真正想要的是從HTML輸出中分配給'value'參數的XML文件中獲取值。我該怎麼做呢?由於

回答

5

根本沒有必要使用xsl:element;我不知道爲什麼有那麼多人在暗示它。這將工作:

<input type="button"> 
    <xsl:attribute name="value"> 
     <xsl:value-of name="name"/> 
    </xsl:attribute> 
</input> 

...但更重要的是使用屬性值模板:

<input type="button" value="{name}"/> 
3

您務必做好這樣的事情

<xsl:element name="a"><xsl:attribute name="href"><xsl:value-of select="url" /></xsl:attribute> <xsl:attribute name="target">_blank</xsl:attribute></xsl:element> 

更多參考上xsl:attribute

+0

哦..那麼容易 感謝。 – idazuwaika 2009-11-13 08:34:53

+0

@idazuwaika:歡迎您! – RageZ 2009-11-13 08:38:36

5
value="{name}" 

http://www.w3.org/TR/xslt#attribute-value-templates

編輯:更改爲{$ name}爲{name}的

+0

@VladV,一個可變的設置...他正在使用'值的' – RageZ 2009-11-13 08:39:33

+0

是的,看起來我誤解了這個問題。 – VladV 2009-11-13 09:04:39

+2

@VladV - 只需更新值=「{name}」的答案 – 2009-11-13 12:01:09

6
<xsl:element name="input"> 
<xsl:attribute name="type">button</xsl:attribute> 
<xsl:attribute name="value" select="name"> 
</xsl:element> 

優秀的參考HTML/XSL

1

是,使用<xsl:element>是去這裏的路,但你有你的分析錯誤,因爲你沒有收出<xsl:value-of select="name" />元素。最後請注意/;與HTML不同,所有XML元素都需要關閉。