7 changed files with 235 additions and 5 deletions
			
			
		
									
										Binary file not shown.
									
								
							
						@ -0,0 +1,45 @@
				@@ -0,0 +1,45 @@
					 | 
				
			||||
 | 
				
			||||
.chartBar | 
				
			||||
{ | 
				
			||||
	fill:steelblue; | 
				
			||||
	stroke:gray; | 
				
			||||
} | 
				
			||||
.chartBar:hover | 
				
			||||
{ | 
				
			||||
	fill:red; | 
				
			||||
	stroke:gray; | 
				
			||||
} | 
				
			||||
.chartLabel | 
				
			||||
{ | 
				
			||||
	fill:white; | 
				
			||||
	stroke:yellow; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.chartBarSeries1 | 
				
			||||
{ | 
				
			||||
	fill:#1D345E; | 
				
			||||
	stroke:gray; | 
				
			||||
} | 
				
			||||
.chartLabelSeries1 | 
				
			||||
{ | 
				
			||||
	fill:white; | 
				
			||||
	stroke:black; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.chartBarSeries1:hover | 
				
			||||
{ | 
				
			||||
	fill:red; | 
				
			||||
	stroke:gray; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
.chartBarSeries2 | 
				
			||||
{ | 
				
			||||
	fill:#27408B; | 
				
			||||
	stroke:gray; | 
				
			||||
} | 
				
			||||
.chartBarSeries2:hover | 
				
			||||
{ | 
				
			||||
	fill:red; | 
				
			||||
	stroke:gray; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
@ -0,0 +1,157 @@
				@@ -0,0 +1,157 @@
					 | 
				
			||||
<?xml version="1.0"  encoding="UTF-8" ?> | 
				
			||||
<xsl:stylesheet version="1.0" | 
				
			||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> | 
				
			||||
<xsl:template name="graph"> | 
				
			||||
<xsl:param name="graphwidth" select="100" />  | 
				
			||||
<xsl:param name="graphheight" select="20" /> | 
				
			||||
<xsl:param name="feldname" /> | 
				
			||||
<xsl:param name="feldwert" /> | 
				
			||||
 | 
				
			||||
<xsl:variable name="gesamt"> | 
				
			||||
<xsl:choose> | 
				
			||||
<xsl:when test="contains($feldwert,'|')"> | 
				
			||||
<xsl:value-of select="number(substring-after($feldwert,'|'))"/> | 
				
			||||
</xsl:when> | 
				
			||||
<xsl:otherwise>100</xsl:otherwise> | 
				
			||||
</xsl:choose> | 
				
			||||
</xsl:variable> | 
				
			||||
<xsl:variable name="feldwertOhneGesamt"> | 
				
			||||
<xsl:choose> | 
				
			||||
<xsl:when test="contains($feldwert,'|')"> | 
				
			||||
<xsl:value-of select="substring-before($feldwert,'|')"/> | 
				
			||||
</xsl:when> | 
				
			||||
<xsl:otherwise><xsl:value-of select="$feldwert"/></xsl:otherwise> | 
				
			||||
</xsl:choose> | 
				
			||||
</xsl:variable> | 
				
			||||
<xsl:if test="string-length($feldwert) > 0"> | 
				
			||||
<svg width="{$graphwidth}" height="{$graphheight}"><g> | 
				
			||||
<rect x="0" y="0" width="{$graphwidth}" height="{$graphheight}" fill="#cccccc"> | 
				
			||||
<title><xsl:value-of select="$gesamt"/></title></rect> | 
				
			||||
 | 
				
			||||
 | 
				
			||||
<xsl:choose> | 
				
			||||
<xsl:when test="starts-with($feldname,'_graphbarright')"> | 
				
			||||
<xsl:call-template name="drawBar"> | 
				
			||||
<xsl:with-param name="maxwidth" select="$graphwidth" />  | 
				
			||||
<xsl:with-param name="barHeight" select="$graphheight" /> | 
				
			||||
<xsl:with-param name="barClass" select="'chartBar'" /> | 
				
			||||
<xsl:with-param name="barValue" select="number($feldwertOhneGesamt)" /> | 
				
			||||
<xsl:with-param name="barMaxValue" select="$gesamt" /> | 
				
			||||
<xsl:with-param name="barLabel" select="number($feldwertOhneGesamt)"  /> | 
				
			||||
<xsl:with-param name="barLabelClass" select="'chartLabel'" /> | 
				
			||||
<xsl:with-param name="x" select="($graphwidth - ($graphwidth * (number($feldwertOhneGesamt) div $gesamt)))" /> | 
				
			||||
<xsl:with-param name="y" select="0" /> | 
				
			||||
</xsl:call-template> | 
				
			||||
 | 
				
			||||
</xsl:when> | 
				
			||||
 | 
				
			||||
<xsl:when test="starts-with($feldname,'_graphbarxseries')"> | 
				
			||||
<xsl:variable name="feldwertPlusDelim"> | 
				
			||||
<xsl:value-of select="concat($feldwertOhneGesamt,',')"/> | 
				
			||||
</xsl:variable> | 
				
			||||
 | 
				
			||||
<xsl:call-template name="chartBarXSeries"> | 
				
			||||
<xsl:with-param name="graphwidth" select="$graphwidth" />  | 
				
			||||
<xsl:with-param name="barHeight" select="$graphheight" /> | 
				
			||||
<xsl:with-param name="ordnr" select="1" /> | 
				
			||||
<xsl:with-param name="offset" select="0" /> | 
				
			||||
<xsl:with-param name="feldwertSubString" select="$feldwertPlusDelim"/> | 
				
			||||
<xsl:with-param name="gesamt" select="$gesamt"/> | 
				
			||||
</xsl:call-template> | 
				
			||||
</xsl:when> | 
				
			||||
 | 
				
			||||
<xsl:when test="starts-with($feldname,'_graphbarwithlabel')" > | 
				
			||||
<xsl:call-template name="drawBar"> | 
				
			||||
<xsl:with-param name="maxwidth" select="$graphwidth" />  | 
				
			||||
<xsl:with-param name="barHeight" select="19" /> | 
				
			||||
<xsl:with-param name="barClass" select="'chartBar'" /> | 
				
			||||
<xsl:with-param name="barValue" select="number($feldwertOhneGesamt)" /> | 
				
			||||
<xsl:with-param name="barMaxValue" select="$gesamt" /> | 
				
			||||
<xsl:with-param name="barLabel" select="number($feldwertOhneGesamt)"  /> | 
				
			||||
<xsl:with-param name="barLabelClass" select="'chartLabel'" /> | 
				
			||||
<xsl:with-param name="showLabel" select="'true'" /> | 
				
			||||
</xsl:call-template> | 
				
			||||
 | 
				
			||||
</xsl:when> | 
				
			||||
 | 
				
			||||
<xsl:otherwise><!-- default: Balken linksbündig--> | 
				
			||||
 | 
				
			||||
<xsl:call-template name="drawBar"> | 
				
			||||
<xsl:with-param name="maxwidth" select="$graphwidth" />  | 
				
			||||
<xsl:with-param name="barHeight" select="19" /> | 
				
			||||
<xsl:with-param name="barClass" select="'chartBar'" /> | 
				
			||||
<xsl:with-param name="barValue" select="number($feldwertOhneGesamt)" /> | 
				
			||||
<xsl:with-param name="barMaxValue" select="$gesamt" /> | 
				
			||||
<xsl:with-param name="barLabel" select="number($feldwertOhneGesamt)"  /> | 
				
			||||
<xsl:with-param name="barLabelClass" select="'chartLabel'" /> | 
				
			||||
</xsl:call-template> | 
				
			||||
 | 
				
			||||
</xsl:otherwise> | 
				
			||||
</xsl:choose> | 
				
			||||
 | 
				
			||||
</g> | 
				
			||||
</svg> | 
				
			||||
</xsl:if> | 
				
			||||
</xsl:template> | 
				
			||||
<xsl:template name="chartBarXSeries"> | 
				
			||||
<xsl:param name="graphwidth" select="100" />  | 
				
			||||
<xsl:param name="barHeight" select="19" /> | 
				
			||||
<xsl:param name="ordnr" select="1" /> | 
				
			||||
<xsl:param name="offset" select="0" /> | 
				
			||||
<xsl:param name="feldwertSubString" /> | 
				
			||||
<xsl:param name="gesamt" select="100"/> | 
				
			||||
 | 
				
			||||
<xsl:variable name="feldwertNumeric"> | 
				
			||||
<xsl:value-of select="number(substring-before($feldwertSubString,','))"/> | 
				
			||||
</xsl:variable> | 
				
			||||
 | 
				
			||||
<xsl:call-template name="drawBar"> | 
				
			||||
<xsl:with-param name="maxwidth" select="$graphwidth" />  | 
				
			||||
<xsl:with-param name="barHeight" select="$barHeight" /> | 
				
			||||
<xsl:with-param name="barClass" select="concat('chartBarSeries',$ordnr)" /> | 
				
			||||
<xsl:with-param name="barValue" select="$feldwertNumeric" /> | 
				
			||||
<xsl:with-param name="barMaxValue" select="$gesamt" /> | 
				
			||||
<xsl:with-param name="barLabel" select="$feldwertNumeric"  /> | 
				
			||||
<xsl:with-param name="barLabelClass" select="concat('chartLabelSeries',$ordnr)" /> | 
				
			||||
<xsl:with-param name="x" select="$offset" /> | 
				
			||||
<xsl:with-param name="y" select="0" /> | 
				
			||||
</xsl:call-template> | 
				
			||||
 | 
				
			||||
 | 
				
			||||
<xsl:if test="contains(substring-after($feldwertSubString,','),',')"> | 
				
			||||
<xsl:call-template name="chartBarXSeries"> | 
				
			||||
<xsl:with-param name="graphwidth" select="$graphwidth" />  | 
				
			||||
<xsl:with-param name="barHeight" select="$barHeight" /> | 
				
			||||
<xsl:with-param name="ordnr" select="$ordnr + 1" /> | 
				
			||||
<xsl:with-param name="offset" select="$offset + ($graphwidth * ($feldwertNumeric div $gesamt))" /> | 
				
			||||
<xsl:with-param name="feldwertSubString" select="substring-after($feldwertSubString,',')"/> | 
				
			||||
</xsl:call-template> | 
				
			||||
</xsl:if> | 
				
			||||
</xsl:template> | 
				
			||||
<xsl:template name="drawBar"> | 
				
			||||
<xsl:param name="maxwidth" select="100" />  | 
				
			||||
<xsl:param name="barHeight" select="19" /> | 
				
			||||
<xsl:param name="barClass" select="'chartBar'" /> | 
				
			||||
<xsl:param name="barValue"  /> | 
				
			||||
<xsl:param name="barMaxValue"  /> | 
				
			||||
<xsl:param name="barLabel"  /> | 
				
			||||
<xsl:param name="barLabelClass" select="'chartLabel'" /> | 
				
			||||
<xsl:param name="x" select="0" /> | 
				
			||||
<xsl:param name="y" select="0" /> | 
				
			||||
<xsl:param name="showLabel" select="'false'" /> | 
				
			||||
<xsl:variable name="barWidth"> | 
				
			||||
<xsl:value-of select="$maxwidth * ($barValue div $barMaxValue)"/> | 
				
			||||
</xsl:variable> | 
				
			||||
 | 
				
			||||
<rect class="{$barClass}"  | 
				
			||||
width="{$barWidth}" height="{$barHeight}"  | 
				
			||||
x="{$x}" y="{$y}" | 
				
			||||
rx="5" ry="5"> | 
				
			||||
<title><xsl:value-of select="format-number($barLabel,'###.###.###.###.##0,00','German')"/></title></rect> | 
				
			||||
<xsl:if test="$showLabel='true' and $barWidth > 5 and $barLabel !=''">  | 
				
			||||
<text x="{$x + ($barWidth div 2)}" y="{$barHeight div 2}" class="{$barLabelClass}"  | 
				
			||||
dominant-baseline="middle" text-anchor="middle"> | 
				
			||||
<xsl:value-of select="format-number($barLabel,'###.###.###.###.##0','German')"/></text> | 
				
			||||
</xsl:if> | 
				
			||||
</xsl:template> | 
				
			||||
</xsl:stylesheet> | 
				
			||||
					Loading…
					
					
				
		Reference in new issue