考慮我的XML文件:復位計
<Data>
<VetaP dfg="2" ppp="oe"/>
<VetaD ods="3" ds="oda"/>
<VetaR date="080817"/>
<VetaR date=""/>
<VetaR date=""/>
<VetaR date=""/>
<VetaR date="080817"/>
<VetaR date=""/>
<VetaR date=""/>
<VetaR date="080817"/>
</Data>
我需要在<VetaR>
添加屬性序列,這個屬性是每個VetaR創造了一個櫃檯。但是,我需要重置計數器,每5次出現<VetaR>
。我還需要添加一個屬性cnt,其中,它也是一個計數器,但是這次它只會每增加5次出現<VetaR>
。我需要刪除空的屬性。
這裏是我的XSLT代碼:
電流輸出:
<Data>
<VetaP dfg="2" ppp="oe"/>
<VetaD ods="3" ds="oda"/>
<VetaR seq="3" cnt="1" date="080817"/>
<VetaR seq="4" cnt="1"/>
<VetaR seq="5" cnt="1"/>
<VetaR seq="1" cnt="2"/>
<VetaR seq="2" cnt="2" date="080817"/>
<VetaR seq="3" cnt="2"/>
<VetaR seq="4" cnt="2"/>
<VetaR seq="5" cnt="2" date="080817"/></Data>
所需的輸出:
<Data>
<VetaP dfg="2" ppp="oe"/>
<VetaD ods="3" ds="oda"/>
<VetaR seq="1" cnt="1" date="080817"/>
<VetaR seq="2" cnt="1"/>
<VetaR seq="3" cnt="1"/>
<VetaR seq="4" cnt="1"/>
<VetaR seq="5" cnt="1" date="080817"/>
<VetaR seq="1" cnt="2"/>
<VetaR seq="2" cnt="2"/>
<VetaR seq="3" cnt="2" date="080817"/></Data>
通過復位計數器方面的這種思想,你想,如果你使用的是過程編程語言,而不是你將如何解決這個問題一個功能性的。儘量遠離「告訴計算機做什麼」,而應該從描述輸出如何與輸入相關的角度思考。 –