Hallo alle miteinander ich bin ziemlich neu hier.
Ich hab ein kleines Problem mit einem css-Style-Sheet für eine xml-Datei.
Ich versuche eine Tabelle zu erstellen, die den Namen von Daten, sowie deren Wert enthält.
Mein Problem ist, dass ich zwar die Daten unter Station "Inlet" auch in die Spalte "Inlet" bekomme, jedoch schaffe ich es nicht die Daten von Station "Outlet" in die Spalte "Outlet" zu bekommen. Diese Daten werden dann immer wieder in die allererste Spalte geschrieben.
Weiß jemand von euch eine Lösung?
Vielen Dank schon mal.
Mit freundlichen Grüßen
leo
Zuerst die XML-Datei:
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="xmf_stylesheet.xsl" ?>
<Computation name="Test_1">
<Station name="Inlet">
<GeometricalData>
<float name="Hub radius" unit="[m]">0.1330986</float>
<float name="Shroud radius" unit="[m]">0.1384096</float>
<float name="Area" unit="[m2]">1.649611E-05</float>
<integer name="Number of blades">21</integer>
<float name="Rotational speed" unit="[rad/s]">0</float>
</GeometricalData>
</Station>
<Station name="Outlet">
<GeometricalData>
<float name="Hub radius" unit="[m]">0.06493923</float>
<float name="Shroud radius" unit="[m]">0.06823999</float>
<float name="Area" unit="[m2]">0.0001187011</float>
<integer name="Number of blades">67</integer>
<float name="Rotational speed" unit="[rad/s]">2513.274</float>
</GeometricalData>
</Station>
</Computation>
Nun das zugehörige Style-Sheet (xmf_stylesheet.xsl):
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="Computation">
<table border="1" width="750">
<colgroup>
<col width="100"></col>
<col width="100"></col>
<col width="100"></col>
</colgroup>
<tr>
<xsl:for-each select="Station">
<xsl:if test="@name="Inlet"">
<th align="left"></th>
</xsl:if>
<th align="left"><xsl:value-of select="@name"/></th>
</xsl:for-each>
</tr>
</table>
<table border="1" width="750">
<colgroup>
<col width="100"></col>
<col width="100"></col>
<col width="100"></col>
</colgroup>
<xsl:for-each select="Station">
<xsl:for-each select="GeometricalData/*">
<tr>
<xsl:if test="../../@name="Inlet"">
<td align="left"><xsl:value-of select="@name"/></td>
</xsl:if>
<td align="left"><xsl:value-of select="."/></td>
</tr>
</xsl:for-each>
</xsl:for-each>
</table>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Ich hab ein kleines Problem mit einem css-Style-Sheet für eine xml-Datei.
Ich versuche eine Tabelle zu erstellen, die den Namen von Daten, sowie deren Wert enthält.
Mein Problem ist, dass ich zwar die Daten unter Station "Inlet" auch in die Spalte "Inlet" bekomme, jedoch schaffe ich es nicht die Daten von Station "Outlet" in die Spalte "Outlet" zu bekommen. Diese Daten werden dann immer wieder in die allererste Spalte geschrieben.
Weiß jemand von euch eine Lösung?
Vielen Dank schon mal.
Mit freundlichen Grüßen
leo
Zuerst die XML-Datei:
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="xmf_stylesheet.xsl" ?>
<Computation name="Test_1">
<Station name="Inlet">
<GeometricalData>
<float name="Hub radius" unit="[m]">0.1330986</float>
<float name="Shroud radius" unit="[m]">0.1384096</float>
<float name="Area" unit="[m2]">1.649611E-05</float>
<integer name="Number of blades">21</integer>
<float name="Rotational speed" unit="[rad/s]">0</float>
</GeometricalData>
</Station>
<Station name="Outlet">
<GeometricalData>
<float name="Hub radius" unit="[m]">0.06493923</float>
<float name="Shroud radius" unit="[m]">0.06823999</float>
<float name="Area" unit="[m2]">0.0001187011</float>
<integer name="Number of blades">67</integer>
<float name="Rotational speed" unit="[rad/s]">2513.274</float>
</GeometricalData>
</Station>
</Computation>
Nun das zugehörige Style-Sheet (xmf_stylesheet.xsl):
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="Computation">
<table border="1" width="750">
<colgroup>
<col width="100"></col>
<col width="100"></col>
<col width="100"></col>
</colgroup>
<tr>
<xsl:for-each select="Station">
<xsl:if test="@name="Inlet"">
<th align="left"></th>
</xsl:if>
<th align="left"><xsl:value-of select="@name"/></th>
</xsl:for-each>
</tr>
</table>
<table border="1" width="750">
<colgroup>
<col width="100"></col>
<col width="100"></col>
<col width="100"></col>
</colgroup>
<xsl:for-each select="Station">
<xsl:for-each select="GeometricalData/*">
<tr>
<xsl:if test="../../@name="Inlet"">
<td align="left"><xsl:value-of select="@name"/></td>
</xsl:if>
<td align="left"><xsl:value-of select="."/></td>
</tr>
</xsl:for-each>
</xsl:for-each>
</table>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Comment