Ich habe hier in dem Forum schon mal eine ähnliche Frage gestellt und damals auch eine Antwort bekommen und mein Problem schien gelöst, aber nun hab ich das XML Dokument ein wenig geändert und nichts geht mehr.
Also ich will in einer "for-each" Schleife jeweils im aktuellen Kontext auf ein Element des letzten Schleifendurchlaufs zugreifen. Ich habe hier mal einen Teil meines XML Dokuments:
<meta>
<Value>160sec</Value>
<Quantity>8</Quantity>
<FileName>file4</FileName>
<FileName>file7</FileName>
<FileName>file9</FileName>
<FileName>file14</FileName>
<FileName>file15</FileName>
<FileName>file16</FileName>
<FileName>file17</FileName>
<FileName>file19</FileName>
</meta>
<meta>
<Value>18sec</Value>
<Quantity>2</Quantity>
<FileName>file8</FileName>
<FileName>file18</FileName>
</meta>
Im Dokument befinden sich dann noch weitere "meta" Elemente und nun hab ich hier die Schleife, die ich bis dato verwendet habe:
<xsl:for-each select="meta">
<xsl:variable name="i" select="position() - 1"/>
</xsl:variable>
<xsl:variable name="Quantity_old">
<xsl:value-of select="preceding-sibling::meta[count(*)-1]/Quantity/text()"/>
</xsl:variable>
</xsl:for-each>
Ich habe hier natürlich einiges gekürzt, aber es geht eben hauptsächlich um die Variable "Quantity_old" , welche zwar nach einigen Schleifendurchläufen den richtigen Wert errechnet, aber leider beim ersten Auftreten nicht. Ich hoffe mir kann nun jemand weiterhelfen, ob es eine andere Lösung für dieses Problem gibt, da ich leider immer noch ein ziemlicher Anfänger in XSL bin.
MFG Sebi