Hi,
ich nutze XSLT bereits für einfache Aufgaben. Jetzt versuche ich damit eine etwas kompliziertere
Aufgabe und scheitere kläglich. Die besten Google-Ergebnisse konnte ich bislang nicht umsetzen.
Im Grunde möchte ich die Werte aus zwei Dateien zusammenfassen... aber mir fehlt noch der richtige Ansatz
Datei: population-defaults.xml (Standardwerte)
Alles anzeigen
Datei: population.xml (Anpassungen)
Alles anzeigen
Gewünschtes Ergebnis
Alles anzeigen
Die Regeln sind also eigentlich ganz einfach:
Ich bin für jeden Tip dankbar. Das oben verlinkte Beispiel ähnelt meiner Anfrage relativ stark,
aber ich habe es nicht geschafft, das auf mein konkretes Beispiel anzuwenden.
Die Ausgabe soll eigentlich eine Textdatei sein, aber zur besseren Veranschaulichung habe ich
hier XML verwendet. Letztendlich nützt es mir nicht viel, wenn ich einfach ganze Tags kopiere,
denn ich benötige die einzelnen Werte zur Speicherung in der Textdatei.
Ciao
- fraenki
ich nutze XSLT bereits für einfache Aufgaben. Jetzt versuche ich damit eine etwas kompliziertere
Aufgabe und scheitere kläglich. Die besten Google-Ergebnisse konnte ich bislang nicht umsetzen.
Im Grunde möchte ich die Werte aus zwei Dateien zusammenfassen... aber mir fehlt noch der richtige Ansatz

Datei: population-defaults.xml (Standardwerte)
Quellcode
- <population>
- <user name="admin" uid="2000" gid="1000" password="geheim">
- <sshkey>ssh-dss b36c454c719718376e74519d472c04d9 admin@example.com</sshkey>
- <sshkey>ssh-dss f3aa4a596f846209f7615863221bd800 admin@example.com</sshkey>
- </user>
- <user name="manfred" uid="2001" gid="1000" password="test">
- <sshkey>ssh-dss 2e3a5d00d4a48290a95b9ea665b9b3b5 manfred@example.com</sshkey>
- </user>
- <user name="dieter" uid="2002" gid="1000" password="test">
- <sshkey>ssh-dss c47c47cc3575a865f6a579e6a86ae877 dieter@example.com</sshkey>
- </user>
- <user name="totalfalsch" password="test"/>
- </population>
Datei: population.xml (Anpassungen)
Quellcode
- <population>
- <user name="admin" password="extrageheim"/>
- <user name="manfred" password="supergeheim">
- <sshkey>ssh-dss 863c754e299f57759df5c15a6c5e04d8 manfred@example.com</sshkey>
- <sshkey>ssh-dss cde88fb9b526613899e8bc2eba55e680 manfred@dort.example.com</sshkey>
- </user>
- <user name="tina" uid="2007" gid="1000" password="totaltoll">
- <sshkey>ssh-dss 39b0f66d310752cd2f4204f6595a21ba tina@hier.example.com</sshkey>
- </user>
- <user name="fehlerhaft" password="gehtnicht"/>
- </population>
Gewünschtes Ergebnis
Quellcode
- <population>
- <user name="admin" uid="2000" gid="1000" password="extrageheim">
- <sshkey>ssh-dss b36c454c719718376e74519d472c04d9 admin@example.com</sshkey>
- <sshkey>ssh-dss f3aa4a596f846209f7615863221bd800 admin@example.com</sshkey>
- </user>
- <user name="manfred" uid="2001" gid="1000" password="supergeheim">
- <sshkey>ssh-dss 2e3a5d00d4a48290a95b9ea665b9b3b5 manfred@example.com</sshkey>
- <sshkey>ssh-dss 863c754e299f57759df5c15a6c5e04d8 manfred@example.com</sshkey>
- <sshkey>ssh-dss cde88fb9b526613899e8bc2eba55e680 manfred@dort.example.com</sshkey>
- </user>
- <user name="dieter" uid="2002" gid="1000" password="test">
- <sshkey>ssh-dss c47c47cc3575a865f6a579e6a86ae877 dieter@example.com</sshkey>
- </user>
- <user name="tina" uid="2007" gid="1000" password="totaltoll">
- <sshkey>ssh-dss 39b0f66d310752cd2f4204f6595a21ba tina@hier.example.com</sshkey>
- </user>
- </population>
Die Regeln sind also eigentlich ganz einfach:
- Anpassungen überschreiben Standardwerte
- Ausnahme: sshkeys werden nur hinzugefügt, nicht überschrieben
- die User werden anhand von "@name" unterschieden, uid usw. ist änderbar
- jeder "user" benötigt zwingend @name, @uid, @gid und @password
- Ausnahme: sshkeys sind optional
- bei fehlenden Angaben wird der User ignoriert
Ich bin für jeden Tip dankbar. Das oben verlinkte Beispiel ähnelt meiner Anfrage relativ stark,
aber ich habe es nicht geschafft, das auf mein konkretes Beispiel anzuwenden.
Die Ausgabe soll eigentlich eine Textdatei sein, aber zur besseren Veranschaulichung habe ich
hier XML verwendet. Letztendlich nützt es mir nicht viel, wenn ich einfach ganze Tags kopiere,
denn ich benötige die einzelnen Werte zur Speicherung in der Textdatei.
Ciao
- fraenki
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von fraenki ()