2012-07-20 176 views
3

我需要創建XSL以下標籤:如何在標籤中添加文字和變量?

<role roletype="Learner"> 

學習者在標$ wsRole一個變量中。

這個代碼不工作:

<xsl:variable name="fullWsRole"> 
    <xsl:value-of select="concat('&quot;', $wsRole,'&quot;')"/> 
</xsl:variable>    

<role roletype="{$fullWsRole}"> 
</role> 

如何創建節點

<role roletype="Learner"> ? 

回答

1

假設變量$wsRole包含Learner

<xsl:variable name="wsRole">Learner</xsl:variable> 

和預期的結果是

<role roletype="Learner"></role> 

簡單地使用:

<role roletype="{$wsRole}"></role> 
+0

謝謝。 $ wsRole確實包含學習者。我試過並得到以下錯誤:使用變量「$ wsRole」但未聲明 – Kevin 2012-07-20 21:22:07

+0

@Kevin,因爲您必須聲明'$ wsRole'。查看更新的答案。 – 2012-07-20 21:25:18

2

這裏是如何做到這一點

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output omit-xml-declaration="yes" indent="yes"/> 

<xsl:variable name="fullWsRole" select="'Learner'"/> 

<xsl:template match="/"> 
    <role roletype="{$fullWsRole}"/> 
</xsl:template> 
</xsl:stylesheet> 

當這種轉變是在任何XML文檔(未使用)應用,通緝,正確結果產生

<role roletype="Learner"/> 

說明:使用AVT(屬性值模板)