我不能完全包裹我的大腦 - 我只做XSLT很少。在一個條件我需要複製一個節點。我看過「模板」和「複製」,但不知道如何使它們一起工作。複製節點,如果
的XML我有
<data>
<product>
<productnumber>655.43</productnumber>
<parentproduct></parentproduct>
</product>
<product>
<productnumber>655.38</productnumber>
<parentproduct>655.43</parentproduct>
</product>
</data>
的XML我想
<data>
<product>
<productnumber>655</productnumber>
<parentproduct></parentproduct>
</product>
<product>
<productnumber>655.43</productnumber>
<parentproduct>655</parentproduct>
</product>
<product>
<productnumber>655.38</productnumber>
<parentproduct>655</parentproduct>
</product>
<data>
所以,如果parentproduct是空的,產品的節點應被複制。
我與看起來像搞亂
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output cdata-section-elements="column"/>
<xsl:template match="/data/product">
<xsl:copy>
<xsl: apply-templates select="/data/product"/>
</xsl:copy>
</xsl:template>
所以我需要在應用模板的select語句的一些「東西」的XSL ......但不能弄明白。
在此先感謝您的幫助! 關心/ Snedker
「*所以,如果父產品是空的,產品節點應該被複制。*」這不是你的例子所顯示的 - 請澄清。 – 2014-10-02 11:12:45
655.43表示655是主要產品(ProductID),以及43是變體(VariantID)。按照表格的順序,必須有一行ProductID和VariantID(主)。接下來,所有變體行都有ProductID + VariantID。 我的麻煩是,主人(沒有parentproduct)也充當變體(因此產品中的內容)。 「我想要的XML」顯示主產品+兩種變體。 希望澄清。並感謝您的努力! BR/Morten – 2014-10-03 13:50:02
恐怕我還沒有完全和你在一起。輸入XML顯示655.43是655.38的父代產品。這些信息在轉換中丟失了。你確定這就是你想要的嗎? – 2014-10-03 14:04:56