0

ここに私のサンプルXMLが次のように見えます

<Header>
<id> 1234 <id>
<type> abcd <type>
<account>
    <code1>a11 </code1>
    <code2>a12 </code2>
    <expense>
        <cost> 10 </cost>
        <description> Travel </description>
    </expense>
        <expense>
        <cost> 30 </cost>
        <description> Travel </description>
    </expense>
    <expense>
        <cost> 20 </cost>
        <description> Hotel </description>
    </expense>
        <expense>
        <cost> 10 </cost>
        <description> Hotel </description>
    </expense>
</account>
</Header>

次のように、結果を XML 形式で表示する必要があります。

<Header>
<id> 1234 <id>
<type> abcd <type>
<code1>a11 </code1>
<code2>a12 </code2>
<description> Travel </description>
<cost> 40 </cost> <!-- sum of cost nodes, if description is Travel -->
<description> Hotel </description>
<cost> 30 </cost> <!-- sum of cost nodes, if description is Hotel -->
</Header>

条件に基づいて XSLT 2.0 でコストの合計を記述するにはどうすればよいですか?

4

1 に答える 1

0
<xsl:template match="Header/account">
 ...
  <cost><xsl:value-of select="sum(expense[contains(description, 'Travel')]/cost)"/></cost>
...
  <cost><xsl:value-of select="sum(expense[contains(description, 'Hotel')]/cost)"/></cost>
</xsl:template>

すべき、私が置いた場所に他の要素を追加し...ます。

于 2013-06-07T15:33:06.957 に答える