Hallo,
ich habe eine XML-Datei, welche Informationen für das Erzeugen von Balkendiagrammen enthält. Diese infos enthalten die Höhe und die Farbe:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<datum col="green">400</datum>
<datum col="yellow">300</datum>
<datum col="green">50</datum>
<datum col="blue">100</datum>
</data>
Daraus soll nun mittels einer XSLT-Transformation eine SVG-Grafik erzeugt werden. Ich habe die Transformation schon geschrieben, nur werden die Balken immer übereinander gezeichnet, da meine X-Position leider noch fix ist. Hier ist mein XSLT:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" />
<xsl:template match="/">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600" height="600" width="800">
<xsl:for-each select="data/datum">
<polyline xmlns="http://www.w3.org/2000/svg">
<xsl:attribute name="points">
xsl:text0 0 0 </xsl:text><xsl:value-of select="."/>xsl:text 10 </xsl:text><xsl:value-of select="."/>xsl:text 10 0</xsl:text>
</xsl:attribute>
<xsl:attribute name="transform">
xsl:texttranslate(100,500) scale(1,-1)</xsl:text>
</xsl:attribute>
<xsl:attribute name="style">
xsl:textfill:</xsl:text><xsl:apply-templates select="@col"/>xsl:text;</xsl:text>
</xsl:attribute>
</polyline>
</xsl:for-each>
</svg>
</xsl:template>
</xsl:stylesheet>
Kann mir jemand sagen, wie ich es umschreiben muss, dass für jeden Balken eine eigen X-Position generiert wird, also z.B. durch Addieren eines Offsets?
Ciao