Мне нужна помощь в понимании того, как я могу выбрать только определенные узлы, имеющие одинаковое значение родительского (или дяди) элемента. Мой XML выглядит так
<shipment>
<goodslines>
<goodsline>
<position>1</position>
<packagenumbers>
<packagenumber>123</packagenumber>
</packagenumbers>
</goodsline>
<goodsline>
<position>1</position>
<packagenumbers>
<packagenumber>456</packagenumbers>
</packagenumbers>
</goodsline>
<goodsline>
<position>2</position>
<packagenumbers>
<packagenumber>789</packagenumbers>
</packagenumbers>
</goodsline>
</goodslines>
</shipment>
и желаемый результат будет:
123,456
789
Так что мне нужно было бы сделать для каждого «уровень упаковки» - уровень так, чтобы он принимал во внимание элемент «позиция» с верхнего уровня
XSL может быть что-то вроде этого?
<xsl:for-each select="shipment/goodslines/goodsline[some condition here?]/packagenumbers/packagenumber">
<xsl:value-of select="current()"/>
<xsl:if test="not(position() = last())">
<xsl:text>,</xsl:text>
</xsl:if>
<xsl:text>
</xsl:text>
</xsl:for-each>
Любая помощь будет оценена.