[postgis-tickets] r15502 - Put in safeguards around availability, changes, enhances so if no match, then doesn't break xml and latex validation
Regina Obe
lr at pcorp.us
Sun Jul 23 13:08:43 PDT 2017
Author: robe
Date: 2017-07-23 13:08:43 -0700 (Sun, 23 Jul 2017)
New Revision: 15502
Modified:
trunk/doc/xsl/postgis_aggs_mm.xml.xsl
Log:
Put in safeguards around availability, changes, enhances so if no match, then doesn't break xml and latex validation
Modified: trunk/doc/xsl/postgis_aggs_mm.xml.xsl
===================================================================
--- trunk/doc/xsl/postgis_aggs_mm.xml.xsl 2017-07-23 18:33:40 UTC (rev 15501)
+++ trunk/doc/xsl/postgis_aggs_mm.xml.xsl 2017-07-23 20:08:43 UTC (rev 15502)
@@ -44,7 +44,7 @@
</xsl:for-each>
</itemizedlist>
</sect1>
-
+
<sect1 id="PostGIS_Window_Functions">
<title>PostGIS Window Functions</title>
<para>The functions given below are spatial window functions provided with PostGIS that can be used just like any other sql window function such as row_numer(), lead(), lag(). All these require an SQL OVER() clause.</para>
@@ -109,7 +109,7 @@
<sect1 id="PostGIS_GeographyFunctions">
<title>PostGIS Geography Support Functions</title>
<para>The functions and operators given below are PostGIS functions/operators that take as input or return as output a <link linkend="PostGIS_Geography">geography</link> data type object.</para>
- <note><para>Functions with a (T) are not native geodetic functions, and use a ST_Transform call to and from geometry to do the operation. As a result, they may not behave as expected when going over dateline, poles,
+ <note><para>Functions with a (T) are not native geodetic functions, and use a ST_Transform call to and from geometry to do the operation. As a result, they may not behave as expected when going over dateline, poles,
and for large geometries or geometry pairs that cover more than one UTM zone. Basic transform - (favoring UTM, Lambert Azimuthal (North/South), and falling back on mercator in worst case scenario)</para></note>
<itemizedlist>
<!-- Pull out the purpose section for each ref entry and strip whitespace and put in a variable to be tagged unto each function comment -->
@@ -162,8 +162,8 @@
</xsl:for-each>
</itemizedlist>
</sect1>
-
-
+
+
<sect1 id="PostGIS_Geometry_DumpFunctions">
<title>PostGIS Geometry / Geography / Raster Dump Functions</title>
<para>The functions given below are PostGIS functions that take as input or return as output a set of or single <link linkend="geometry_dump">geometry_dump</link> or <link linkend="geomval">geomval</link> data type object.</para>
@@ -190,7 +190,7 @@
</xsl:for-each>
</itemizedlist>
</sect1>
-
+
<sect1 id="PostGIS_BoxFunctions">
<title>PostGIS Box Functions</title>
<para>The functions given below are PostGIS functions that take as input or return as output the box* family of PostGIS spatial types.
@@ -277,7 +277,7 @@
</xsl:for-each>
</itemizedlist>
</sect1>
-
+
<sect1 id="PostGIS_PS_GeometryFunctions">
<title>PostGIS Polyhedral Surface Support Functions</title>
<para>The functions given below are PostGIS functions that can use POLYHEDRALSURFACE, POLYHEDRALSURFACEM geometries</para>
@@ -315,14 +315,14 @@
<xsl:variable name='matrix_autocast'><![CDATA[<inlinemediaobject><imageobject><imagedata fileref='images/matrix_autocast.png' /></imageobject></inlinemediaobject>]]></xsl:variable>
<xsl:variable name='matrix_sfcgal_required'><![CDATA[<inlinemediaobject><imageobject><imagedata fileref='images/matrix_sfcgal_required.png' /></imageobject></inlinemediaobject>]]></xsl:variable>
<xsl:variable name='matrix_sfcgal_enhanced'><![CDATA[<inlinemediaobject><imageobject><imagedata fileref='images/matrix_sfcgal_enhanced.png' /></imageobject></inlinemediaobject>]]></xsl:variable>
-
+
<title>PostGIS Function Support Matrix</title>
<para>Below is an alphabetical listing of spatial specific functions in PostGIS and the kinds of spatial
types they work with or OGC/SQL compliance they try to conform to.</para>
<para><itemizedlist>
<listitem><simpara>A <xsl:value-of select="$matrix_checkmark" disable-output-escaping="yes"/> means the function works with the type or subtype natively.</simpara></listitem>
- <listitem><simpara>A <xsl:value-of select="$matrix_transform" disable-output-escaping="yes"/> means it works but with a transform cast built-in using cast to geometry, transform to a "best srid" spatial ref and then cast back. Results may not be as expected for large areas or areas at poles
+ <listitem><simpara>A <xsl:value-of select="$matrix_transform" disable-output-escaping="yes"/> means it works but with a transform cast built-in using cast to geometry, transform to a "best srid" spatial ref and then cast back. Results may not be as expected for large areas or areas at poles
and may accumulate floating point junk.</simpara></listitem>
<listitem><simpara>A <xsl:value-of select="$matrix_autocast" disable-output-escaping="yes"/> means the function works with the type because of a auto-cast to another such as to box3d rather than direct type support.</simpara></listitem>
<listitem><simpara>A <xsl:value-of select="$matrix_sfcgal_required" disable-output-escaping="yes"/> means the function only available if PostGIS compiled with SFCGAL support.</simpara></listitem>
@@ -334,7 +334,7 @@
<listitem><simpara>T - Triangles and Triangulated Irregular Network surfaces (TIN)</simpara></listitem>
</itemizedlist>
</para>
-
+
<para>
<informaltable frame='all'>
<tgroup cols='8' align='left' colsep='1' rowsep='1'>
@@ -372,7 +372,7 @@
<xsl:variable name="refname">
<xsl:value-of select="refnamediv/refname" />
</xsl:variable>
-
+
<row>
<!-- Display name of function and link to it -->
<entry><link linkend="{$refid}"><xsl:value-of select="$refname" /></link></entry>
@@ -406,7 +406,7 @@
<entry></entry>
</xsl:otherwise>
</xsl:choose>
-
+
<!-- If at least one paragraph contains support 3d -->
<xsl:choose>
<!-- supports -->
@@ -431,7 +431,7 @@
<xsl:otherwise>
<entry></entry>
</xsl:otherwise>
- </xsl:choose>
+ </xsl:choose>
<!-- SQL MM compliance -->
<xsl:choose>
<!-- supports -->
@@ -475,7 +475,7 @@
</xsl:for-each>
</tbody>
</tgroup>
- </informaltable>
+ </informaltable>
</para>
</sect1>
@@ -485,6 +485,7 @@
<sect2 id="NewFunctions_2_4">
<title>PostGIS Functions new or enhanced in 2.4</title>
<para>The functions given below are PostGIS functions that were added or enhanced.</para>
+ <xsl:if test="//para[contains(text(),'Availability: 2.4')]">
<para>Functions new in PostGIS 2.4</para>
<itemizedlist>
<!-- Pull out the purpose section for each ref entry and strip whitespace and put in a variable to be tagged unto each function comment -->
@@ -496,12 +497,12 @@
<xsl:variable name="refid">
<xsl:value-of select="@id" />
</xsl:variable>
-
+
<xsl:variable name="refname">
<xsl:value-of select="refnamediv/refname" />
</xsl:variable>
-
-
+
+
<!-- For each section if there is note about availability in this version -->
<xsl:for-each select="refsection">
<xsl:for-each select="para | */para">
@@ -514,11 +515,12 @@
</xsl:for-each>
</xsl:for-each>
</itemizedlist>
-
+ </xsl:if>
+
<para>TODO: Enhance some functions in 2.4 so this space isn't empty.</para>
-
+
</sect2>
-
+
<sect2 id="NewFunctions_2_3">
<title>PostGIS Functions new or enhanced in 2.3</title>
<para>The functions given below are PostGIS functions that were added or enhanced.</para>
@@ -526,6 +528,7 @@
<note><para>PostGIS 2.3.0: PostGIS extension, all functions schema qualified to reduce issues in database restore.</para></note>
<note><para>PostGIS 2.3.0: PostgreSQL 9.4+ support for BRIN indexes. Refer to <xref linkend="brin_indexes" />.</para></note>
<note><para>PostGIS 2.3.0: Tiger Geocoder upgraded to work with TIGER 2016 data.</para></note>
+ <xsl:if test="//para[contains(text(),'Availability: 2.3')]">
<para>Functions new in PostGIS 2.3</para>
<itemizedlist>
<!-- Pull out the purpose section for each ref entry and strip whitespace and put in a variable to be tagged unto each function comment -->
@@ -537,12 +540,12 @@
<xsl:variable name="refid">
<xsl:value-of select="@id" />
</xsl:variable>
-
+
<xsl:variable name="refname">
<xsl:value-of select="refnamediv/refname" />
</xsl:variable>
-
-
+
+
<!-- For each section if there is note about availability in this version -->
<xsl:for-each select="refsection">
<xsl:for-each select="para | */para">
@@ -555,7 +558,9 @@
</xsl:for-each>
</xsl:for-each>
</itemizedlist>
-
+ </xsl:if>
+
+ <xsl:if test="//para[contains(text(),'Enhanced: 2.3')]">
<para>The functions given below are PostGIS functions that are enhanced in PostGIS 2.3.</para>
<itemizedlist>
<!-- Pull out the purpose section for each ref entry -->
@@ -564,7 +569,7 @@
<xsl:variable name="refid">
<xsl:value-of select="@id" />
</xsl:variable>
-
+
<xsl:variable name="refname">
<xsl:value-of select="refnamediv/refname" />
</xsl:variable>
@@ -579,18 +584,20 @@
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
- </itemizedlist>
+ </itemizedlist>
+ </xsl:if>
</sect2>
-
+
<sect2 id="NewFunctions_2_2">
<title>PostGIS Functions new or enhanced in 2.2</title>
<para>The functions given below are PostGIS functions that were added or enhanced.</para>
-
+
<note><para>postgis_sfcgal now can be installed as an extension using CREATE EXTENSION postgis_sfcgal;</para></note>
<note><para>PostGIS 2.2.0: Tiger Geocoder upgraded to work with TIGER 2015 data.</para></note>
<note><para>address_standardizer, address_standardizer_data_us extensions for standardizing address data refer to <xref linkend="Address_Standardizer" /> for details.</para></note>
<note><para>Many functions in topology rewritten as C functions for increased performance.</para></note>
+ <xsl:if test="//para[contains(text(),'Availability: 2.2')]">
<para>Functions new in PostGIS 2.2</para>
<itemizedlist>
<!-- Pull out the purpose section for each ref entry and strip whitespace and put in a variable to be tagged unto each function comment -->
@@ -602,12 +609,12 @@
<xsl:variable name="refid">
<xsl:value-of select="@id" />
</xsl:variable>
-
+
<xsl:variable name="refname">
<xsl:value-of select="refnamediv/refname" />
</xsl:variable>
-
-
+
+
<!-- For each section if there is note about availability in this version -->
<xsl:for-each select="refsection">
<xsl:for-each select="para | */para">
@@ -620,7 +627,9 @@
</xsl:for-each>
</xsl:for-each>
</itemizedlist>
-
+ </xsl:if>
+
+ <xsl:if test="//para[contains(text(),'Enhanced: 2.2')]">
<para>The functions given below are PostGIS functions that are enhanced in PostGIS 2.2.</para>
<itemizedlist>
<!-- Pull out the purpose section for each ref entry -->
@@ -629,7 +638,7 @@
<xsl:variable name="refid">
<xsl:value-of select="@id" />
</xsl:variable>
-
+
<xsl:variable name="refname">
<xsl:value-of select="refnamediv/refname" />
</xsl:variable>
@@ -644,10 +653,12 @@
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
- </itemizedlist>
+ </itemizedlist>
+ </xsl:if>
</sect2>
-
- <sect2 id="ChangedFunctions_2_2"><title>PostGIS functions breaking changes in 2.2</title>
+
+ <xsl:if test="//para[contains(text(),'Changed: 2.2')]">
+ <sect2 id="ChangedFunctions_2_2"><title>PostGIS functions breaking changes in 2.2</title>
<para>The functions given below are PostGIS functions that have possibly breaking changes in PostGIS 2.2. If you use any of these, you may need to check your existing code.</para>
<itemizedlist>
<!-- Pull out the purpose section for each ref entry -->
@@ -656,7 +667,7 @@
<xsl:variable name="refid">
<xsl:value-of select="@id" />
</xsl:variable>
-
+
<xsl:variable name="refname">
<xsl:value-of select="refnamediv/refname" />
</xsl:variable>
@@ -673,17 +684,19 @@
</xsl:for-each>
</itemizedlist>
</sect2>
+ </xsl:if>
-
+
<sect2 id="NewFunctions_2_1">
<title>PostGIS Functions new or enhanced in 2.1</title>
<para>The functions given below are PostGIS functions that were added or enhanced.</para>
-
+
<note><para>More Topology performance Improvements. Please refer to <xref linkend="Topology" /> for more details.</para></note>
<note><para>Bug fixes (particularly with handling of out-of-band rasters), many new functions (often shortening code you have to write to accomplish a common task) and massive speed improvements to raster functionality. Refer to <xref linkend="RT_reference" /> for more details. </para></note>
- <note><para>PostGIS 2.1.0: Tiger Geocoder upgraded to work with TIGER 2012 census data. <varname>geocode_settings</varname> added for debugging and tweaking rating preferences, loader made less greedy, now only downloads tables to be loaded. PostGIS 2.1.1: Tiger Geocoder upgraded to work with TIGER 2013 data.
+ <note><para>PostGIS 2.1.0: Tiger Geocoder upgraded to work with TIGER 2012 census data. <varname>geocode_settings</varname> added for debugging and tweaking rating preferences, loader made less greedy, now only downloads tables to be loaded. PostGIS 2.1.1: Tiger Geocoder upgraded to work with TIGER 2013 data.
Please refer to <xref linkend="Tiger_Geocoder" /> for more details.</para></note>
-
+
+ <xsl:if test="//para[contains(text(),'Availability: 2.1')]">
<para>Functions new in PostGIS 2.1</para>
<itemizedlist>
<!-- Pull out the purpose section for each ref entry and strip whitespace and put in a variable to be tagged unto each function comment -->
@@ -695,7 +708,7 @@
<xsl:variable name="refid">
<xsl:value-of select="@id" />
</xsl:variable>
-
+
<xsl:variable name="refname">
<xsl:value-of select="refnamediv/refname" />
</xsl:variable>
@@ -713,7 +726,9 @@
</xsl:for-each>
</xsl:for-each>
</itemizedlist>
-
+ </xsl:if>
+
+ <xsl:if test="//para[contains(text(),'Enhanced: 2.1')]">
<para>The functions given below are PostGIS functions that are enhanced in PostGIS 2.1.</para>
<itemizedlist>
<!-- Pull out the purpose section for each ref entry -->
@@ -722,7 +737,7 @@
<xsl:variable name="refid">
<xsl:value-of select="@id" />
</xsl:variable>
-
+
<xsl:variable name="refname">
<xsl:value-of select="refnamediv/refname" />
</xsl:variable>
@@ -737,10 +752,12 @@
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
- </itemizedlist>
-
+ </itemizedlist>
+ </xsl:if>
+
</sect2>
-
+
+ <xsl:if test="//para[contains(text(),'Changed: 2.1')]">
<sect2 id="ChangedFunctions_2_1"><title>PostGIS functions breaking changes in 2.1</title>
<para>The functions given below are PostGIS functions that have possibly breaking changes in PostGIS 2.1. If you use any of these, you may need to check your existing code.</para>
<itemizedlist>
@@ -750,7 +767,7 @@
<xsl:variable name="refid">
<xsl:value-of select="@id" />
</xsl:variable>
-
+
<xsl:variable name="refname">
<xsl:value-of select="refnamediv/refname" />
</xsl:variable>
@@ -767,17 +784,20 @@
</xsl:for-each>
</itemizedlist>
</sect2>
+ </xsl:if>
-
+
<sect2 id="NewFunctions_2_0">
<title>PostGIS Functions new, behavior changed, or enhanced in 2.0</title>
<para>The functions given below are PostGIS functions that were added, enhanced, or have <xref linkend="NewFunctions_2_0_Changed" /> breaking changes in 2.0 releases.</para>
<para>New geometry types: TIN and Polyhedral surfaces was introduced in 2.0</para>
<note><para>Greatly improved support for Topology. Please refer to <xref linkend="Topology" /> for more details.</para></note>
- <note><para>In PostGIS 2.0, raster type and raster functionality has been integrated. There are way too many new raster functions to list here and all are new so
+ <note><para>In PostGIS 2.0, raster type and raster functionality has been integrated. There are way too many new raster functions to list here and all are new so
please refer to <xref linkend="RT_reference" /> for more details of the raster functions available. Earlier pre-2.0 versions had raster_columns/raster_overviews as real tables. These were changed to views before release. Functions such as <varname>ST_AddRasterColumn</varname> were removed and replaced with <xref linkend="RT_AddRasterConstraints"/>, <xref linkend="RT_DropRasterConstraints"/> as a result some apps that created raster tables may need changing.</para></note>
<note><para>Tiger Geocoder upgraded to work with TIGER 2010 census data and now included in the core PostGIS documentation. A reverse geocoder function was also added.
Please refer to <xref linkend="Tiger_Geocoder" /> for more details.</para></note>
+
+ <xsl:if test="//para[contains(text(),'Availability: 2.0')]">
<itemizedlist>
<!-- Pull out the purpose section for each ref entry and strip whitespace and put in a variable to be tagged unto each function comment -->
<xsl:for-each select='//refentry'>
@@ -788,7 +808,7 @@
<xsl:variable name="refid">
<xsl:value-of select="@id" />
</xsl:variable>
-
+
<xsl:variable name="refname">
<xsl:value-of select="refnamediv/refname" />
</xsl:variable>
@@ -806,7 +826,9 @@
</xsl:for-each>
</xsl:for-each>
</itemizedlist>
-
+ </xsl:if>
+
+ <xsl:if test="//para[contains(text(),'Enhanced: 2.0')]">
<para>The functions given below are PostGIS functions that are enhanced in PostGIS 2.0.</para>
<itemizedlist>
<!-- Pull out the purpose section for each ref entry -->
@@ -815,7 +837,7 @@
<xsl:variable name="refid">
<xsl:value-of select="@id" />
</xsl:variable>
-
+
<xsl:variable name="refname">
<xsl:value-of select="refnamediv/refname" />
</xsl:variable>
@@ -830,8 +852,10 @@
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
- </itemizedlist>
+ </itemizedlist>
+ </xsl:if>
</sect2>
+
<sect2 id="NewFunctions_2_0_Changed">
<title>PostGIS Functions changed behavior in 2.0</title>
<para>The functions given below are PostGIS functions that have changed behavior in PostGIS 2.0 and may require application changes.</para>
@@ -844,6 +868,8 @@
often return a different more accurate answer in PostGIS 2.0+ than it did in prior versions which may very well slightly
change answers to view port queries.</para></note>
<note><para>The arguments hasnodata was replaced with exclude_nodata_value which has the same meaning as the older hasnodata but clearer in purpose.</para></note>
+
+ <xsl:if test="//para[contains(text(),'Changed: 2.0')]">
<itemizedlist>
<!-- Pull out the purpose section for each ref entry -->
<xsl:for-each select='//refentry'>
@@ -851,7 +877,7 @@
<xsl:variable name="refid">
<xsl:value-of select="@id" />
</xsl:variable>
-
+
<xsl:variable name="refname">
<xsl:value-of select="refnamediv/refname" />
</xsl:variable>
@@ -867,9 +893,12 @@
</xsl:for-each>
</xsl:for-each>
</itemizedlist>
+ </xsl:if>
</sect2>
+
<sect2 id="NewFunctions_1_5">
<title>PostGIS Functions new, behavior changed, or enhanced in 1.5</title>
+ <xsl:if test="//para[contains(text(),'Availability: 1.5')]">
<para>The functions given below are PostGIS functions that were introduced or enhanced in this minor release.</para>
<itemizedlist>
<!-- Pull out the purpose section for each ref entry and strip whitespace and put in a variable to be tagged unto each function comment -->
@@ -881,7 +910,7 @@
<xsl:variable name="refid">
<xsl:value-of select="@id" />
</xsl:variable>
-
+
<xsl:variable name="refname">
<xsl:value-of select="refnamediv/refname" />
</xsl:variable>
@@ -899,10 +928,12 @@
</xsl:for-each>
</xsl:for-each>
</itemizedlist>
+ </xsl:if>
</sect2>
<sect2 id="NewFunctions_1_4">
<title>PostGIS Functions new, behavior changed, or enhanced in 1.4</title>
<para>The functions given below are PostGIS functions that were introduced or enhanced in the 1.4 release.</para>
+ <xsl:if test="//para[contains(text(),'Availability: 1.4')]">
<itemizedlist>
<!-- Pull out the purpose section for each ref entry and strip whitespace and put in a variable to be tagged unto each function comment -->
<xsl:for-each select='//refentry'>
@@ -926,10 +957,12 @@
</xsl:for-each>
</xsl:for-each>
</itemizedlist>
+ </xsl:if>
</sect2>
<sect2 id="NewFunctions_1_3">
<title>PostGIS Functions new in 1.3</title>
<para>The functions given below are PostGIS functions that were introduced in the 1.3 release.</para>
+ <xsl:if test="//para[contains(text(),'Availability: 1.3')]">
<itemizedlist>
<!-- Pull out the purpose section for each ref entry and strip whitespace and put in a variable to be tagged unto each function comment -->
<xsl:for-each select='//refentry'>
@@ -953,6 +986,7 @@
</xsl:for-each>
</xsl:for-each>
</itemizedlist>
+ </xsl:if>
</sect2>
</sect1>
More information about the postgis-tickets
mailing list