次の XSL を使用して XML を変換しています。
<xsl:for-each select="rule">
<xsl:for-each select="tooling/tools/tool">
<Cell ss:StyleID="style_8_DarkBlueHeading">
<Data ss:Type="String">
<xsl:value-of select="current()"/>
</Data>
</Cell>
</xsl:for-each>
</xsl:for-each
問題の XML の 2 つのサンプル ノードは次のとおりです。
<rule id="scr0001" type="Software/Firmware">
<tooling>
<tools>
<tool coverageLevel="Full" checkers="" comment="">PC-Lint v9.00</tool>
<tool coverageLevel="Unknown" checkers="" comment="">RSM v7.75</tool>
<tool coverageLevel="Full" checkers="" comment="">Insight v9.2</tool>
<tool coverageLevel="Full" checkers="" comment="">Logiscope v6.6</tool>
<tool coverageLevel="Unknown" checkers="" comment="">Compass/ROSE v0.9.5a</tool>
<tool coverageLevel="Full" checkers="" comment="">TBsecure v8.1.1</tool>
<tool coverageLevel="Unknown" checkers="" comment="">Code sonar v3.5</tool>
</tools>
</tooling>
</rule>
<rule id="scr0002" type="Software/Firmware">
<tooling>
<tools>
<tool coverageLevel="Unknown" checkers="" comment="">Insight v9.2</tool>
<tool coverageLevel="None" checkers="" comment="">FxCop v10.0</tool>
<tool coverageLevel="None" checkers="" comment="">CodeIt.Right v2.0</tool>
<tool coverageLevel="None" checkers="" comment="">dotTEST v9.2.1</tool>
<tool coverageLevel="Unknown" checkers="" comment="">Splint v3.1.2</tool>
<tool coverageLevel="Unknown" checkers="" comment="">Compass/ROSE v0.9.5a</tool>
<tool coverageLevel="Full" checkers="" comment="">TBsecure v8.1.1</tool>
<tool coverageLevel="Unknown" checkers="" comment="">Code sonar v3.5</tool>
</tools>
</tooling>
</rule>
「ツール」ノードの一部は共通であり、一部は独自のものであることがわかります。私が達成しようとしているのは、生成された Excel ファイルでツール ノードの一意のセットを取得することです。
現在、Excel ファイルにはすべてのノードが列としてリストされています。
ご指導いただければ幸いです。
よろしく