<?xml version="1.0" encoding="utf-8"?>\r
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">\r
<!-- ********************************************************************\r
- * $Id: 0.1 postgis_gardentest.sql.xsl 3377 2008-12-11 15:56:18Z robe $\r
+ * $Id$\r
********************************************************************\r
Copyright 2008, Regina Obe\r
License: BSD\r
<xsl:template match='/chapter'>\r
<!-- Pull out the purpose section for each ref entry and strip whitespace and put in a variable to be tagged unto each function comment -->\r
<xsl:for-each select='sect1/refentry'>\r
+ <xsl:sort select="@id"/>\r
<!-- For each function prototype generate a test sql statement\r
Test functions that take no arguments -->\r
<xsl:for-each select="refsynopsisdiv/funcsynopsis/funcprototype">\r
<xsl:if test="count(paramdef/parameter) = 0">SELECT <xsl:value-of select="funcdef/function" />();\r
</xsl:if>\r
+<!--Start Test aggregate functions \r
+ TODO: Make this section less verbose -->\r
+<!--Point Aggregate/geom accessor test -->\r
+<xsl:if test="contains(paramdef/type,'geometry set') or (count(paramdef/parameter) = 1 and contains(paramdef/type, 'geometry'))">\r
+<!-- If output is geometry show ewkt rep -->\r
+ <xsl:choose>\r
+ <xsl:when test="contains(funcdef/function, 'geometry')">\r
+ SELECT ST_AsEWKT(<xsl:value-of select="funcdef/function" />(the_geom)),\r
+ ST_AsEWKT(<xsl:value-of select="funcdef/function" />(ST_Multi(the_geom)))\r
+ </xsl:when>\r
+ <xsl:otherwise>\r
+ SELECT <xsl:value-of select="funcdef/function" />(the_geom),\r
+ <xsl:value-of select="funcdef/function" />(ST_Multi(the_geom))\r
+ </xsl:otherwise>\r
+ </xsl:choose>\r
+ FROM (SELECT ST_Point(i,j) As the_geom \r
+ FROM generate_series(-60,50,5) As i \r
+ CROSS JOIN generate_series(40,70, 5) j) As foo; \r
+</xsl:if>\r
+<!--Multi/Line Aggregate/accessor test -->\r
+<xsl:if test="contains(paramdef/type,'geometry set') or (count(paramdef/parameter) = 1 and contains(paramdef/type, 'geometry'))">\r
+ <xsl:choose>\r
+ <xsl:when test="contains(funcdef/function, 'geometry')">\r
+SELECT ST_AsEWKT(<xsl:value-of select="funcdef/function" />(the_geom)),\r
+ ST_AsEWKT(<xsl:value-of select="funcdef/function" />(ST_Multi(the_geom)))\r
+ </xsl:when>\r
+ <xsl:otherwise>\r
+ SELECT <xsl:value-of select="funcdef/function" />(the_geom),\r
+ <xsl:value-of select="funcdef/function" />(ST_Multi(the_geom))\r
+ </xsl:otherwise>\r
+ </xsl:choose>\r
+ FROM (SELECT ST_MakeLine(ST_Point(i,j),ST_Point(j,i)) As the_geom \r
+ FROM generate_series(-60,50,5) As i \r
+ CROSS JOIN generate_series(40,70, 5) j) As foo; \r
+</xsl:if>\r
+<!--Multi/Polygon Aggregate/accessor test -->\r
+<xsl:if test="contains(paramdef/type,'geometry set') or (count(paramdef/parameter) = 1 and contains(paramdef/type, 'geometry'))">\r
+<!-- If output is geometry show ewkt rep -->\r
+ <xsl:choose>\r
+ <xsl:when test="contains(funcdef/function, 'geometry')">\r
+ SELECT ST_AsEWKT(<xsl:value-of select="funcdef/function" />(the_geom)),\r
+ ST_AsEWKT(<xsl:value-of select="funcdef/function" />(ST_Multi(the_geom)))\r
+ </xsl:when>\r
+ <xsl:otherwise>\r
+ SELECT <xsl:value-of select="funcdef/function" />(the_geom),\r
+ <xsl:value-of select="funcdef/function" />(ST_Multi(the_geom))\r
+ </xsl:otherwise>\r
+ </xsl:choose>\r
+ FROM (SELECT ST_Buffer(ST_Point(i,j), j) As the_geom \r
+ FROM generate_series(-60,50,5) As i \r
+ CROSS JOIN generate_series(40,70, 5) j) As foo; \r
+</xsl:if>\r
+<!--End Test aggregate functions -->\r
</xsl:for-each>\r
</xsl:for-each>\r
</xsl:template>\r