具有特定条件的XSL组元素

时间:2018-08-28 08:10:56

标签: xslt

这是我的xml:

<Items>
<Item> 
  <Id>1</Id>
  <Code>A</Code>
  <Value>5</Value>
  <Unit>T</Unit>
</Item>
<Item>
  <Id>2</Id>
  <Code>A</Code>
  <Value>50</Value>
  <Unit>T</Unit>
</Item>
<Item>
  <Id>2</Id>
  <Code>B</Code>
  <Value>10</Value>
  <Unit>U</Unit>
</Item>
<Item>
  <Id>3</Id>
  <Code>B</Code>
  <Value>10</Value>
  <Unit>T</Unit>
</Item>
<Item>
  <Id>4</Id>
  <Code>C</Code>
  <Value>10</Value>
  <Unit>T</Unit>
</Item>
</Items>

如何按Code和sum Value属性显示分组的元素,但是如果Unit = U,则必须省略下2个元素。我使用xsl 1.0。在此示例中,我必须省略第三个项目之后的下两个项目,因此,最后两个项目。分组之前,我必须这样做。

    <xsl:choose>
      <xsl:when test="Unit = 'T'">

      </xsl:when>
      <xsl:otherwise>

        <xsl:value-of select="concat( $lines, '|', LineNumber)"/>|

      </xsl:otherwise>
    </xsl:choose>
  </xsl:for-each>

  <xsl:value-of select="$lines"/>

有什么想法吗?现在我有Id节点。我想将所有id分组放入行中,但是如果Unit为T,我不知道如何跳过接下来的两个元素

0 个答案:

没有答案