2016-12-28 53 views
1

的所有元素應用謂詞我有這樣的節點:XSL 2.0 - 一組

<Node name="_1" W="0" n=".2" L="A" ProcessTime="56" units="ms"/> 
<Node name="_2" W="0" n=".8" L="B" ProcessTime="6" units="us"/> 

分組由屬性L.我的目標是寫一個班輪得到的n * ProcessTime * units

值爲了獲得單位的乘數,我也有一個變量

<xsl:variable name="units"> 
    <multiplier ns="1E-9" ms="1E-3" us="1E-6"/> 
</xsl:variable> 

在分組的範圍爲每組循環。

目前我有這個表達式:

<xsl:value-of select="sum(current-group()/(@numberOfVisits * @ProcessTime * $units/multiplier/@*[name()=current()/@units]))"/> 

它的工作原理,但只使用第1個要素的@units值,將它的current-group()

問題所有其他元素上:我如何使這個表達式使用組中每個元素的個體@units值?

回答

1

使用for .. return ..表達式如sum(for $node in current-group() return $node/(@numberOfVisits .. $units/ multiplier/@*[name() = $node/@units]))