Your IP : 3.146.35.49
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:mgr="http://ispsystem.com/xslplugin"><xsl:output method="xml" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/><xsl:variable name="meta" select="/doc/metadata"/><xsl:variable name="messages" select="/doc/messages"/><xsl:variable name="msg" select="/doc/messages"/><xsl:variable name="host" select="/doc/@host"/><xsl:variable name="binary" select="/doc/@binary"/><xsl:key name="msg" match="/doc/messages/msg" use="@name"/><xsl:strip-space elements="*"/><xsl:template match="/">{ "bands" : [<xsl:apply-templates select="$meta/band"><xsl:with-param name="pelem" select="/doc/reportdata"/></xsl:apply-templates><!--if doesn't has data generate sample chart--><xsl:if test="count(/doc/reportdata/*) = 0"><xsl:variable name="diagram" select="$meta/band//diagram"/><xsl:choose><xsl:when test="$diagram/@type='pie'">{ "empty": true,"bigTitle" : "Title","id" : "idp1455344","diagram" : [ { "type" : "pie","label" : "name","labelText" : ["<xsl:value-of select="key('msg', diagram/@data)"/>"],"chartsData" : {"data" : [["", "" ],[ "data 1","6"],[ "data 2","3"]],"label" : ""},"labels" : ["first", "second"]}]},</xsl:when><xsl:when test="$diagram/@type='line'">{ "empty": true,"bigTitle" : "Title","id" : "idm1074366576","diagram" : [ { "type" : "line","label" : "time","labelText" : ["data 1"],"chartsData" : {"data" : [["fake","data 1"],["2014-09-02 18:00:00","1.2906%"],["2014-09-02 19:00:00","1.1701%"],["2014-09-02 20:00:00","1.1242%"],["2014-09-02 21:00:00","1.2829%"],["2014-09-02 22:00:00","1.2925%"],["2014-09-02 23:00:00","1.1427%"],["2014-09-03 00:00:00","1.5728%"],["2014-09-03 01:00:00","1.3758%"],["2014-09-03 02:00:00","1.1241%"],["2014-09-03 03:00:00","1.3246%"],["2014-09-03 04:00:00","1.5561%"],["2014-09-03 05:00:00","1.4383%"],["2014-09-03 06:00:00","1.3893%"],["2014-09-03 07:00:00","1.4247%"],["2014-09-03 08:00:00","1.1779%"],["2014-09-03 09:00:00","1.4457%"],["2014-09-03 10:00:00","1.4933%"],["2014-09-03 11:00:00","2.3917%"],["2014-09-03 12:00:00","2.3069%"],["2014-09-03 13:00:00","2.5514%"],["2014-09-03 14:00:00","1.5654%"],["2014-09-03 15:00:00","1.6329%"],["2014-09-03 16:00:00","1.7005%"]],"label" : ""},"labels" : ["2014-09-02 18:00:00","2014-09-02 19:00:00","2014-09-02 20:00:00","2014-09-02 21:00:00","2014-09-02 22:00:00","2014-09-02 23:00:00","2014-09-03 00:00:00","2014-09-03 01:00:00","2014-09-03 02:00:00","2014-09-03 03:00:00","2014-09-03 04:00:00","2014-09-03 05:00:00","2014-09-03 06:00:00","2014-09-03 07:00:00","2014-09-03 08:00:00","2014-09-03 09:00:00","2014-09-03 10:00:00","2014-09-03 11:00:00","2014-09-03 12:00:00","2014-09-03 13:00:00","2014-09-03 14:00:00","2014-09-03 15:00:00","2014-09-03 16:00:00"]}]},</xsl:when><xsl:when test="$diagram/@type='histogram'">{ "empty" : true,"bigTitle" : "Title","id" : "idm1074366576","diagram": [{ "type": "histogram","label": "username","labelText": ["sample"],"chartsData" : {"data" : [["fake","data 1"],["data 2","75"],["data 3","25"]]}}]},</xsl:when></xsl:choose></xsl:if>{}],"type" : "report"}</xsl:template><xsl:template match="band"><xsl:param name="pelem"/><xsl:param name="title"/><xsl:variable name="band" select="."/><xsl:variable name="bandname" select="@name"/><xsl:choose><!-- showtype TITLE --><xsl:when test="count($band/col) = 1"><xsl:for-each select="$pelem/*[local-name()=$bandname]/*"><xsl:variable name="celem" select="."/><xsl:variable name="big_title"><xsl:for-each select="$band/col"><xsl:if test="position() != 1"><xsl:text> - </xsl:text></xsl:if><xsl:value-of select="$celem/*[local-name()=current()/@name]"/></xsl:for-each></xsl:variable><xsl:for-each select="$band/band"><xsl:apply-templates select="."><xsl:with-param name="pelem" select="$celem"/><xsl:with-param name="title" select="$big_title"/></xsl:apply-templates></xsl:for-each></xsl:for-each></xsl:when><!-- showtype TABLE --><xsl:when test="$band/col"><xsl:variable name="mainid" select="generate-id($pelem)"/>{"bigTitle" : "<xsl:value-of select="$title"/>"<xsl:if test="$band/preceding-sibling::*[@link='yes']"><xsl:variable select="$band/preceding-sibling::*[@link='yes']/@name" name="elem"/>,"smallTitle" : "<xsl:value-of select="$pelem/*[local-name()=$elem]"/>"</xsl:if>,"id" : "<xsl:value-of select="$mainid"/>","diagram" : [ <xsl:for-each select="$band/diagram">{ "type" : "<xsl:value-of select="$band/diagram/@type"/>","title": <xsl:choose><xsl:when test="@title">"<xsl:value-of select="mgr:fixquote(key('msg', @name))"/>"</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose>,"min": "<xsl:value-of select="$band/diagram/@min"/>","max": "<xsl:value-of select="$band/diagram/@max"/>","label" : "<xsl:value-of select="$band/diagram/@label"/>","colors": [""<xsl:for-each select="line"><xsl:if test="@color">,"<xsl:value-of select="mgr:fixquote(@color)"/>"</xsl:if></xsl:for-each>],"others": <xsl:choose><xsl:when test="@others"><xsl:value-of select="@others"/></xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose><xsl:choose><xsl:when test="$band/diagram/@data">,"labelText" : ["<xsl:value-of select="key('msg', $band/diagram/@data)"/>"]</xsl:when><xsl:when test="$band/diagram/line/@data">,"labelText" : [<xsl:for-each select="line">"<xsl:value-of select="key('msg', @data)"/>"<xsl:if test="position() != last()">, </xsl:if></xsl:for-each>]<xsl:if test="count(line) != 1">,"lines" : true</xsl:if></xsl:when></xsl:choose><xsl:variable name="col-label" select="$band/diagram/@label"/><xsl:choose><xsl:when test="$band/diagram/@data"><xsl:variable name="col-data"><xsl:value-of select="$band/diagram/@data"/></xsl:variable>,"chartsData" : {"data" : [<xsl:choose><xsl:when test="$band/diagram/@type = 'pie'">["<xsl:value-of select="$messages/msg[@name = $band/diagram/@label]"/>", "<xsl:value-of select="$messages/msg[@name = $band/diagram/@data]"/>" ]</xsl:when><xsl:otherwise></xsl:otherwise></xsl:choose><xsl:for-each select="$pelem/*[local-name()=$bandname]"><xsl:for-each select="./elem"><xsl:variable name="label"><xsl:choose><xsl:when test="*[local-name() = $col-label] != ''">"<xsl:value-of select="*[local-name() = $col-label]"/>"</xsl:when><xsl:otherwise>"0"</xsl:otherwise></xsl:choose></xsl:variable><xsl:variable name="value"><xsl:choose><xsl:when test="*[local-name() = $col-data]/@orig"><xsl:value-of select="*[local-name() = $col-data]/@orig"/></xsl:when><xsl:when test="*[local-name() = $col-data] != ''"><xsl:value-of select="*[local-name() = $col-data]"/></xsl:when><xsl:otherwise>0</xsl:otherwise></xsl:choose></xsl:variable><xsl:if test="position() = 1">, </xsl:if>[ <xsl:value-of select="$label"/>,"<xsl:value-of select="$value"/>"]<xsl:if test="position() != last()">, </xsl:if></xsl:for-each></xsl:for-each>],"label" : "<xsl:value-of select="$messages/msg[@name = $band/diagram/@data]"/>"}</xsl:when><xsl:when test="$band/diagram/line/@data">,"chartsData" : {<xsl:variable select="count($band/col[@convert])" name="converted"/><xsl:if test="$converted > 0">"fakeArr": ["fake",<xsl:for-each select="$band/diagram/line">"<xsl:value-of select="$messages/msg[@name = current()/@data]"/>"<xsl:if test="$band/col[@name = current()/@data]/@convert">,null</xsl:if><xsl:if test="position() != last()">,</xsl:if></xsl:for-each>],</xsl:if>"data" : [<xsl:if test="$converted = 0">["fake",<xsl:for-each select="$band/diagram/line">"<xsl:value-of select="$messages/msg[@name = current()/@data]"/>"<xsl:if test="position() != last()">,</xsl:if></xsl:for-each>]</xsl:if><xsl:for-each select="$pelem/*[local-name()=$bandname]"><xsl:for-each select="./elem"><xsl:variable select="." name="elem"/><xsl:if test="position() = 1 and $converted = 0">, </xsl:if>[<xsl:choose><xsl:when test="*[local-name() = $col-label] != ''">"<xsl:value-of select="*[local-name() = $col-label]"/>"</xsl:when><xsl:otherwise>"0"</xsl:otherwise></xsl:choose>,<xsl:for-each select="$band/diagram/line"><xsl:variable name="col-data"><xsl:value-of select="@data"/></xsl:variable><xsl:variable name="value"><xsl:choose><xsl:when test="$elem/*[local-name() = $col-data] != ''"><xsl:value-of select="$elem/*[local-name() = $col-data]"/></xsl:when><xsl:otherwise>0</xsl:otherwise></xsl:choose></xsl:variable><!--check for convert --><xsl:choose><xsl:when test="$band/col[@name = current()/@data]/@convert"><xsl:choose><xsl:when test="$elem/*[local-name() = $col-data]/@orig"><xsl:value-of select="$elem/*[local-name() = $col-data]/@orig"/>,"<xsl:value-of select="$value"/>"</xsl:when><xsl:otherwise><xsl:value-of select="$value"/>,"<xsl:value-of select="$value"/>"</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise>"<xsl:value-of select="$value"/>"</xsl:otherwise></xsl:choose><!--<xsl:choose><xsl:when test="$elem/*[local-name() = $col-data]/@orig"><xsl:value-of select="$elem/*[local-name() = $col-data]/@orig"/></xsl:when><xsl:when test="$elem/*[local-name() = $col-data] != ''">"<xsl:value-of select="$elem/*[local-name() = $col-data]"/>"</xsl:when><xsl:otherwise>0</xsl:otherwise></xsl:choose>--><xsl:if test="position() != last()">,</xsl:if></xsl:for-each>]<xsl:if test="position() != last()">, </xsl:if></xsl:for-each></xsl:for-each>],"label" : "<xsl:value-of select="$messages/msg[@name = $band/diagram/@data]"/>"}</xsl:when></xsl:choose>,"labels" : [<xsl:for-each select="$pelem/*[local-name()=$bandname]"><xsl:for-each select="./elem"><xsl:variable name="value" select="*[local-name() = $col-label]"/><xsl:choose><xsl:when test="$value != ''">"<xsl:value-of select="$value"/>"</xsl:when><xsl:otherwise>"0"</xsl:otherwise></xsl:choose><xsl:if test="position() != last()">, </xsl:if></xsl:for-each></xsl:for-each>]}<xsl:if test="position() != last()">,</xsl:if></xsl:for-each>]},<xsl:for-each select="$pelem/*[local-name()=$bandname]/elem"><xsl:variable name="celem" select="."/><xsl:for-each select="$band/band"><xsl:apply-templates select="."><xsl:with-param name="pelem" select="$celem"/><xsl:with-param name="title"/></xsl:apply-templates></xsl:for-each></xsl:for-each></xsl:when><!-- showtype NONE --><xsl:otherwise><xsl:for-each select="$pelem/*[local-name()=$bandname]"><xsl:variable name="celem" select="."/><xsl:for-each select="$band/band"><xsl:apply-templates select="."><xsl:with-param name="pelem" select="$celem"/><xsl:with-param name="title"/></xsl:apply-templates></xsl:for-each></xsl:for-each></xsl:otherwise></xsl:choose></xsl:template></xsl:stylesheet>