2012-05-03 45 views
0

我有一個包含項目的xml文件。我想根據視圖屬性輸出項目列表並保留元素的順序。爲此,我必須使用不同模式的xsl:模板。問題是我無法保留與xml中相同的順序。 XML是以下幾點:xslt應用2個不同模式的模板,同時保留在xml中定義的順序

<item /> 
    <item view="new" /> 
    <item /> 
    <item view="new" /> 

模板是:

<xsl:template match="item" mode="standart"> 
    <div class="standart_item"></div> 
</xsl:template> 

<xsl:template match ="item" mode="new"> 
    <div class="new_item"></div> 
</xsl:template> 

如何申請不同的模板保存的順序,在相同的XML?

<div class="standart_item"></div> 
<div class="new_item"></div> 
<div class="standart_item"></div> 
<div class="new_item"></div> 

回答

1

使用不同的模式似乎並不是您嘗試實現的結果的正確工具。我建議由謂詞來區分模板:

<xsl:template match="item"> 
    <div class="standard_item"></div> 
</xsl:template> 

<xsl:template match="item[@view='new']"> 
    <div class="new_item"></div> 
</xsl:template> 
+0

我有不同的模板內再次匹配的項目,這就是爲什麼我要使用模式 – tylik

+0

在這種情況下,你也可以使用一個模板匹配的所有項目,並區分例如,它們使用'xsl:choose'。如果這也不可能,那麼你應該詳細說明你實際嘗試做什麼。 – Martin

+0

謝謝。我想我必須使用xsl:選擇 – tylik

相關問題