cast to geometry, transform and then cast back. A * means the function works with it, but only does because of auto-casting\r
behavior.</para>\r
\r
- <para><table frame='all' cellpadding='0'>\r
- <tgroup cols='6' align='left' colsep='1' rowsep='1'>\r
- <tbody>\r
- <row>\r
- <entry>Function</entry>\r
- <entry>geomerowy</entry>\r
- <entry>geography</entry>\r
- <entry>3D (2.5D)</entry>\r
- <entry>Curves</entry>\r
- <entry>SQL MM</entry>\r
- </row>\r
- <!-- Exclude PostGIS types ,management functions, long transaction support, or exceptional functions from consideration -->\r
- <!-- leaving out operators in an effor to try to fit on one page -->\r
- <xsl:for-each select="sect1[not(@id='PostGIS_Types' or @id='Management_Functions' or @id='Long_Transactions_Support' or @id='Exceptional_Functions' or @id='Operators')]/refentry">\r
- <xsl:sort select="@id"/>\r
- <xsl:variable name='comment'>\r
- <xsl:value-of select="normalize-space(translate(translate(refnamediv/refpurpose,'
', ' '), '	', ' '))"/>\r
- </xsl:variable>\r
- <xsl:variable name="refid">\r
- <xsl:value-of select="@id" />\r
- </xsl:variable>\r
- <xsl:variable name="refname">\r
- <xsl:value-of select="refnamediv/refname" />\r
- </xsl:variable>\r
- \r
- <row>\r
- <!-- Display name of function and link to it -->\r
- <entry><link linkend="{$refid}"><xsl:value-of select="$refname" /></link></entry>\r
- <!-- If at least one proto function accepts or returns a geometry -->\r
- <xsl:choose>\r
- <!-- direct support -->\r
- <xsl:when test="contains(refsynopsisdiv/funcsynopsis,'geometry') or contains(refsynopsisdiv/funcsynopsis/funcprototype/funcdef,'geometry')">\r
- <entry>+</entry>\r
- </xsl:when>\r
- <!-- support via autocast -->\r
- <xsl:when test="contains(refsynopsisdiv/funcsynopsis,'box') or contains(refsynopsisdiv/funcsynopsis/funcprototype/funcdef,'box')">\r
- <entry>*</entry>\r
- </xsl:when>\r
- <!-- no support -->\r
- <xsl:otherwise>\r
- <entry></entry>\r
- </xsl:otherwise>\r
- </xsl:choose>\r
- <!-- If at least one proto function accepts or returns a geography -->\r
- <xsl:choose>\r
- <!-- Support via geometry transform hack -->\r
- <xsl:when test="(contains(refsynopsisdiv/funcsynopsis,'geography') or contains(refsynopsisdiv/funcsynopsis/funcprototype/funcdef,'geography')) and contains($comment,'(T)')">\r
- <entry>T</entry>\r
- </xsl:when>\r
- <!-- direct support -->\r
- <xsl:when test="contains(refsynopsisdiv/funcsynopsis,'geography') or contains(refsynopsisdiv/funcsynopsis/funcprototype/funcdef,'geography')">\r
- <entry>+</entry>\r
- </xsl:when>\r
- <!-- no support -->\r
- <xsl:otherwise>\r
- <entry></entry>\r
- </xsl:otherwise>\r
- </xsl:choose>\r
- \r
- <!-- If at least one paragraph contains support 3d -->\r
- <xsl:choose>\r
- <!-- supports -->\r
- <xsl:when test="contains(.,'This function supports 3d')">\r
- <entry>+</entry>\r
- </xsl:when>\r
- <!-- no support -->\r
- <xsl:otherwise>\r
- <entry></entry>\r
- </xsl:otherwise>\r
- </xsl:choose>\r
- <!-- Support for Curve -->\r
- <xsl:choose>\r
- <!-- supports -->\r
- <xsl:when test="contains(.,'supports Circular Strings')">\r
- <entry>+</entry>\r
- </xsl:when>\r
- <!-- no support -->\r
- <xsl:otherwise>\r
- <entry></entry>\r
- </xsl:otherwise>\r
- </xsl:choose> \r
- <!-- SQL MM compliance -->\r
- <xsl:choose>\r
- <!-- supports -->\r
- <xsl:when test="contains(.,'implements the SQL/MM')">\r
- <entry>+</entry>\r
- </xsl:when>\r
- <!-- no support -->\r
- <xsl:otherwise>\r
- <entry></entry>\r
- </xsl:otherwise>\r
- </xsl:choose>\r
- </row>\r
- </xsl:for-each>\r
- </tbody>\r
- </tgroup>\r
+ <para>\r
+ <table frame='all'>\r
+ <tgroup cols='6' align='left' colsep='1' rowsep='1'>\r
+ <colspec colname='function' />\r
+ <colspec colname='geometry' align='center'/>\r
+ <colspec colname='geography' align='center'/>\r
+ <colspec colname='3D' align='center'/>\r
+ <colspec colname='Curves' align='center'/>\r
+ <colspec colname='SQLMM' align='center' />\r
+ <thead>\r
+ <row>\r
+ <entry>Function</entry>\r
+ <entry>geomerowy</entry>\r
+ <entry>geography</entry>\r
+ <entry>3D (2.5D)</entry>\r
+ <entry>Curves</entry>\r
+ <entry>SQL MM</entry>\r
+ </row>\r
+ </thead>\r
+ <tbody>\r
+ <!-- Exclude PostGIS types ,management functions, long transaction support, or exceptional functions from consideration -->\r
+ <!-- leaving out operators in an effor to try to fit on one page -->\r
+ <xsl:for-each select="sect1[not(@id='PostGIS_Types' or @id='Management_Functions' or @id='Long_Transactions_Support' or @id='Exceptional_Functions' or @id='Operators')]/refentry">\r
+ <xsl:sort select="@id"/>\r
+ <xsl:variable name='comment'>\r
+ <xsl:value-of select="normalize-space(translate(translate(refnamediv/refpurpose,'
', ' '), '	', ' '))"/>\r
+ </xsl:variable>\r
+ <xsl:variable name="refid">\r
+ <xsl:value-of select="@id" />\r
+ </xsl:variable>\r
+ <xsl:variable name="refname">\r
+ <xsl:value-of select="refnamediv/refname" />\r
+ </xsl:variable>\r
+ \r
+ <row>\r
+ <!-- Display name of function and link to it -->\r
+ <entry><link linkend="{$refid}"><xsl:value-of select="$refname" /></link></entry>\r
+ <!-- If at least one proto function accepts or returns a geometry -->\r
+ <xsl:choose>\r
+ <!-- direct support -->\r
+ <xsl:when test="contains(refsynopsisdiv/funcsynopsis,'geometry') or contains(refsynopsisdiv/funcsynopsis/funcprototype/funcdef,'geometry')">\r
+ <entry>+</entry>\r
+ </xsl:when>\r
+ <!-- support via autocast -->\r
+ <xsl:when test="contains(refsynopsisdiv/funcsynopsis,'box') or contains(refsynopsisdiv/funcsynopsis/funcprototype/funcdef,'box')">\r
+ <entry>*</entry>\r
+ </xsl:when>\r
+ <!-- no support -->\r
+ <xsl:otherwise>\r
+ <entry></entry>\r
+ </xsl:otherwise>\r
+ </xsl:choose>\r
+ <!-- If at least one proto function accepts or returns a geography -->\r
+ <xsl:choose>\r
+ <!-- Support via geometry transform hack -->\r
+ <xsl:when test="(contains(refsynopsisdiv/funcsynopsis,'geography') or contains(refsynopsisdiv/funcsynopsis/funcprototype/funcdef,'geography')) and contains($comment,'(T)')">\r
+ <entry>T</entry>\r
+ </xsl:when>\r
+ <!-- direct support -->\r
+ <xsl:when test="contains(refsynopsisdiv/funcsynopsis,'geography') or contains(refsynopsisdiv/funcsynopsis/funcprototype/funcdef,'geography')">\r
+ <entry>+</entry>\r
+ </xsl:when>\r
+ <!-- no support -->\r
+ <xsl:otherwise>\r
+ <entry></entry>\r
+ </xsl:otherwise>\r
+ </xsl:choose>\r
+ \r
+ <!-- If at least one paragraph contains support 3d -->\r
+ <xsl:choose>\r
+ <!-- supports -->\r
+ <xsl:when test="contains(.,'This function supports 3d')">\r
+ <entry>+</entry>\r
+ </xsl:when>\r
+ <!-- no support -->\r
+ <xsl:otherwise>\r
+ <entry></entry>\r
+ </xsl:otherwise>\r
+ </xsl:choose>\r
+ <!-- Support for Curve -->\r
+ <xsl:choose>\r
+ <!-- supports -->\r
+ <xsl:when test="contains(.,'supports Circular Strings')">\r
+ <entry>+</entry>\r
+ </xsl:when>\r
+ <!-- no support -->\r
+ <xsl:otherwise>\r
+ <entry></entry>\r
+ </xsl:otherwise>\r
+ </xsl:choose> \r
+ <!-- SQL MM compliance -->\r
+ <xsl:choose>\r
+ <!-- supports -->\r
+ <xsl:when test="contains(.,'implements the SQL/MM')">\r
+ <entry>+</entry>\r
+ </xsl:when>\r
+ <!-- no support -->\r
+ <xsl:otherwise>\r
+ <entry></entry>\r
+ </xsl:otherwise>\r
+ </xsl:choose>\r
+ </row>\r
+ </xsl:for-each>\r
+ </tbody>\r
+ </tgroup>\r
</table> \r
</para>\r
</sect1>\r