Hallo zusammen,
ich sitze momentan an einem Problem und komme einfach nicht weiter, da mir XSL recht neu ist und ich daher noch nicht den Überblick habe, welche Möglichkeiten mir zur Lösung meines Problems zur Verfügung stehen.
Es geht um Folgendes:
- Ich habe ein XML Dokument das transformiert werden soll
- Im ursprünglichen XML kommt in mehreren Elementen eine Belegnummer <bnummer> vor
- Ich muss mir aus diesen Feldern die Belegnummern rausholen und daraus einen String aufbauen, d.h. die einzelnen Belegnummern aneinanderreihen und in ein einziges <comment> Feld im Ausgabe XML schreiben
Das eigentliche Problem dabei ist nun, dass einzelne <bnummer> Belegnummern doppelt vorkommen können. Diese muss ich irgendwie herausfiltern, ohne aber die ursprüngliche Reihenfolge zu verändern. Jetzt meine Frage, wie mache ich dies am geschicktesten?
Die ursprünglichen <bnummer> Felder müssen bestehen bleiben, d.h. die Filterung darf erst bei der String Erstellung zur Befüllung des <comment> Tags erfolgen.
In einer "richtigen" Programmiersprache hätt ich mir einfach den String nach und nach in einer Schleife aufgebaut und jeweils geschaut ob die Nummer schon im String vorhanden ist und wenn nicht einfach hinten angehängt. Durch die Restriktionen gerade was Variablen angeht bin ich hier in XSL aber etwas eingeschränkt :-/
Daher meine Frage, kann man eine ähnliche Vorgehensweise auch in XSL umsetzen und wenn ja wie?
Ich bin für jede Hilfe, jeden Hinweis oder kleinen Anschubser dankbar
Noch eine kleine Ergänzung, die Lösung muss XSL 1.0 konform sein.
ich sitze momentan an einem Problem und komme einfach nicht weiter, da mir XSL recht neu ist und ich daher noch nicht den Überblick habe, welche Möglichkeiten mir zur Lösung meines Problems zur Verfügung stehen.
Es geht um Folgendes:
- Ich habe ein XML Dokument das transformiert werden soll
- Im ursprünglichen XML kommt in mehreren Elementen eine Belegnummer <bnummer> vor
- Ich muss mir aus diesen Feldern die Belegnummern rausholen und daraus einen String aufbauen, d.h. die einzelnen Belegnummern aneinanderreihen und in ein einziges <comment> Feld im Ausgabe XML schreiben
Das eigentliche Problem dabei ist nun, dass einzelne <bnummer> Belegnummern doppelt vorkommen können. Diese muss ich irgendwie herausfiltern, ohne aber die ursprüngliche Reihenfolge zu verändern. Jetzt meine Frage, wie mache ich dies am geschicktesten?
Die ursprünglichen <bnummer> Felder müssen bestehen bleiben, d.h. die Filterung darf erst bei der String Erstellung zur Befüllung des <comment> Tags erfolgen.
In einer "richtigen" Programmiersprache hätt ich mir einfach den String nach und nach in einer Schleife aufgebaut und jeweils geschaut ob die Nummer schon im String vorhanden ist und wenn nicht einfach hinten angehängt. Durch die Restriktionen gerade was Variablen angeht bin ich hier in XSL aber etwas eingeschränkt :-/
Daher meine Frage, kann man eine ähnliche Vorgehensweise auch in XSL umsetzen und wenn ja wie?
Ich bin für jede Hilfe, jeden Hinweis oder kleinen Anschubser dankbar
Noch eine kleine Ergänzung, die Lösung muss XSL 1.0 konform sein.
Zuletzt bearbeitet: