| 1 |
<?xml version="1.0" encoding="UTF-8"?> |
|---|
| 2 |
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:loop="http://informatik.hu-berlin.de/loop"> |
|---|
| 3 |
<xsl:output method="xml"/> |
|---|
| 4 |
|
|---|
| 5 |
<xsl:template match="/response"> |
|---|
| 6 |
<xsl:variable name="total_sqms_sold"> |
|---|
| 7 |
<xsl:value-of select="sum(contract/@sqm-count)"/> |
|---|
| 8 |
</xsl:variable> |
|---|
| 9 |
<graphData> |
|---|
| 10 |
<sets> |
|---|
| 11 |
<set title="Contracts" marker-type="none" color="#00ff00"> |
|---|
| 12 |
<xsl:for-each select="contract"> |
|---|
| 13 |
<measure> |
|---|
| 14 |
<xvalue><xsl:value-of select="@universal-time"/></xvalue> |
|---|
| 15 |
<yvalue><xsl:value-of select="@sqm-count + sum(preceding-sibling::*/@sqm-count)"/></yvalue> |
|---|
| 16 |
</measure> |
|---|
| 17 |
</xsl:for-each> |
|---|
| 18 |
</set> |
|---|
| 19 |
</sets> |
|---|
| 20 |
<minx><xsl:value-of select="/response/contract[1]/@universal-time"/></minx> |
|---|
| 21 |
<maxx><xsl:value-of select="/response/contract[last()]/@universal-time"/></maxx> |
|---|
| 22 |
<miny>0</miny> |
|---|
| 23 |
<maxy><xsl:value-of select="$total_sqms_sold"/></maxy> |
|---|
| 24 |
<title>Total square meters sold</title> |
|---|
| 25 |
<xvalues> |
|---|
| 26 |
<xsl:for-each select="/response/contract"> |
|---|
| 27 |
<xsl:choose> |
|---|
| 28 |
|
|---|
| 29 |
<xsl:when test="(substring(preceding-sibling::*[1]/@date-time, 5, 2) != substring(@date-time, 5, 2)) and (substring(@date-time, 5, 2) = '01')"> |
|---|
| 30 |
<xvalue> |
|---|
| 31 |
<value><xsl:value-of select="@universal-time"/></value> |
|---|
| 32 |
<label>Q1/<xsl:value-of select="substring(@date-time, 1, 4)"/></label> |
|---|
| 33 |
<gridline>true</gridline> |
|---|
| 34 |
</xvalue> |
|---|
| 35 |
</xsl:when> |
|---|
| 36 |
|
|---|
| 37 |
<xsl:when test="(substring(preceding-sibling::*[1]/@date-time, 5, 2) != substring(@date-time, 5, 2)) and (substring(@date-time, 5, 2) = '04')"> |
|---|
| 38 |
<xvalue> |
|---|
| 39 |
<value><xsl:value-of select="@universal-time"/></value> |
|---|
| 40 |
<label>Q2/<xsl:value-of select="substring(@date-time, 1, 4)"/></label> |
|---|
| 41 |
<gridline>true</gridline> |
|---|
| 42 |
</xvalue> |
|---|
| 43 |
</xsl:when> |
|---|
| 44 |
|
|---|
| 45 |
<xsl:when test="(substring(preceding-sibling::*[1]/@date-time, 5, 2) != substring(@date-time, 5, 2)) and (substring(@date-time, 5, 2) = '07')"> |
|---|
| 46 |
<xvalue> |
|---|
| 47 |
<value><xsl:value-of select="@universal-time"/></value> |
|---|
| 48 |
<label>Q3/<xsl:value-of select="substring(@date-time, 1, 4)"/></label> |
|---|
| 49 |
<gridline>true</gridline> |
|---|
| 50 |
</xvalue> |
|---|
| 51 |
</xsl:when> |
|---|
| 52 |
|
|---|
| 53 |
<xsl:when test="(substring(preceding-sibling::*[1]/@date-time, 5, 2) != substring(@date-time, 5, 2)) and (substring(@date-time, 5, 2) = '10')"> |
|---|
| 54 |
<xvalue> |
|---|
| 55 |
<value><xsl:value-of select="@universal-time"/></value> |
|---|
| 56 |
<label>Q4/<xsl:value-of select="substring(@date-time, 1, 4)"/></label> |
|---|
| 57 |
<gridline>true</gridline> |
|---|
| 58 |
</xvalue> |
|---|
| 59 |
</xsl:when> |
|---|
| 60 |
|
|---|
| 61 |
</xsl:choose> |
|---|
| 62 |
</xsl:for-each> |
|---|
| 63 |
</xvalues> |
|---|
| 64 |
<yvalues> |
|---|
| 65 |
<loop:for name="i" from="10000" to="$total_sqms_sold" step="10000"> |
|---|
| 66 |
<yvalue> |
|---|
| 67 |
<value><xsl:value-of select="$i"/></value> |
|---|
| 68 |
<label><xsl:value-of select="$i"/></label> |
|---|
| 69 |
<gridline>true</gridline> |
|---|
| 70 |
</yvalue> |
|---|
| 71 |
</loop:for> |
|---|
| 72 |
</yvalues> |
|---|
| 73 |
</graphData> |
|---|
| 74 |
</xsl:template> |
|---|
| 75 |
</xsl:stylesheet> |
|---|