Элементы группы XSL с определенным условием - PullRequest
0 голосов
/ 28 августа 2018

Это мой 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"/>

Есть идеи? Теперь у меня есть идентификатор узла. Я хочу поместить в строковую переменную все идентификаторы для группировки, но я не знаю, как пропустить следующие два элемента, если Unit T

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...