<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <!-- | Transforms configuration values into constants for various languages. +--> <xsl:output encoding="utf-8" omit-xml-declaration="yes" method="text" /> <!-- | Sets the destination language for the constants. +--> <xsl:param name="language">javascript</xsl:param> <xsl:template match="//configuration"> <xsl:choose> <xsl:when test="$language = 'xsl'"> <xsl:call-template name="xsl-header" /> <xsl:text disable-output-escaping="yes"><![CDATA[<!-- ]]></xsl:text> <xsl:call-template name="comment" /> <xsl:text disable-output-escaping="yes"><![CDATA[ -->]]></xsl:text> <xsl:text>
</xsl:text> <xsl:apply-templates select="constant[contains(@languages,'xsl')]" mode="xsl" /> <xsl:call-template name="xsl-footer" /> </xsl:when> <xsl:when test="$language = 'php'"> <xsl:call-template name="php-header" /> <xsl:text>// </xsl:text><xsl:call-template name="comment" /> <xsl:text>
</xsl:text> <xsl:apply-templates select="constant[contains(@languages,'php')]" mode="php" /> <xsl:call-template name="php-footer" /> </xsl:when> <xsl:when test="$language = 'javascript'"> <xsl:text>// </xsl:text><xsl:call-template name="comment" /> <xsl:text>
</xsl:text> <xsl:apply-templates select="constant[contains(@languages,'javascript')]" mode="javascript" /> </xsl:when> </xsl:choose> </xsl:template> <xsl:template name="comment"> <xsl:text>Do not edit: constants generation script pulls from database.</xsl:text> </xsl:template> <xsl:template match="constant" mode="javascript"> <xsl:text>var </xsl:text> <xsl:value-of select="@name" /> <xsl:text> = </xsl:text> <xsl:apply-templates /><xsl:text>;
</xsl:text> </xsl:template> <xsl:template match="constant" mode="php"> <xsl:text>$</xsl:text><xsl:value-of select="@name" /> <xsl:text> = </xsl:text> <xsl:apply-templates /><xsl:text>;
</xsl:text> </xsl:template> <xsl:template match="constant" mode="xsl"> <xsl:text disable-output-escaping="yes"><![CDATA[<xsl:variable name="]]></xsl:text><xsl:value-of select="@name" /><xsl:text>"<![CDATA[>]]></xsl:text> <xsl:apply-templates mode="xsl" /> <xsl:text disable-output-escaping="yes"><![CDATA[</xsl:variable>]]></xsl:text> <xsl:text>
</xsl:text> </xsl:template> <xsl:template match="value" mode="xsl"> <xsl:value-of select="." /> </xsl:template> <xsl:template match="value[@type='string']"> <xsl:text>"</xsl:text><xsl:value-of select="." /><xsl:text>"</xsl:text> </xsl:template> <xsl:template match="value[@type='integer']"> <xsl:value-of select="." /> </xsl:template> <!-- | Generate the header for XSL files. +--> <xsl:template name="xsl-header"><![CDATA[<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> ]]> </xsl:template> <!-- | Generate the footer for XSL files. +--> <xsl:template name="xsl-footer"><![CDATA[</xsl:stylesheet>]]></xsl:template> <!-- | Generate the header for PHP files. +--> <xsl:template name="php-header"><![CDATA[<?php ]]></xsl:template> <!-- | Generate the footer for PHP files. +--> <xsl:template name="php-footer"><![CDATA[?>]]></xsl:template> <xsl:template match="*" /> <xsl:strip-space elements="*" /> </xsl:stylesheet>