2015-11-02 21 views
0

我正在創建項目編號的xsl轉換。它包括這樣的語句:如果存在一個或多個匹配元素,則將其中一個添加到xsl變量

data-item-no="{$itemOffset + count(list//para)}" 

這是罰款時,我想添加對元素$ itemOffset的數量,但在這種情況下,段都彙總到一個單一的項目。如果沒有匹配「list // para」,我想添加0;如果有一個或多個「list // para」,我想添加1。我怎樣才能在xsl中做到這一點?

回答

1

在XSLT 2.0,你可以把它明確與

$itemOffset + (if (list//para) then 1 else 0) 

在XSLT 1.0利用這一

  • 空節點集強制轉換到布爾值false事實
  • 一個非空節點集合強制布爾真
  • 布爾假強制編號0
  • 布爾true coe的RCE到1號

所以:

$itemOffset + boolean(list//para) 

(在+運營商暗中要挾它的參數是數字)

相關問題