В приведенном ниже вводе мы должны проверить код поставщика, если он соответствует коду поставщика кода узла, тогда мы должны выполнить операцию суммирования на Quantity.otherwise, непосредственно направить количество.Выполнение операции SUM в XSLT
вход:
<Move-Afile>
<Afile>
<Item>
<suppliercode>1</suppliercode>
<PackNumber>1234</PackNumber>
<Quantity>12</Quantity>
</Item>
<Item>
<suppliercode>2</suppliercode>
<PackNumber>567</PackNumber>
<Quantity>3</Quantity>
</Item>
<Item>
<suppliercode>1</suppliercode>
<PackNumber>567</PackNumber>
<Quantity>8</Quantity>
</Item>
<Item>
<suppliercode>3</suppliercode>
<PackNumber>126</PackNumber>
<Quantity>11</Quantity>
</Item>
<Item>
<suppliercode>4</suppliercode>
<PackNumber>876</PackNumber>
<Quantity>32</Quantity>
</Item>
</Afile>
</Move-Afile>
Если код поставщика равно затем выполнить операцию суммы на количество, в противном случае непосредственно сопоставить количество.
выход:
<A>
<target>
<Item>
<suppliercode>1</suppliercode>
<PackNumber>1234</PackNumber>
<Quantity>20</Quantity>
</Item>
<Item>
<suppliercode>2</suppliercode>
<PackNumber>567</PackNumber>
<Quantity>3</Quantity>
</Item>
<Item>
<suppliercode>1</suppliercode>
<PackNumber>567</PackNumber>
<Quantity>20</Quantity>
</Item>
<Item>
<suppliercode>3</suppliercode>
<PackNumber>126</PackNumber>
<Quantity>11</Quantity>
</Item>
<Item>
<suppliercode>4</suppliercode>
<PackNumber>876</PackNumber>
<Quantity>32</Quantity>
</Item>
</target>
</A>
мне нужна логическая сумма в отдельной временной переменной, как показано ниже.
<varaible name=tempvar>
<xsl:choose>
<xsl:when suppliercode=suppliercode>
<xsl:value-of select=sum(quntity)/>
<xsl:when>
<xsl:otherwise>
<xsl:value-of select=quntity/>
</xsl:otherwise>
</xsl:choose>
</variable>
Прошу прощения, но факт, что вы говорите: «Мне нужна логика суммы в отдельной временной переменной, как показано ниже», вовсе не означает, что это необходимо. Вам нужно либо представить реалистичный пример, который убеждает читателя, что это необходимо, или иным образом просто использовать предлагаемые решения. Были даны два решения, которые дают точно желаемый результат, не фиксируя сумму в промежуточной переменной. Это доказывает, что такой захват не нужен - если вы не убедите нас в обратном. –
в моем требовании Я использую for loop. Где-то я хочу использовать эту логику, поэтому мне это нужно в отдельной переменной или, пожалуйста, предоставьте решение для каждого. – sum