view artifacts/contrib/list-unused-macros.xsl @ 6087:47775e3a8cf6

Datacage: Introduced <dc:virtual-column name="colname" type="type" expr="XPath"> dc:virtual-column can be used to virtual add or replace a column named 'colname' to the current result set. The value is determined by evaluating "XPath", the type is determined by "type" (possible values: number, bool, node, nodeset, string. defaults to string). Usage: <dc:virtual-column name="c" type="number" expr="$a+$b"> <dc:for-each> <dc:message>{$a} + {$b} = {$c}</dc:message> </dc:for-each> </dc:virtual-column> table a | b --+-- 1 | 2 3 | 4 will result in: 1 + 2 = 3 3 + 4 = 7
author Sascha L. Teichmann <teichmann@intevation.de>
date Fri, 24 May 2013 12:19:25 +0200
parents e5e2b0630855
children 9543b768d740
line wrap: on
line source
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:dc="http://www.intevation.org/2011/Datacage"
  version="1.0">

  <xsl:output method="text" encoding="UTF-8"/>

  <xsl:template match="/">
    <xsl:text>Marcos defined but not called:&#xa;</xsl:text>
    <xsl:for-each select="//dc:macro/@name">
      <xsl:variable name="mname" select="."/>
      <xsl:if test="count(//dc:call-macro[@name=$mname]) = 0">
        <xsl:text>  </xsl:text>
        <xsl:value-of select="$mname"/>
        <xsl:text>&#xa;</xsl:text>
      </xsl:if>
    </xsl:for-each>

    <xsl:text>Marcos called but not defined:&#xa;</xsl:text>
    <xsl:for-each select="//dc:call-macro/@name">
      <xsl:variable name="mname" select="."/>
      <xsl:if test="count(//dc:macro[@name=$mname]) = 0">
        <xsl:text>  </xsl:text>
        <xsl:value-of select="$mname"/>
        <xsl:text>&#xa;</xsl:text>
      </xsl:if>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>

http://dive4elements.wald.intevation.org