Hallo.
Ist es möglich,
eine XML Variable bei jedem for-each Durchlauf um 1
oder einen anderen beliebigen Wert zu erhöhen?
z.B.
for-each($results/…) {
…
(var) $i-number = $i-number + 1;
…
Hallo,
leider kann ich die Frage aufgrund der sehr kurzen Problemstellung nicht beantworten.
„for-each“ lässt die Schleife für alle Knoten ausführen, die einem bestimmten Kriterium entsprechen. Daher gehe ich davon aus , dass ein Schleifenzähler nicht benötigt wird.
Eventuell ist die Funktion count() das was Sie suchen. Es zählt die übergebenen Knoten.
Eine Variablendeklaration wie:
(var) $i-number = $i-number + 1;
ist meines Wissen nach nicht bekannt.
Über rekursive Transformationen kann man aber (je nach dem was man machen möchte) Benamungen und Zählungen realisieren.
VG
Sebastian_
das einfachste wäre, wenn du dir die Position reicht:
position()
ansonsten ist es auch möglich, nur etwas umständlicher
z.B.:
...
...
so richtig:
…
Nein. (Osborn’s Law wurde perfekt erfüllt)
Mit der Funktion position() kann man sich aber zum Beispiel beim Zählen von Ausgabezeilen behelfen.
Super bzw. nicht super aber jetzt weiß ich zumindest, dass ich es anders versuchen muss.
Vielen Dank an alle für die superschnellen Antworten.
Ihr habt mir sehr geholfen.
Vielen dank und schönen Tag allen.
in xml selbst meines erachtens nicht, da dies ja auch nur ein daten container ist. zähler kann man beim verarbeiten des dokumentes ja mit jeder sprache verarbeiten. wenn du allerdings variablen in XSLT meintest (xml transformations syntax) dann gibt es zwei wege. zum einen über XPATH (in dem einfachsten fall kann man die position() funktion eines elementes verwenden um seine position in dem template match ergebnis auszugeben:
oder über xsl variable
etwas aufwendiger kann man auch javascript funktionen im xslt definieren und verwenden.
Hallo,
da ist erstmal meine Frage, was meinst du mit XML Variable, und in welcher Sprache nutzt du for-each?
Wenn du XPath nutzt kann ich leider nicht weiter helfen.
Grüße
Hi,
es wäre gut wenn du den Rahmen und dein Ziel näher beschreiben würdest. Generell kannst du kannst du bei jedem Durchlauf die Variable erhöhen, jedoch bleibt dir dann das Auslesen und Zurückschreiben nicht erspart. Wenn ich dich richtig verstanden habe willst du eine bestehende XML-Datei auslesen und jeden Zugriff anhand einer Variable dokumentieren.
Grüße
sorry, falsche Ansprechpartner. Ich kenn mich mit XML nicht aus