diff artifacts/contrib/list-unused-macros.xsl @ 5987:e5e2b0630855

Datacage: Added stylesheet to detect macros which are defined and not called and vice versa. Usage: xsltproc contrib/list-unused-macros.xsl doc/conf/meta-data.xml
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 12 May 2013 16:15:37 +0200
parents
children 9543b768d740
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/artifacts/contrib/list-unused-macros.xsl	Sun May 12 16:15:37 2013 +0200
@@ -0,0 +1,31 @@
+<?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