PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : XSLT Transformationen



Mkey
24-03-2009, 15:05
Hallo zusammen,

vielleicht kann mir jemand helfen.
Ich habe ein XML-Dokument (Main.xml) sowie ein Dokument, welches ein Subset davon ist und aktualisierte Werte beinhaltet (Updater.xml). Ich würde beide gerne mit XSLT verheiraten, so dass das ErgebnisXML (Result.xml) grundsätzlich auf der Main.xml basiert, allerdings die aktualisierten Werte von Updater.xml enthält.

Folgend die Dateien:
Main.xml

<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:noNamespaceSchemaLocation="test.xsd">
<testdaten>
<a>111</a>
<b>
<b1>832.0</b1>
</b>
<c>
<c1>619.0</c1>
</c>
<d>222.0</d>
</testdaten>
</configuration>

Updater.xml

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<testdaten>
<a>12321</a>
</testdaten>
</configuration>

Result.xml

<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:noNamespaceSchemaLocation="test.xsd">
<testdaten>
<a>12321</a>
<b>
<b1>832.0</b1>
</b>
<c>
<c1>619.0</c1>
</c>
<d>222.0</d>
</testdaten>
</configuration>

Wie ersichtlich, ist der Wert von a(111) mit dem Wert 12321 aktualisiert worden.

Mein Problem ist: Ich bekomme die XSLT-Regeln nicht hin. Dies ist natürlich nur ein vereinfachtes Beispiel. In der Updater.xml können sowohl mehrere Knoten vorhanden sein; es können neue Knoten, die es in der Form in der Main.xml noch nicht gibt vorkommen; es können Knoten mit neuen Unterknoten an bestehende Knoten (und deren jeweiligen Unterknoten) angefügt werden. Könnte mir jemand helfen? Hat evtl. jemand eine Idee? Vielen Dank schon mal im Voraus.

Markus

Eine Annahme noch: Ein Pfad eines Blattknotens in der Updater.xml ist gleich dem Pfad in der Main.xml.