2013-03-14 67 views
1

下面是我的XML代碼:如何通過<xsl:value-of>標籤進行正確選擇?

<abbr> 
<title>world health organization</title>who</abbr> 
was founded in 1948. 

在上面的代碼中,我想XSLT輸出:

<abbr title="world health organisation">who<abbr> 

我寫了下面的XSLT代碼:

<xsl:template match ="abbr"> 
&lt;abbr title="<xsl:value-of select ="title"/>"&gt; 
<xsl:value-of select ="."/>&lt;/abbr&gt; 
</xsl:template> 

和我得到:

<abbr title="world health organization"> 
world health organizationwho</abbr> 

我哪裏出錯了?

<xsl:value-of select"."/> 

輸出

world health organisationwho 

(世界衛生組織+誰)

現在,我不想在第一部分。 我該如何做到這一點?

回答

2

由於titleabbr的子女,title的文本是字符串值abbr的一部分。請試試這個:

<xsl:template match ="abbr"> 
    <abbr title="{title}"> 
    <xsl:apply-templates select="text()"/> 
    </abbr> 
</xsl:template> 

順便說一句,你在XSLT中使用xsl:output method="text"嗎?如果您使用XSLT生成XML,那麼您應該使用method="xml"。這就是XSLT的原因。

+0

謝謝...它工作:) – 2013-03-14 07:44:39