2012-03-26 161 views
-1

我需要在XSLT中生成標記abc。我看到,我們在XSLT指定如下:XSLT生成標記

<string name ="abc"></string> 

位輸出我得到

<string name ="abc"></string> 

但我需要一個像

<string>abc</string> 

請諮詢outpult。

+0

你的輸入和輸出是什麼? – 2012-03-26 11:33:16

+0

我的XSLT就像 - {$納米} <字體IDREF = 」{@ textType}「/>和我需要等的輸出 - <對象ID = 」宋體「 類=」 com.FontResolver「method =」resolveFont「> Calibri nishMaria 2012-03-26 11:43:02

回答

0

屬性值模板語法{$nm}只適用於屬性的值。在元素的內容中,您可以改爲使用xsl:value-of,如下面的代碼修訂所示。沒有必要圍繞xsl:value-of元素包裝xsl:text

<xsl:variable name="nm"><xsl:value-of select="@textType" /></xsl:variable> 
<object id="{@textType}" class="com.FontResolver" method="resolveFont"> 
<string><xsl:value-of select="$nm"/></string></object> 
<font idref="{@textType}"/> 

另一方面,xsl:value-of僅用於文本,不用於標記。如果在某些其他場合需要生成XML元素,則可以使用xsl:copy-of來代替使用xsl:value-of來插入作爲變量或其他表達式的值的節點集;或者您可以使用xsl:element來生成任何XML元素。