Attribute auslesen
Birgit
- xsl
0 MudGuard0 Björn Höhrmann0 Birgit
Hallo zusammen,
ich habe mal wieder ein kleines Problem mit XSL. Dazu folgender Ausschnitt aus der XML-Datei:
...
<catgry>
<catValu>1</catValu>
<txt>Ja</txt>
<catStat type="freq">1999</catStat>
<catStat type="percent">97.75</catStat>
</catgry>
...
Wie kann ich jetzt die Werte von type="freq" und type="percent" ausgeben? Mit <xsl:value-of select="catStat/@type='freq'" /> und <xsl:value-of select="catStat/@type='percent'" /> bekomme ich nur die Ausgabe "true" oder "false". Kann mir da jemand weiterhelfen?
Vielen Dank schonmal
Birgit
Hi
Wie kann ich jetzt die Werte von type="freq" und type="percent" ausgeben? Mit <xsl:value-of select="catStat/@type='freq'" /> und <xsl:value-of select="catStat/@type='percent'" /> bekomme ich nur die Ausgabe "true" oder "false". Kann mir da jemand weiterhelfen?
Wenn Du den Wert des Attributs haben willst:
<xsl:value-of select="catStat/@type" />
ist doch logisch, daß Du nur true oder false zurückkriegst, wenn Du einen Vergleich selektierst.
Andreas
Hallo,
aber wie komme ich dann an die Werte, die die Attribute haben? Ich habe eine Tabelle gemacht, wobei der Wert von <catStat type="freq">1999</catStat> (also 1999) in einer Zelle und der Wert von <catStat type="percent">97.75</catStat> (97.75) in einer anderen Zelle ausgegeben werden soll. Wie mache ich das?
Birgit
Hi
Wie kann ich jetzt die Werte von type="freq" und type="percent" ausgeben? Mit <xsl:value-of select="catStat/@type='freq'" /> und <xsl:value-of select="catStat/@type='percent'" /> bekomme ich nur die Ausgabe "true" oder "false". Kann mir da jemand weiterhelfen?
Wenn Du den Wert des Attributs haben willst:
<xsl:value-of select="catStat/@type" />
ist doch logisch, daß Du nur true oder false zurückkriegst, wenn Du einen Vergleich selektierst.
Andreas
Hi,
aber wie komme ich dann an die Werte, die die Attribute haben? Ich habe eine Tabelle gemacht, wobei der Wert von <catStat type="freq">1999</catStat> (also 1999) in einer Zelle und der Wert von <catStat type="percent">97.75</catStat> (97.75) in einer anderen Zelle ausgegeben werden soll. Wie mache ich das?
Du weißt offensichtlich nicht, was ein Attributwert ist.
Wert des Attributs type ist in einem Fall freq, im anderen Fall percent.
Du willst scheinbar den Inhalt des catStat-Elements in dem Fall, daß der Wert des Type-Attributs freq (bzw. percent) ist - das ist definitiv kein Attributwert.
Dann nimm:
<xsl:value select="catStat[@type='freq']"/>
bzw.
<xsl:value select="catStat[@type='percent']"/>
Andreas
PS: bitte immer nur den Teil eines Postings quoten, auf den Du Dich beziehst.
ich habe mal wieder ein kleines Problem mit XSL. Dazu folgender Ausschnitt aus der XML-Datei:
...
<catgry>
<catValu>1</catValu>
<txt>Ja</txt>
<catStat type="freq">1999</catStat>
<catStat type="percent">97.75</catStat>
</catgry>
...
Wie kann ich jetzt die Werte von type="freq" und type="percent" ausgeben?
<xsl:value-of select='@type'> wobei das jeweilige catStat-Element der aktuelle Kontextknoten sein muss, möglich wäre
xsl:template match = catgry
xsl:apply-templates select = catStat
xsl:template match = catStat
xsl:value-of select = @type
Mit <xsl:value-of select="catStat/@type='freq'" /> und <xsl:value-of select="catStat/@type='percent'" /> bekomme ich nur die Ausgabe "true" oder "false". Kann mir da jemand weiterhelfen?
Wenn schon konditional, dann mit eckigen Klammern:
catStat[@type = 'perc']
Hallo Björn,
vielen Dank für Deine Hilfe, das war schon die Lösung!
Birgit
ich habe mal wieder ein kleines Problem mit XSL. Dazu folgender Ausschnitt aus der XML-Datei:
...
<catgry>
<catValu>1</catValu>
<txt>Ja</txt>
<catStat type="freq">1999</catStat>
<catStat type="percent">97.75</catStat>
</catgry>
...
Wie kann ich jetzt die Werte von type="freq" und type="percent" ausgeben?
<xsl:value-of select='@type'> wobei das jeweilige catStat-Element der aktuelle Kontextknoten sein muss, möglich wäre
xsl:template match = catgry
xsl:apply-templates select = catStat
xsl:template match = catStat
xsl:value-of select = @type
Mit <xsl:value-of select="catStat/@type='freq'" /> und <xsl:value-of select="catStat/@type='percent'" /> bekomme ich nur die Ausgabe "true" oder "false". Kann mir da jemand weiterhelfen?
Wenn schon konditional, dann mit eckigen Klammern:
catStat[@type = 'perc']