Я новичок во всем этом и пробовал различные маршруты и варианты, чтобы получить данные в таблицу, но я не могу получить атрибут второго и третьего измерения. Я, очевидно, получил что-то не так, как в выборе значения атрибута, так и в использовании шаблона, поскольку я просто получаю повторение первого атрибута для каждого столбца.XSL с использованием нескольких атрибутов узлов
Мой вход XML является:
<nodes>
<node name="Server Dashboard">
<children>
<node name="Server Dashboard">
<dimension name="Performance" status="20" id="10" >null</dimension>
<dimension name="System" status="10" id="20" >null</dimension>
<dimension name="Availability" status="30" id="30" >null</dimension>
<children>
<node name="SERVER 1">
<dimension name="Performance" status="20" id="10" >null</dimension>
<dimension name="System" status="10" id="20" >null</dimension>
<dimension name="Availability" status="30" id="30" >null</dimension>
<children>
</children>
</node>
<node name="SERVER 2">
<dimension name="Performance" status="20" id="10" >null</dimension>
<dimension name="System" status="10" id="20" >null</dimension>
<dimension name="Availability" status="30" id="30" >null</dimension>
<children>
</children>
</node>
</children>
</node>
</children>
</node>
</nodes>
И я пытаюсь получить выход как
<html>
<body>
<table border="1">
<th>System</th>
<th>Performance</th>
<th>Status</th>
<th>Availability</th>
</tr>
<tr>
<td>SERVER 1</td>
<td>20</td>
<td>10</td>
<td>30</td>
</tr>
<tr>
<td>SERVER 2</td>
<td>20</td>
<td>10</td>
<td>30</td>
</tr>
</table>
</body>
</html>
И в настоящее время у меня есть XSL из которых почти получает меня там, но не совсем так, как кажется не зацикливать узлы измерения.
<xsl:template match="/">
<html>
<body>
<table border="1">
<th>System</th>
<th>Performance</th>
<th>Status</th>
<th>Availability</th>
</tr>
<xsl:for-each select="nodes/node/children/node/children/node">
<tr>
<td><xsl:value-of select="@name"/></td>
<td><xsl:value-of select="dimension/@Status[//@id='10']"/></td>
<td><xsl:value-of select="dimension/@status[//@id='20']"/></td>
<td><xsl:value-of select="dimension/@status[//@id='30']"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
Моя окончательная цель состоит в том, чтобы заменить номер состояния с цветной клеткой или .gif, но шаги ребенка в данный момент. Любая помощь с благодарностью получена.
Замечательное и замечательное объяснение тоже. –