1)如何通過的總和增加一個循環對TD的總和的動態確定第動態結構和屬性的值
2)@鍵=「IP」 - 它也有必要使動態,將採取的值從所構建噸
<tr>
<th>Name</th>
<th>Type</th>
<th>Text</th>
<xsl:for-each-group select="//folder/element/property" group-by="@key">
<th><xsl:value-of select="current-grouping-key()"/></th>
</xsl:for-each-group>
</tr>
<tr>
<td>
<xsl:value-of select="@name"/>
</td>
<td>
<xsl:value-of select="@*[name() = 'xsi:type'][1]"/>
</td>
<td>
<xsl:value-of select="documentation"/>
</td>
<xsl:for-each select="...">
<td>
<xsl:value-of select="string-join(property[@key='ip']/@value, ', ')"/>
</td>
</xsl:for-each>
</tr>
輸入XML文件
<folder name="Technology & Physical" type="technology">
<element xsi:type="archimate:Node" name="SMX_U_TEST">
<documentation>SMX</documentation>
<property key="ip" value="10.255.2.111"/>
</element>
<element xsi:type="archimate:Node" name="CBS3CVR">
<documentation>DSR3CVR</documentation>
<property key="ip" value="10.15.114.24"/>
<property key="port" value="1521"/>
<property key="hw"/>
</element>
<element xsi:type="archimate:Node" name="SMX">
<property key="ip" value="10.255.2.111"/>
<property key="port" value="8181"/>
<property key="port" value="8182"/>
<property key="port" value="8184"/>
</element>
<element xsi:type="archimate:Node" name="Informatica test">
<documentation>Informatica</documentation>
<property key="ip" value="10.11.30.89"/>
<property key="port" value="1521"/>
</element>
<element xsi:type="archimate:Node" name="DSR3TEST">
<documentation>DSR3TEST</documentation>
<property key="ip" value="10.255.3.133"/>
<property key="port" value="1521"/>
<property key="hw"/>
</element>
</folder>
outout HTML文件
<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<body>
<h2>Technology & Physical</h2>
<table>
<tr>
<th>Name</th>
<th>Type</th>
<th>Text</th>
<th>ip</th>
<th>port</th>
<th>hw</th>
</tr>
<tr>
<td>CBS3CVR</td>
<td>archimate:Node</td>
<td>DSR3CVR</td>
<td>10.15.114.24</td>
<td>1521</td>
<td/>
</tr>
<tr>
<td>DSR3TEST</td>
<td>archimate:Node</td>
<td>DSR3TEST</td>
<td>10.255.3.133</td>
<td>1521</td>
<td/>
</tr>
<tr>
<td>Informatica test</td>
<td>archimate:Node</td>
<td>Informatica</td>
<td>10.11.30.89</td>
<td>1521</td>
<td/>
</tr>
<tr>
<td>SMX</td>
<td>archimate:Node</td>
<td/>
<td>10.255.2.111</td>
<td>8181, 8182, 8184</td>
<td/>
</tr>
<tr>
<td>SMX_U_TEST</td>
<td>archimate:Node</td>
<td>SMX</td>
<td>10.255.2.111</td>
<td/>
<td/>
</tr>
</table>
</body>
</html>
元素和屬性的數量是無限的,並且鍵的名稱可能不同。 我用group by,如果你有另一個決定,告訴我。謝謝!!!
我不明白的問題,也許添加一個例子來說明自己的目標。 –
我們確實需要查看您的輸入XML樣本以及您的預期輸出,以給出準確答案。謝謝。 –