2009-11-13 87 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元素都需要关闭。