S
Schlaubi_fi.de
Mac OS X User
Hallo,
nun habe ich auch mal ein Problem
Und zwar habe ich z.B. solch eine Datei:
Bei dem Element 'message' soll das Attribut revision="$Revision$" dazu,
also:
Jetzt habe ich das Problem, dass ich nicht nur eine sondern mehrer solcher Dateien habe in denen ich revision="$Revision$" hinzufügen möchte, nur leider lautet das erste Element nicht immer 'message' und außerdem ist es nicht immer auf 3 Zeilen aufgeteilt.
Deshalb klappt auch mein erster Ansatz nur für genau diese Datei, aber eben nicht allgemein:
Irgendwelche Ideen?
//NACHTRAG:
Die Datei kann auch z.B. wie folgt aufgebaut sein:
Das soll daraus werden:
nun habe ich auch mal ein Problem
Und zwar habe ich z.B. solch eine Datei:
Code:
<?xml version="1.0" ?>
<message xmlns:test="http://www.xxx.de/test"
xmlns:new-val="http://www.xxx.de/new-value"
xmlns:new-fct="http://www.xxx.de/new-fct">
<commands currentstep="0">
<command target="XMLQuery" method="qbe" key="xmlquery"/>
<command target="client"/>
<command target="XMLQuery" method="upd-check" key="xmlquery"/>
</commands>
<xmlquery encoding="UTF-8" optimize-type="joinmerge"
schema="test" db-service="jdbc/test"
in-slot="" in-key="parties"
out-slot="" out-key="parties">
<pathstep name="party">
</pathstep>
</xmlquery>
<parties>
<party id="@PARTYID@"/>
</parties>
</message>
Bei dem Element 'message' soll das Attribut revision="$Revision$" dazu,
also:
Code:
<?xml version="1.0" ?>
<message xmlns:test="http://www.xxx.de/test"
xmlns:new-val="http://www.xxx.de/new-value"
xmlns:new-fct="http://www.xxx.de/new-fct" [b]revision="$Revision$"[/b]>
<commands currentstep="0">
<command target="XMLQuery" method="qbe" key="xmlquery"/>
<command target="client"/>
<command target="XMLQuery" method="upd-check" key="xmlquery"/>
</commands>
<xmlquery encoding="UTF-8" optimize-type="joinmerge"
schema="test" db-service="jdbc/test"
in-slot="" in-key="parties"
out-slot="" out-key="parties">
<pathstep name="party">
</pathstep>
</xmlquery>
<parties>
<party id="@PARTYID@"/>
</parties>
</message>
Jetzt habe ich das Problem, dass ich nicht nur eine sondern mehrer solcher Dateien habe in denen ich revision="$Revision$" hinzufügen möchte, nur leider lautet das erste Element nicht immer 'message' und außerdem ist es nicht immer auf 3 Zeilen aufgeteilt.
Deshalb klappt auch mein erster Ansatz nur für genau diese Datei, aber eben nicht allgemein:
Code:
perl -wne '/<message/ and do { print; $_=<>; print; $_=<>; s/>/
revision="\$Revision\$">/; print; next; }; print;' x.xml
Irgendwelche Ideen?
//NACHTRAG:
Die Datei kann auch z.B. wie folgt aufgebaut sein:
Code:
<?xml version="1.0" ?>
<message>
<commands currentstep="0">
<command target="ScriptletManager" method="gc" scriptlet="admin.GC"/>
</commands>
</message>
Das soll daraus werden:
Code:
<?xml version="1.0" ?>
<message [b]revision="$Revision$"[/b]>
<commands currentstep="0">
<command target="ScriptletManager" method="gc" scriptlet="admin.GC"/>
</commands>
</message>