Hallo zusammen,
ich versuche gerade, aus den Daten zweier XML-Dateien eine gemeinsame XML-Ergebinisdatei zu erstellen.
Dabei werden fast alle Daten (inkl. der Tags) der ersten Datei unverändert verwendet und es soll nur ein Wert eines Tags durch den entsprechenden Wert desselben Tags aus der zweiten Datei ersetzt werden.
Die Einträge in beiden Dateien können dabei durch einen eindeutigen Schlüsses identifiziert und zugeordnet werden.
Da meine Kenntnisse veraltet und eingerostet sind ist mein Ansatz sicherlich nicht der Beste. Ich iteriere gerade über alle Elemente der ersten Datei und versuche diese in der gleichen Struktur wieder auszugeben. Dabei haben aber einige eines jeden Eintrages Tags Attribute, andere nicht.
Ich erzeuge die Ausgabedatei, indem ich die Tags einfach als Text in die XSL-Datei einfüge und die Werte dieser Tags aus der Iteration der Einträge aus der ersten Datei nehme (nur als 1. Schritt, die Zuweisung aus der 2. Datei heb ich mir als 2. Schritt auf).
Dabei bekomme ich aber das Problem, dass ich in die Tags, die ich einfach als Text in der XSL ausgebe Attribute einfügen muss, deren Werte aus der Iteration kommen. Die Frage ist nur, wie mache ich das? Wenn ich ein Tag einfach ausgebe und es noch geöffnet ist und ich darin versuche mit <xsl:value-of select=...
etwas auszugeben motzt der Parser zurecht. Allerdings, wie geht es denn? Direkt in die Ausgabe von <xsl:value-of select=...
die benötigten Tags als feste Strings mit aufnehmen?
Hier kurz noch ein Bsp.:
Die Einträge der ersten Datei, über die ich iteriere haben alle folgenden Aufbau:
<card><name id="id_value">Name</name><set>Set</set></card>
Nun versuche ich in der Schleife folgendes auszugeben:
<card><name id="<xsl:value-of select="name.id" />"><xsl:value-of select="name" /></name></card>
was natürlich nicht geht.
Was wäre denn hier der geeignetste Ansatz, die Daten korrekt auszugeben?
Im 2. Schritt soll direkt bei diesen Ausgaben der Wert des Tags "set" aus der ersten Datei mit dem Wert desselben Tags (Set) aus der zweiten Datei ersetzt werden. Dabei dient der Wert des Tags "name" der ersten Datei als Schlüssel zum Auffinden des entsprechenden Eintrages in der 2. Datei (über "name" können die Einträge in beiden Dateien eindeutig zugeordnet werden).
Hier hab ich aber noch keine Idee, wie ich das hinbekommen soll.
Bin für jeden Tip oder Verweise auf hilfreiche Infos dankbar!
Ciao