Zugriff auf einzelne Elemente von xs:list

TheT

Grünschnabel
Hallo zusammen

Ich hab da ein kleines Problem und hoffe, jemand könnte mir dazu einen Tipp geben...

Ich habe ein XML Schema, welches unter anderem auch folgenden Typ vorsieht (es handelt sich dabei um Messdaten/reihen):

<xs:element name="messreihe1">
<xs:simpleType>
<xs:list itemType="xs:float"/>
</xs:simpleType>
</xs:element>

Gibt es mit XSL eine Möglichkeit, diese Daten in eine HTML-Tabelle umzuwandeln, so dass aus...

=== XML-Dokument:
[...]
<messreihe1>1 2 3 4</messreihe1>
[...]
===

etwas wird wie...

=== HTML-Dokument:
[...]
<table>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
</table>
[...]
===

... kurz gesagt, gibt es eine Möglichkeit in XSL auf einzelne Elemente einer Liste zuzugreifen?

Vielen Dank im Voraus,
TheT
 

TheT

Grünschnabel
stimmt, das hat geholfen... danke vielmals! :)


Und so sieht das Template jetzt bei mir aus:

Code:
<xsl:template name="series_2">
	<xsl:param name="series1"/>
	<xsl:param name="series2"/>
	<xsl:param name="string_before"/>
	<xsl:param name="string_between"/>
	<xsl:param name="string_after"/>
	<xsl:param name="string_last"/>
	<xsl:choose>
		<xsl:when test="contains($series1,' ')">
			<xsl:value-of select="$string_before"/>
			<xsl:value-of select="substring-before($series1,' ')"/>
			<xsl:value-of select="$string_between"/>
			<xsl:value-of select="substring-before($series2,' ')"/>
			<xsl:value-of select="$string_after"/>
			<xsl:call-template name="series_2">
				<xsl:with-param name="series1" select="substring-after($series1,' ')"/>
				<xsl:with-param name="series2" select="substring-after($series2,' ')"/>
				<xsl:with-param name="string_before" select="$string_before"/>
				<xsl:with-param name="string_between" select="$string_between"/>
				<xsl:with-param name="string_after" select="$string_after"/>
				<xsl:with-param name="string_last" select="$string_last"/>
			</xsl:call-template>
		</xsl:when>
		<xsl:otherwise>
			<xsl:value-of select="$string_before"/>
			<xsl:value-of select="$series1"/>
			<xsl:value-of select="$string_between"/>
			<xsl:value-of select="$series2"/>
			<xsl:value-of select="$string_last"/>
		</xsl:otherwise>
	</xsl:choose>
</xsl:template>

Ein bisschen universeller und für zwei Listen mit gleichvielen Elementen, die was miteinander zu tun haben... wobei man den 'Delimiter' auch noch als Variable übergeben könnte.
 
Zuletzt bearbeitet:

Neue Beiträge