mirror of
https://github.com/postgres/postgres.git
synced 2025-05-01 01:04:50 +03:00
The XSL stylesheets used a mix of incorrect or outdated namespace declarations for XHTML, probably based on ancient advice and examples. Clean all this up. Besides improving correctness (although probably no impact in practice, other than possible validation failures), this removes a bunch of useless namespace declarations in the HTML output. Reported-by: Andres Freund <andres@anarazel.de> Discussion: https://www.postgresql.org/message-id/flat/20220213201618.qz6p6noon3wagr3f%40alap3.anarazel.de
331 lines
13 KiB
XML
331 lines
13 KiB
XML
<?xml version='1.0'?>
|
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
version='1.0'
|
|
xmlns="http://www.w3.org/1999/xhtml">
|
|
|
|
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk.xsl"/>
|
|
<xsl:include href="stylesheet-common.xsl" />
|
|
<xsl:include href="stylesheet-html-common.xsl" />
|
|
<xsl:include href="stylesheet-speedup-xhtml.xsl" />
|
|
|
|
|
|
<!-- Parameters -->
|
|
<xsl:param name="base.dir" select="'html/'"></xsl:param>
|
|
<xsl:param name="use.id.as.filename" select="'1'"></xsl:param>
|
|
<xsl:param name="generate.legalnotice.link" select="1"></xsl:param>
|
|
<xsl:param name="chunk.first.sections" select="1"/>
|
|
<xsl:param name="chunk.quietly" select="1"></xsl:param>
|
|
<xsl:param name="admon.style"></xsl:param> <!-- handled by CSS stylesheet -->
|
|
|
|
<xsl:param name="website.stylesheet" select="0"/>
|
|
|
|
<xsl:param name="html.stylesheet">
|
|
<xsl:choose>
|
|
<xsl:when test="$website.stylesheet = 0">stylesheet.css</xsl:when>
|
|
<xsl:otherwise>
|
|
https://www.postgresql.org/media/css/docs-complete.css
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:param>
|
|
|
|
|
|
<!-- strip directory name from image filerefs -->
|
|
<xsl:template match="imagedata/@fileref">
|
|
<xsl:value-of select="substring-after(., '/')"/>
|
|
</xsl:template>
|
|
|
|
|
|
<!--
|
|
Customization of header
|
|
- add Up and Home links
|
|
- add tool tips to links
|
|
|
|
(overrides html/chunk-common.xsl)
|
|
-->
|
|
<xsl:template name="header.navigation">
|
|
<xsl:param name="prev" select="/foo"/>
|
|
<xsl:param name="next" select="/foo"/>
|
|
<xsl:param name="nav.context"/>
|
|
|
|
<xsl:variable name="home" select="/*[1]"/>
|
|
<xsl:variable name="up" select="parent::*"/>
|
|
|
|
<xsl:variable name="row1" select="$navig.showtitles != 0"/>
|
|
<xsl:variable name="row2" select="count($prev) > 0
|
|
or (count($up) > 0
|
|
and $navig.showtitles != 0)
|
|
or count($next) > 0"/>
|
|
|
|
<xsl:if test="$suppress.navigation = '0' and $suppress.header.navigation = '0'">
|
|
<div class="navheader">
|
|
<xsl:if test="$row1 or $row2">
|
|
<table width="100%" summary="Navigation header">
|
|
<xsl:if test="$row1">
|
|
<tr>
|
|
<th colspan="5" align="center">
|
|
<xsl:apply-templates select="." mode="object.title.markup"/>
|
|
</th>
|
|
</tr>
|
|
</xsl:if>
|
|
|
|
<xsl:if test="$row2">
|
|
<tr>
|
|
<td width="10%" align="{$direction.align.start}">
|
|
<xsl:if test="count($prev)>0">
|
|
<a accesskey="p">
|
|
<xsl:attribute name="href">
|
|
<xsl:call-template name="href.target">
|
|
<xsl:with-param name="object" select="$prev"/>
|
|
</xsl:call-template>
|
|
</xsl:attribute>
|
|
<xsl:attribute name="title">
|
|
<xsl:apply-templates select="$prev" mode="object.title.markup"/>
|
|
</xsl:attribute>
|
|
<xsl:call-template name="navig.content">
|
|
<xsl:with-param name="direction" select="'prev'"/>
|
|
</xsl:call-template>
|
|
</a>
|
|
</xsl:if>
|
|
<xsl:text> </xsl:text>
|
|
</td>
|
|
<td width="10%" align="{$direction.align.start}">
|
|
<xsl:choose>
|
|
<xsl:when test="count($up)>0">
|
|
<a accesskey="u">
|
|
<xsl:attribute name="href">
|
|
<xsl:call-template name="href.target">
|
|
<xsl:with-param name="object" select="$up"/>
|
|
</xsl:call-template>
|
|
</xsl:attribute>
|
|
<xsl:attribute name="title">
|
|
<xsl:apply-templates select="$up" mode="object.title.markup"/>
|
|
</xsl:attribute>
|
|
<xsl:call-template name="navig.content">
|
|
<xsl:with-param name="direction" select="'up'"/>
|
|
</xsl:call-template>
|
|
</a>
|
|
</xsl:when>
|
|
<xsl:otherwise> </xsl:otherwise>
|
|
</xsl:choose>
|
|
</td>
|
|
<th width="60%" align="center">
|
|
<xsl:choose>
|
|
<xsl:when test="count($up) > 0
|
|
and $navig.showtitles != 0">
|
|
<xsl:apply-templates select="$up" mode="object.title.markup"/>
|
|
</xsl:when>
|
|
<xsl:otherwise> </xsl:otherwise>
|
|
</xsl:choose>
|
|
</th>
|
|
<td width="10%" align="{$direction.align.end}">
|
|
<xsl:choose>
|
|
<xsl:when test="$home != . or $nav.context = 'toc'">
|
|
<a accesskey="h">
|
|
<xsl:attribute name="href">
|
|
<xsl:call-template name="href.target">
|
|
<xsl:with-param name="object" select="$home"/>
|
|
</xsl:call-template>
|
|
</xsl:attribute>
|
|
<xsl:attribute name="title">
|
|
<xsl:apply-templates select="$home" mode="object.title.markup"/>
|
|
</xsl:attribute>
|
|
<xsl:call-template name="navig.content">
|
|
<xsl:with-param name="direction" select="'home'"/>
|
|
</xsl:call-template>
|
|
</a>
|
|
<xsl:if test="$chunk.tocs.and.lots != 0 and $nav.context != 'toc'">
|
|
<xsl:text> | </xsl:text>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
<xsl:otherwise> </xsl:otherwise>
|
|
</xsl:choose>
|
|
</td>
|
|
<td width="10%" align="{$direction.align.end}">
|
|
<xsl:text> </xsl:text>
|
|
<xsl:if test="count($next)>0">
|
|
<a accesskey="n">
|
|
<xsl:attribute name="href">
|
|
<xsl:call-template name="href.target">
|
|
<xsl:with-param name="object" select="$next"/>
|
|
</xsl:call-template>
|
|
</xsl:attribute>
|
|
<xsl:attribute name="title">
|
|
<xsl:apply-templates select="$next" mode="object.title.markup"/>
|
|
</xsl:attribute>
|
|
<xsl:call-template name="navig.content">
|
|
<xsl:with-param name="direction" select="'next'"/>
|
|
</xsl:call-template>
|
|
</a>
|
|
</xsl:if>
|
|
</td>
|
|
</tr>
|
|
</xsl:if>
|
|
</table>
|
|
</xsl:if>
|
|
<xsl:if test="$header.rule != 0">
|
|
<hr/>
|
|
</xsl:if>
|
|
</div>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
|
|
<!--
|
|
Customization of footer
|
|
- don't hide redundant Up link
|
|
- add tool tips to links
|
|
|
|
(overrides html/chunk-common.xsl)
|
|
-->
|
|
<xsl:template name="footer.navigation">
|
|
<xsl:param name="prev" select="/foo"/>
|
|
<xsl:param name="next" select="/foo"/>
|
|
<xsl:param name="nav.context"/>
|
|
|
|
<xsl:variable name="home" select="/*[1]"/>
|
|
<xsl:variable name="up" select="parent::*"/>
|
|
|
|
<xsl:variable name="row1" select="count($prev) > 0
|
|
or count($up) > 0
|
|
or count($next) > 0"/>
|
|
|
|
<xsl:variable name="row2" select="($prev and $navig.showtitles != 0)
|
|
or (generate-id($home) != generate-id(.)
|
|
or $nav.context = 'toc')
|
|
or ($chunk.tocs.and.lots != 0
|
|
and $nav.context != 'toc')
|
|
or ($next and $navig.showtitles != 0)"/>
|
|
|
|
<xsl:if test="$suppress.navigation = '0' and $suppress.footer.navigation = '0'">
|
|
<div class="navfooter">
|
|
<xsl:if test="$footer.rule != 0">
|
|
<hr/>
|
|
</xsl:if>
|
|
|
|
<xsl:if test="$row1 or $row2">
|
|
<table width="100%" summary="Navigation footer">
|
|
<xsl:if test="$row1">
|
|
<tr>
|
|
<td width="40%" align="{$direction.align.start}">
|
|
<xsl:if test="count($prev)>0">
|
|
<a accesskey="p">
|
|
<xsl:attribute name="href">
|
|
<xsl:call-template name="href.target">
|
|
<xsl:with-param name="object" select="$prev"/>
|
|
</xsl:call-template>
|
|
</xsl:attribute>
|
|
<xsl:attribute name="title">
|
|
<xsl:apply-templates select="$prev" mode="object.title.markup"/>
|
|
</xsl:attribute>
|
|
<xsl:call-template name="navig.content">
|
|
<xsl:with-param name="direction" select="'prev'"/>
|
|
</xsl:call-template>
|
|
</a>
|
|
</xsl:if>
|
|
<xsl:text> </xsl:text>
|
|
</td>
|
|
<td width="20%" align="center">
|
|
<xsl:choose>
|
|
<xsl:when test="count($up)>0">
|
|
<a accesskey="u">
|
|
<xsl:attribute name="href">
|
|
<xsl:call-template name="href.target">
|
|
<xsl:with-param name="object" select="$up"/>
|
|
</xsl:call-template>
|
|
</xsl:attribute>
|
|
<xsl:attribute name="title">
|
|
<xsl:apply-templates select="$up" mode="object.title.markup"/>
|
|
</xsl:attribute>
|
|
<xsl:call-template name="navig.content">
|
|
<xsl:with-param name="direction" select="'up'"/>
|
|
</xsl:call-template>
|
|
</a>
|
|
</xsl:when>
|
|
<xsl:otherwise> </xsl:otherwise>
|
|
</xsl:choose>
|
|
</td>
|
|
<td width="40%" align="{$direction.align.end}">
|
|
<xsl:text> </xsl:text>
|
|
<xsl:if test="count($next)>0">
|
|
<a accesskey="n">
|
|
<xsl:attribute name="href">
|
|
<xsl:call-template name="href.target">
|
|
<xsl:with-param name="object" select="$next"/>
|
|
</xsl:call-template>
|
|
</xsl:attribute>
|
|
<xsl:attribute name="title">
|
|
<xsl:apply-templates select="$next" mode="object.title.markup"/>
|
|
</xsl:attribute>
|
|
<xsl:call-template name="navig.content">
|
|
<xsl:with-param name="direction" select="'next'"/>
|
|
</xsl:call-template>
|
|
</a>
|
|
</xsl:if>
|
|
</td>
|
|
</tr>
|
|
</xsl:if>
|
|
|
|
<xsl:if test="$row2">
|
|
<tr>
|
|
<td width="40%" align="{$direction.align.start}" valign="top">
|
|
<xsl:if test="$navig.showtitles != 0">
|
|
<xsl:apply-templates select="$prev" mode="object.title.markup"/>
|
|
</xsl:if>
|
|
<xsl:text> </xsl:text>
|
|
</td>
|
|
<td width="20%" align="center">
|
|
<xsl:choose>
|
|
<xsl:when test="$home != . or $nav.context = 'toc'">
|
|
<a accesskey="h">
|
|
<xsl:attribute name="href">
|
|
<xsl:call-template name="href.target">
|
|
<xsl:with-param name="object" select="$home"/>
|
|
</xsl:call-template>
|
|
</xsl:attribute>
|
|
<xsl:attribute name="title">
|
|
<xsl:apply-templates select="$home" mode="object.title.markup"/>
|
|
</xsl:attribute>
|
|
<xsl:call-template name="navig.content">
|
|
<xsl:with-param name="direction" select="'home'"/>
|
|
</xsl:call-template>
|
|
</a>
|
|
<xsl:if test="$chunk.tocs.and.lots != 0 and $nav.context != 'toc'">
|
|
<xsl:text> | </xsl:text>
|
|
</xsl:if>
|
|
</xsl:when>
|
|
<xsl:otherwise> </xsl:otherwise>
|
|
</xsl:choose>
|
|
|
|
<xsl:if test="$chunk.tocs.and.lots != 0 and $nav.context != 'toc'">
|
|
<a accesskey="t">
|
|
<xsl:attribute name="href">
|
|
<xsl:value-of select="$chunked.filename.prefix"/>
|
|
<xsl:apply-templates select="/*[1]"
|
|
mode="recursive-chunk-filename">
|
|
<xsl:with-param name="recursive" select="true()"/>
|
|
</xsl:apply-templates>
|
|
<xsl:text>-toc</xsl:text>
|
|
<xsl:value-of select="$html.ext"/>
|
|
</xsl:attribute>
|
|
<xsl:call-template name="gentext">
|
|
<xsl:with-param name="key" select="'nav-toc'"/>
|
|
</xsl:call-template>
|
|
</a>
|
|
</xsl:if>
|
|
</td>
|
|
<td width="40%" align="{$direction.align.end}" valign="top">
|
|
<xsl:text> </xsl:text>
|
|
<xsl:if test="$navig.showtitles != 0">
|
|
<xsl:apply-templates select="$next" mode="object.title.markup"/>
|
|
</xsl:if>
|
|
</td>
|
|
</tr>
|
|
</xsl:if>
|
|
</table>
|
|
</xsl:if>
|
|
</div>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
</xsl:stylesheet>
|