Problem mit XML/XSL
Doldi
- programmiertechnik
- xml
- xsl
Hallo stehe vor folgendem Problem, und kenne mich eigentlich garnicht mit XML oder XSL aus ...
XML-Vorlage
..
<programList>
<program>SDT</program>
<program>FTO</program>
<program>SDGT</program>
</programList>
..
ParserXSL
<xsl:variable name="program"><xsl:value-of select="i:programList/i:program" /></xsl:variable>
wie kann ich die Komplette programList auslesen? Bisher hatte ich nur Listen wo <Namen> Verschieden waren ... da konnte ich das mit einer for-each lösen
hier sind alle gleich somit nimmt er Natürlich immer nur den ersten aus der Liste und speichert mir den in die Variable "program"
Wie bekomm ich die anderen werte?
kann mir da bitte jemand helfen? wär super danke
Hallo Doldi,
wie kann ich die Komplette programList auslesen? Bisher hatte ich nur Listen wo <Namen> Verschieden waren ... da konnte ich das mit einer for-each lösen
hier sind alle gleich somit nimmt er Natürlich immer nur den ersten aus der Liste und speichert mir den in die Variable "program"
Wie bekomm ich die anderen werte?
Was soll denn als Ziel-Ausgabe entstehen bzw. welchen Zweck erfüllt die Variable? Mit xsl:for-each oder xsl:apply-templates lässt sich diese Struktur verarbeiten, damit kann bei Bedarf auch die Variable neu erzeugt/befüllt werden.
Grüße, Thomas
Hallo Thomas,
Was soll denn als Ziel-Ausgabe entstehen bzw. welchen Zweck erfüllt die Variable? Mit xsl:for-each oder xsl:apply-templates lässt sich diese Struktur verarbeiten, damit kann bei Bedarf auch die Variable neu erzeugt/befüllt werden.
Grüße, Thomas
wir haben verschiedene spalten unteranderem diese "Programm"spalte im moment kommt in der Ausgabe nur ein wert (der erste) in diese spalte aber ich benötige alle werte in dieser Spalte.
Grüße Doldi
Hallo Doldi,
wir haben verschiedene spalten unteranderem diese "Programm"spalte im moment kommt in der Ausgabe nur ein wert (der erste) in diese spalte aber ich benötige alle werte in dieser Spalte.
Kann ich mir so nicht vorstellen. Bitte ein testfähiges Eingabedokument und die gesuchte Ausgabe posten, dann schaue ich nochmal drüber.
Grüße, Thomas
<xsl:for-each select="i:programList/i:program">
<xsl:value-of select="." />
<xsl:variable name="following-sibling"><xsl:value-of select="following-sibling::*[1]" /></xsl:variable>
<xsl:if test="$following-sibling != ''">
das problem hat sich gelöst, trotzdem danke ;)
Hallo Doldi,
<xsl:for-each select="i:programList/i:program"> <xsl:value-of select="." /> <xsl:variable name="following-sibling"><xsl:value-of select="following-sibling::*[1]" /></xsl:variable> <xsl:if test="$following-sibling != ''">
das problem hat sich gelöst, trotzdem danke ;)
Das mit der Achse erschließt sich mir aus der Ursprungsfrage nicht. Dann hätte wohl auch das gereicht:
<xsl:for-each select="i:programList/i:program">
<xsl:value-of select="."/>
</xsl:for-each>
Die xsl:if-Abfrage kann dort auch mit test=". != ''" hinein, alternativ test="string-length(.) > 0".
Grüße, Thomas