2016-08-06 136 views
0

我想將相同的xsl:模板應用於xml樹的不同節點,最好通過該節點的屬性進行選擇。下面是XML樹的例子:XSLT:將相同的模板應用於具有不同名稱的節點

<journal> 
    <claimantmonth> 
     <By format="lookup">Bank dr/cr</By> 
     <Month format="inputRO">4</Month> 
     <Year format="inputRO">2012</Year> 
     <claimslist> 
      <claim> 
       <id format="hidden">867</id> 
       <enteredDate format="dateRO">2012-06-11</enteredDate> 
       <enteredBy format="lookup">chris</enteredBy> 
       <expenseDate format="date">2012-04-02</expenseDate> 
       <description format="text">Electric Co</description> 
      </claim> 
     </claimslist> 
    </claimantmonth> 
    </journal> 

我會想使用enteredDate和expenseDate相同的模板,而另一個用於描述等

我很新的XSLT和我已搜查枉來回答,所以我只需要一個指向哪裏看的指針。

我發現了很多關於如何將各種不同模板應用到SAME節點的例子。但那不是我的問題。

+0

請添加您的XSLT的相關部分。順便說一下,沒有任何節點有任何屬性(按照'屬性'的通常定義)。什麼是這樣一個節點的例子? – usr2564301

+1

您可以使用' ...'。至於「通過節點的屬性進行選擇」,我的XML片段中完全沒有看到任何屬性。 –

+0

哎呀,對不起。我不小心複製了wrorng版本。現在編輯顯示屬性。至於XSLT,我認爲我沒有任何東西可以顯示,但是在僞代碼中它看起來像這樣: inputRO:「name =」 _ 「/> 我仍在閱讀,我想我需要更好地理解XPATH。 –

回答

1

可以匹配幾個要素是這樣的:

<xsl:template match="enteredDate|expenseDate"> 

,您可以通過屬性的這樣的價值相匹配:

<xsl:template match="*[@class='sombre']"> 

我很新的XSLT和我有白白地尋找答案

我認爲你提出這些問題的意思是你學習語言的策略並不理想。我想你正在試着通過Google的例子來學習。這確實不太好 - 你會發現專家爲專家編寫的網站,傻瓜爲愚人寫的網站,以及其他任何組合;你很少會遇到一個能夠接近你的網站,並以結構化,深思熟慮和同行評議的方式教授你的概念。直到你瞭解這些概念,你纔會知道在搜索中使用什麼術語。你怎麼知道你需要谷歌的「聯盟模式」?改爲讓自己看一本好書。

+0

這個()看起來就像我在尋找的東西。 (a)我對書籍的經歷與網絡很相似,有些是最有價值的衛生紙,和(b)我在印度尼西亞,但是我的印度尼西亞人達不到這個水平。閱讀技術書籍需要。所以,我做我能做的事。無論如何感謝匹配模式。我會爲此努力。 –

相關問題