Folgendes Problem stellt sich mir in den Weg. Ich habe eine xml Datei in der Gerätedaten gespeichert werden. Nun habe ich aber auch in manchen Feldern eine Identnummer. Dafür habe ich in der Selben Datei noch einen andren Node der dann die Inhalte für diese Identnummer bereit hält. Zum besseren Verständnis ist hier einmal die xml-Datei:
Code:
Wie man sieht gibt es im Gereate/Gereat Node immer eine ger_anlid diese ist meine ID für die Inhalte im Anlagen Node bei der jeder Anlage Node eine anl_id enthält.
Nun habe ich versucht den anl_name zu meinen Gereatedaten in einer Tabelle durch folgende xslt Datei darzustellen:
Code:
Nun ich habe schon versucht die Anführungszeichen ' und ' um den Parameter wegzulassen aber auch das hat keinen Erfolg
Ziel ist es also eine Tabelle zu erstellen die so aussieht:
| GKZ | KKZ | ANL-ID | Anlagenname |
| ger_gkz | ger_kkz | ger_anlid | anl_name |
Weiß irgendjemand eine Lösung oder kann man das so wie ich mir das denke garnicht realisieren?
Code:
Code:
<?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="test.xslt" ?> <gerxpdaten> <Geraete> <Geraet> <ger_id>1</ger_id> <ger_gkz>20800720</ger_gkz> <ger_kkz>20800</ger_kkz> <ger_anlid>2</ger_anlid> </Geraet> </Geraete> <Anlagen> <Anlage> <anl_id>1</anl_id> <anl_name>Testanlage</anl_name> <anl_desc>Eine Anlage die für Testzwecke angelegt wurde</anl_desc> </Anlage> <Anlage> <anl_id>2</anl_id> <anl_name>Testplatz</anl_name> <anl_desc>Ein Platz der lokal für Testzwecke eingerichtet wurde</anl_desc> </Anlage> </Anlagen> </gerxpdaten>
Nun habe ich versucht den anl_name zu meinen Gereatedaten in einer Tabelle durch folgende xslt Datei darzustellen:
Code:
HTML Code:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <table width="50%" cellspacing="0" cellpadding="0" style="font-family:verdana;font-size:X-Small" border="1"> <tr bgcolor="#336699"> <th align="left"> <font color="White">GKZ</font> </th> <th align="left"> <font color="White">KKZ</font> </th> <th align="right"> <font color="White">Anl-ID</font> </th> <th align="right"> <font color="White">Anlagenname</font> </th> </tr> <xsl:for-each select="gerxpdaten/Geraete/Geraet"> <tr> <td align="left"> <xsl:value-of select="ger_gkz"/> </td> <td align="left"> <xsl:value-of select="ger_kkz"/> </td> <td align="right"> <xsl:value-of select="ger_anlid"/> </td> <td align="right"> <xsl:call-template name="ans"> <xsl:with-param name="temp" select="ger_anlid" /> </xsl:call-template> </td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> <xsl:template name="ans" match="gerxpdaten/Anlagen"> <xsl:param name="temp" select="0" /> <xsl:for-each select="Anlage"> <xsl:if test="anl_id='$temp'"> <xsl:value-of select="anl_name" /> </xsl:if> </xsl:for-each> </xsl:template> </xsl:stylesheet>
Ziel ist es also eine Tabelle zu erstellen die so aussieht:
| GKZ | KKZ | ANL-ID | Anlagenname |
| ger_gkz | ger_kkz | ger_anlid | anl_name |
Weiß irgendjemand eine Lösung oder kann man das so wie ich mir das denke garnicht realisieren?
Comment