position()
Birgit
- xsl
0 MudGuard0 Thomas J.S.
Hallo mal wieder!
Ich habe folgende Frage: wie kann ich jeweils den vorletzten Wert eines ausgegebenen Elements unterstreichen, um ihn von dem Summenwert in der letzten Zeile abzugrenzen? Kurz etwas deutlicher: ich habe folgende Ausgabe:
%
81.12
10.85
8.03
100.00
Wie ist es jetzt möglich, die 8.03 zu unterstreichen, um sie von der Summe 100.00% abzugrenzen?
Die XML-Datei sieht so aus (Auszug):
...
<catgry>
<catValu>1</catValu>
<txt>Ja</txt>
<catStat type="freq">1585</catStat>
<catStat type="percent">81.12</catStat>
</catgry>
<catgry>
<catValu>2</catValu>
<txt>Weiß nicht</txt>
<catStat type="freq">212</catStat>
<catStat type="percent">10.85</catStat>
</catgry>
<catgry>
<catValu>3</catValu>
<txt>Nein</txt>
<catStat type="freq">157</catStat>
<catStat type="percent">8.03</catStat>
</catgry>
<catgry>
<catStat type="freq">1954</catStat>
<catStat type="percent">100.00</catStat>
</catgry>
...
Folgendes habe ich schon ausprobiert, leider ohne Erfolg.
<xsl:if test="catStat[@type='freq'][position()=last()-1]"><hr/></xsl:if>
Über eine Lösung wäre ich sehr dankbar!
Birgit
Hi,
Ich habe folgende Frage: wie kann ich jeweils den vorletzten Wert eines ausgegebenen Elements unterstreichen, um ihn von dem Summenwert in der letzten Zeile abzugrenzen? Kurz etwas deutlicher: ich habe folgende Ausgabe:
Die XML-Datei sieht so aus (Auszug):
...
<catgry>
<catValu>1</catValu>
<txt>Ja</txt>
<catStat type="freq">1585</catStat>
<catStat type="percent">81.12</catStat>
</catgry>
<catgry>
<catValu>2</catValu>
<txt>Weiß nicht</txt>
<catStat type="freq">212</catStat>
<catStat type="percent">10.85</catStat>
</catgry>
<catgry>
<catValu>3</catValu>
<txt>Nein</txt>
<catStat type="freq">157</catStat>
<catStat type="percent">8.03</catStat>
</catgry>
<catgry>
<catStat type="freq">1954</catStat>
<catStat type="percent">100.00</catStat>
</catgry>
...
Folgendes habe ich schon ausprobiert, leider ohne Erfolg.
<xsl:if test="catStat[@type='freq'][position()=last()-1]"><hr/></xsl:if>
in dem Template, daß die catStat - Elemente bearbeitet:
<xsl:if test="position()=(last()-1)"><hr/></xsl:if>
Hängt aber auch davon ab, wie Dein XSL insgesamt aufgebaut ist.
Andreas
Hallo,
Ich habe folgende Frage: wie kann ich jeweils den vorletzten Wert eines ausgegebenen Elements unterstreichen, um ihn von dem Summenwert in der letzten Zeile abzugrenzen?
Folgendes habe ich schon ausprobiert, leider ohne Erfolg.
<xsl:if test="catStat[@type='freq'][position()=last()-1]"><hr/></xsl:if>
Das ist zu wenig um dir helfen zu können!
Du kannst auch key() benutzen:
<xsl:key name="prozent" match="catStat" use="@type" />
und dann den so selektieren:
="key('prozent', 'percent')[position()=last()-1]"
Aber es hängt alles davon ab wie du deinen Stylesheets aufgebaut hast. Und das hast du lieder nicht gesagt.
Grüße
Thomas