2014-02-08 97 views

回答

4

之間的任何差異在您的例子,不,沒有區別,我建議使用<a>版本,因爲它更清晰,更簡潔。

的時間使用<xsl:element>是當元件的名稱,名稱空間或兩者都需要被動態地確定,例如:

<xsl:for-each select="item"> 
    <xsl:element name="myNewItem{position()}"> 
    <xsl:value-of select="." /> 
    </xsl:element> 
</xsl:for-each> 

這將產生在輸出<myNewItem1><myNewItem2><myNewItem3>等。

如果在XSLT中預先確定了元素名稱,那麼通常會更清晰以避免xsl:element

+0

非常感謝你! :) – testermaster

3

存在一個區別,即使用文字結果元素(<a>)從樣式表中複製名稱空間,這在xsl:element中不會發生。如果使用文字結果元素,則可能需要使用exclude-result-prefixes來停止將不需要的名稱空間複製到結果中。

有些人似乎習慣性地使用xsl:元素優先於文字結果元素,並且我從未理解爲什麼。有時候,抱怨XSLT是冗長的相同的人。如果您靜態地知道元素名稱,我的習慣是每次都使用一個文字結果元素。