Commit 6bd11cc6 authored by Thomas B. Rücker's avatar Thomas B. Rücker 😊

Initial JSON status transform.

Output roughly limited to data also visible through status.xsl.

svn path=/icecast/trunk/icecast/; revision=19110
parent ddf3f171
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="xml2json.xslt.fail"/>
<xsl:output indent="no" omit-xml-declaration="yes" method="text" encoding="UTF-8" media-type="text/javascript"/>
<xsl:strip-space elements="*"/>
<!-- override imported transform variable to enable output -->
<xsl:variable name="output">true</xsl:variable>
<!-- hide certain nodes from all sources -->
<xsl:template match="icestats/source/source_ip" />
<xsl:template match="icestats/source/slow_listeners" />
<xsl:template match="icestats/source/public" />
<xsl:template match="icestats/source/*[contains(name(), 'total_bytes')]" />
<xsl:template match="icestats/source/user_agent" >
<!-- user_agent is most of the time the last node in a mount,
if we just delete it, then we will malform the output,
so special handling applies. -->
<xsl:if test="following-sibling::*"></xsl:if>
<xsl:if test="not(following-sibling::*)">"dummy":null}</xsl:if>
</xsl:template>
<!-- hide certain global nodes -->
<xsl:template match="icestats/sources" />
<xsl:template match="icestats/clients" />
<xsl:template match="icestats/stats" />
<xsl:template match="icestats/listeners" />
<xsl:template match="node()[contains(name(), 'connections')]" />
</xsl:stylesheet>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment