Hallo Forum,
ich bin neu hier und im Thema XML-XSL. Ich bin 38 Jahre und seit 2 Jahren als Consultant beschäftigt. Im Jan. 07 habe ich einen sehr guten XML/XSL-Kurs besucht. Leider konnte ich bis heute mein gelerntes Wissen nicht einsetzen. Jetzt habe ich eine kleine Aufgabe und bin schon am verzweifeln. Eigentlich dachte ich, dass ich den Stoff gefressen hätte.
Mein Problem
Ich habe ein XML dort gibt es ein TAG <params> dort stehen in einem String eine bestimmte Anzahl an Werten.
Zum Beispiel: MAT_PROJEKTNR="123,456,789,012" usw. (kann unterschiedlich viele Kommaseparierte Werte enthalten)
In meinem XSL soll die gesamte MAT_PROJEKTNR transformiert werden, so dass diese in einem neuen XML sich folgendermaßen darstellt.
Erwartetes Ergebnis:
<CHARACT>MAT_PROJEKTNR</CHARACT><VALUE_CHAR>123</VALUE_CHAR>
<CHARACT>MAT_PROJEKTNR</CHARACT><VALUE_CHAR>456</VALUE_CHAR>
<CHARACT>MAT_PROJEKTNR</CHARACT><VALUE_CHAR>789</VALUE_CHAR>
<CHARACT>MAT_PROJEKTNR</CHARACT><VALUE_CHAR>012</VALUE_CHAR>
usw.
Zur Zeit schaffe ich es nur, die MAT_PROJEKTNR=123 auszuschneiden, mehr geht nicht.
Mein XSL-Code Ausschnitt:
<xsl:template match="record[@type='ITEM' and @verb='CLASS']/data/XML-KS-ART">
<xsl:variable name="Project"><xsl:value-of select="../../params/@MAT_PROJEKTNR"/></xsl:variable>
...
<ALLOCVALUESCHARNEW>
<CHARACT>MAT_PROJEKTNR</CHARACT>
<VALUE_CHAR>
<xsl:for-each select="$Project">
<xsl:value-of select="substring($Project,1,3)"/>
</xsl:for-each>
</VALUE_CHAR>
</ALLOCVALUESCHARNEW>
</xsl:template>
Wer kann mich mit ein paar kurzen aber für einen NEWBIE verständlichen Hinweisen wieder auf den Weg bringen.
Für Eure Hilfe Danke ich Euch
Stephan
vogste
XML/XSL-Newbie
ich bin neu hier und im Thema XML-XSL. Ich bin 38 Jahre und seit 2 Jahren als Consultant beschäftigt. Im Jan. 07 habe ich einen sehr guten XML/XSL-Kurs besucht. Leider konnte ich bis heute mein gelerntes Wissen nicht einsetzen. Jetzt habe ich eine kleine Aufgabe und bin schon am verzweifeln. Eigentlich dachte ich, dass ich den Stoff gefressen hätte.
Mein Problem
Ich habe ein XML dort gibt es ein TAG <params> dort stehen in einem String eine bestimmte Anzahl an Werten.
Zum Beispiel: MAT_PROJEKTNR="123,456,789,012" usw. (kann unterschiedlich viele Kommaseparierte Werte enthalten)
In meinem XSL soll die gesamte MAT_PROJEKTNR transformiert werden, so dass diese in einem neuen XML sich folgendermaßen darstellt.
Erwartetes Ergebnis:
<CHARACT>MAT_PROJEKTNR</CHARACT><VALUE_CHAR>123</VALUE_CHAR>
<CHARACT>MAT_PROJEKTNR</CHARACT><VALUE_CHAR>456</VALUE_CHAR>
<CHARACT>MAT_PROJEKTNR</CHARACT><VALUE_CHAR>789</VALUE_CHAR>
<CHARACT>MAT_PROJEKTNR</CHARACT><VALUE_CHAR>012</VALUE_CHAR>
usw.
Zur Zeit schaffe ich es nur, die MAT_PROJEKTNR=123 auszuschneiden, mehr geht nicht.
Mein XSL-Code Ausschnitt:
<xsl:template match="record[@type='ITEM' and @verb='CLASS']/data/XML-KS-ART">
<xsl:variable name="Project"><xsl:value-of select="../../params/@MAT_PROJEKTNR"/></xsl:variable>
...
<ALLOCVALUESCHARNEW>
<CHARACT>MAT_PROJEKTNR</CHARACT>
<VALUE_CHAR>
<xsl:for-each select="$Project">
<xsl:value-of select="substring($Project,1,3)"/>
</xsl:for-each>
</VALUE_CHAR>
</ALLOCVALUESCHARNEW>
</xsl:template>
Wer kann mich mit ein paar kurzen aber für einen NEWBIE verständlichen Hinweisen wieder auf den Weg bringen.
Für Eure Hilfe Danke ich Euch
Stephan
vogste
XML/XSL-Newbie
Comment