XML mit XSL formatieren
Collapse
X
-
perfekt - jetzt ist alles wie ich es gerne hätte. Besten Danke für die schnelle Hilfe!
-
Achso, logisch, dein erstes Template matcht erst in zweiter Ebene. Dort kommt der Prozessor aber gar nicht hin, weil das root-Element gleich in das Catch-All-Template reinläuft. Also brauchst du noch das hier ganz am Anfang:
HTML Code:<xsl:template match="/root"> <xsl:apply-templates /> </xsl:template>
Leave a comment:
-
Sauber, jetzt wird der Text nicht mehr angezeigt - allerdings der Rest auch nicht mehr ...
Ich habe dieses template hinter meinem bereits existierenden eingefügt - wo liegt der Fehler?
Danke.
Leave a comment:
-
Hallo,
der XSLT-Prozessor hat implizite Templates für alle Knotentypen. Wenn du ein Element nicht explizit mit einem eigenen Template verarbeitest, wird es automatisch durch das Default-Template geschubst, welches den textContent (ohne Markup) zurückliefert.
Diese Default-Templates kannst du aber auch selbst überschreiben, um den Text zu unterdrücken:
Dann wird dort die Abarbeitung einfach abgebrochen.HTML Code:<xsl:template match="*" />
Gruß,
Amica
Leave a comment:
-
Sorry, die field Tags werden natürlich geschlossen - ich hatte nur den / vergessen ...
Code:<?xml version="1.0" encoding="ISO-8859-1" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output omit-xml-declaration="yes" /> <xsl:template match="/root/elms"> <html> <head> <title>Fields</title> </head> <body> <h1>Fields</h1> <table border="1"> <tr> <th>Fieldname</th> <th>Listname</th> </tr> <xsl:apply-templates /> </table> </body> </html> </xsl:template> <xsl:template match="//field[@ValueList]"> <tr> <td><xsl:value-of select="@Key" /></td> <td><xsl:value-of select="@ValueList" /></td> </tr> </xsl:template> </xsl:stylesheet>
Leave a comment:
-
Das ist schlecht, denn es ist kein valides XML. Die field-Tags werden nicht geschlossen. Möglicherweise stolpert dein XSLT-Prozessor darüber. Anderenfalls hast du wohl einen Fehler im XSL. Zeigs mal her!Originally posted by Patrick_PQ View PostDie XML Datei bekomme ich so und kann/darf sie nicht verändert
Leave a comment:
-
XML mit XSL formatieren
Hallo,
ich habe eine xml Datei und möchte mittels xsl Formatierungen vornehmen. Teilweise werden allerdings die Werte aus den Knoten mit ausgegeben - hat jemand eine Idee wie ich das unterdrücken kann?
Beispiel:
Der Text aus der Option wird mit ausgegeben, obwohl ich per template match nur die field Knoten anspreche und ausgebe.Code:<root> <options> <option>Text der nicht angezeigt werden soll</option> ... </options> <elms> <elm> <fields> <field key="Abc123" ValueList="123" /> <field ...> ... </fields> </elm> </elms> </root>
Versteht ihr was ich meine? Und wenn ja, kann jemand helfen?! Ich stehe etwas auf dem Schlauch. Die XML Datei bekomme ich so und kann/darf sie nicht verändert ...
Besten Dank!Last edited by Patrick_PQ; 22-04-2010, 17:30.Tags: None
Leave a comment: