Guten Tag,
ich erhalte aus einer SOAP-Antwort folgendes XML zurück, was ich gerne mittels XSLT 1.0 (leider obligatorisch) zu einer tabellarischen HTML-Ausgabe transformieren möchte:
Für jedes <root> existieren beliebig viele <return>-Elemente, die genau einen <event>-Eintrag beinhalten. Jedes <event> kann wiederum beliebig viele und vor allem reihenfolgenunabhänge <keyvalue>-Tags enthalten, die wiederum genau einen <key> und einen <value> enthalten.
Das Problem ist, dass ich das in einer Tabelle darstellen will, jedoch nur folgende <key>-Elemente als Überschriften und die entsprechenden <value>-Werte in den dazu passenden Tabellenzellen benötige:
TIMESTAMP | PRIORITY | STATUS | ID | DESCRIPTION
--------------------------------------------------------------------------
Daten des 1. <event>-Datensatzes pro Spalte
--------------------------------------------------------------------------
Daten des 2. <event>-Datensatzes pro Spalte
-------------------------------------------------------------------------
... und so weiter...
Der ganze Rest (GENERIC, TYPE, ID_TYPE, CATEGORY und viele weitere...) soll ignoriert und nicht ausgegeben werden. Sollte ein <event>-Element eine der erwünschten Überschriften gar nicht als Schlüssel-Wert-Paar haben, so soll die entsprechende Tabellenzelle einfach leer bleiben.
Wenn alles immer in der richtigen Reihenfolge und jedes <event> identische <keyvalue>-Felder hätte, wäre das kein Problem, aber so "verrutschen" mir immer die Spalten... Gibt es dafür einen Ansatz?
Besten Dank im Voraus!
Philipp
ich erhalte aus einer SOAP-Antwort folgendes XML zurück, was ich gerne mittels XSLT 1.0 (leider obligatorisch) zu einer tabellarischen HTML-Ausgabe transformieren möchte:
HTML Code:
<root> <return> <event> <keyvalue> <key>TIMESTAMP</key> <value>text</value> </keyvalue> <keyvalue> <key>PRIORITY</key> <value>text</value> </keyvalue> <keyvalue> <key>STATUS</key> <value>text</value> </keyvalue> <keyvalue> <key>ID</key> <value>text</value> </keyvalue> <keyvalue> <key>DESCRIPTION</key> <value>text</value> </keyvalue> </event> </return> <return> <event> <keyvalue> <key>GENERIC</key> <value>text</value> </keyvalue> <keyvalue> <key>ID_TYPE</key> <value>text</value> </keyvalue> <keyvalue> <key>TIMESTAMP</key> <value>text</value> </keyvalue> <keyvalue> <key>STATUS</key> <value>text</value> </keyvalue> <keyvalue> <key>TYPE</key> <value>text</value> </keyvalue> <keyvalue> <key>CATEGORY</key> <value>text</value> </keyvalue> <keyvalue> <key>DESCRIPTION</key> <value>text</value> </keyvalue> <keyvalue> <key>ID</key> <value>text</value> </keyvalue> <keyvalue> <key>PRIORITY</key> <value>text</value> </keyvalue> </event> </return> <root>
Das Problem ist, dass ich das in einer Tabelle darstellen will, jedoch nur folgende <key>-Elemente als Überschriften und die entsprechenden <value>-Werte in den dazu passenden Tabellenzellen benötige:
TIMESTAMP | PRIORITY | STATUS | ID | DESCRIPTION
--------------------------------------------------------------------------
Daten des 1. <event>-Datensatzes pro Spalte
--------------------------------------------------------------------------
Daten des 2. <event>-Datensatzes pro Spalte
-------------------------------------------------------------------------
... und so weiter...
Der ganze Rest (GENERIC, TYPE, ID_TYPE, CATEGORY und viele weitere...) soll ignoriert und nicht ausgegeben werden. Sollte ein <event>-Element eine der erwünschten Überschriften gar nicht als Schlüssel-Wert-Paar haben, so soll die entsprechende Tabellenzelle einfach leer bleiben.
Wenn alles immer in der richtigen Reihenfolge und jedes <event> identische <keyvalue>-Felder hätte, wäre das kein Problem, aber so "verrutschen" mir immer die Spalten... Gibt es dafür einen Ansatz?
Besten Dank im Voraus!
Philipp
Comment