任何想法如何使用XSLT實現desidered輸出?XSLT:根據給定列表組合節點
源XML:
<results>
<pageFunctionResult>
<id>46555</id>
<name>URC 90 S</name>
<quantity>5+</quantity>
</pageFunctionResult>
<pageFunctionResult>
<id>46556</id>
<name>URC 90 M</name>
<quantity>5+</quantity>
</pageFunctionResult>
<pageFunctionResult>
<id>46557</id>
<name>URC 90 L</name>
<quantity>10+</quantity>
</pageFunctionResult>
<pageFunctionResult>
<id>96555</id>
<name>NICE</name>
<quantity>5+</quantity>
</pageFunctionResult>
<pageFunctionResult>
<id>26555</id>
<name>NEW L</name>
<quantity>5+</quantity>
</pageFunctionResult>
<pageFunctionResult>
<id>26552</id>
<name>NEW XXL</name>
<quantity>5+</quantity>
</pageFunctionResult>
</results>
我需要以某種方式結合基於這些元件,其在給定的列表(也可以是xsl:variable
),例如: "URC 90", "NEW"
。
讓我告訴你一個例子輸出應該如何看待:
<results>
<pageFunctionResult>
<name>URC 90</name>
<variantname>URC 90 S</variantname>
<id>46555</id>
<quantity>5+</quantity>
<variant id="1">
<id>46556</id>
<name>URC 90 M</name>
<quantity>5+</quantity>
</variant>
<variant id="2">
<id>46557</id>
<name>URC 90 L</name>
<quantity>10+</quantity>
</variant>
</pageFunctionResult>
<pageFunctionResult>
<id>96555</id>
<name>NICE</name>
<quantity>5+</quantity>
</pageFunctionResult>
<pageFunctionResult>
<name>NEW</name>
<variantname>NEW L</variantname>
<id>46555</id>
<quantity>5+</quantity>
<variant id="1">
<id>26552</id>
<name>NEW XXL</name>
<quantity>5+</quantity>
</variant>
</pageFunctionResult>
</results>
在源XML我們這不是在給定的列表項:NICE
。這些節點應該照原樣複製(不需要修改)。
你認爲傢伙,如果我們知道<name>
元素的一部分,就有可能實現這個輸出?
你使用XSLT 2.0嗎? –
是的,XSLT版本並不重要。我使用SAXON處理器。 – Adrian