On Feb 25, 2022 at 06:36, Brar Piening wrote:
The major problem in that regard would probably be my lack of XSLT/docbook skills but if no one can jump in here, I can see if I can make it work.
Ok, I've figured it out. Attached is an extended version of the patch that changes the XSL and CSS stylesheets to add links to the ids that are visible when hovering.
diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 1c5ab00879..cb138b53ad 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -1810,7 +1810,7 @@ Replication commands are logged in the server log when <para> The commands accepted in replication mode are: <variablelist> - <varlistentry> + <varlistentry id="protocol-replication-identify-system"> <term><literal>IDENTIFY_SYSTEM</literal> <indexterm><primary>IDENTIFY_SYSTEM</primary></indexterm> </term> @@ -1875,7 +1875,7 @@ The commands accepted in replication mode are: </listitem> </varlistentry> - <varlistentry> + <varlistentry id="protocol-replication-show"> <term><literal>SHOW</literal> <replaceable class="parameter">name</replaceable> <indexterm><primary>SHOW</primary></indexterm> </term> @@ -1899,7 +1899,7 @@ The commands accepted in replication mode are: </listitem> </varlistentry> - <varlistentry> + <varlistentry id="protocol-replication-timeline-history"> <term><literal>TIMELINE_HISTORY</literal> <replaceable class="parameter">tli</replaceable> <indexterm><primary>TIMELINE_HISTORY</primary></indexterm> </term> @@ -2084,7 +2084,7 @@ The commands accepted in replication mode are: </listitem> </varlistentry> - <varlistentry> + <varlistentry id="protocol-replication-create-slot-legacy"> <term><literal>CREATE_REPLICATION_SLOT</literal> <replaceable class="parameter">slot_name</replaceable> [ <literal>TEMPORARY</literal> ] { <literal>PHYSICAL</literal> [ <literal>RESERVE_WAL</literal> ] | <literal>LOGICAL</literal> <replaceable class="parameter">output_plugin</replaceable> [ <literal>EXPORT_SNAPSHOT</literal> | <literal>NOEXPORT_SNAPSHOT</literal> | <literal>USE_SNAPSHOT</literal> | <literal>TWO_PHASE</literal> ] } </term> <listitem> @@ -2095,7 +2095,7 @@ The commands accepted in replication mode are: </listitem> </varlistentry> - <varlistentry> + <varlistentry id="protocol-replication-read-replication-slot"> <term><literal>READ_REPLICATION_SLOT</literal> <replaceable class="parameter">slot_name</replaceable> <indexterm><primary>READ_REPLICATION_SLOT</primary></indexterm> </term> @@ -2143,7 +2143,7 @@ The commands accepted in replication mode are: </listitem> </varlistentry> - <varlistentry> + <varlistentry id="protocol-replication-start-replication"> <term><literal>START_REPLICATION</literal> [ <literal>SLOT</literal> <replaceable class="parameter">slot_name</replaceable> ] [ <literal>PHYSICAL</literal> ] <replaceable class="parameter">XXX/XXX</replaceable> [ <literal>TIMELINE</literal> <replaceable class="parameter">tli</replaceable> ] <indexterm><primary>START_REPLICATION</primary></indexterm> </term> @@ -2201,7 +2201,7 @@ The commands accepted in replication mode are: <para> <variablelist> - <varlistentry> + <varlistentry id="protocol-replication-xlogdata"> <term> XLogData (B) </term> @@ -2270,7 +2270,7 @@ The commands accepted in replication mode are: </para> </listitem> </varlistentry> - <varlistentry> + <varlistentry id="protocol-replication-primary-keepalive-message"> <term> Primary keepalive message (B) </term> @@ -2334,7 +2334,7 @@ The commands accepted in replication mode are: <para> <variablelist> - <varlistentry> + <varlistentry id="protocol-replication-standby-status-update"> <term> Standby status update (F) </term> @@ -2415,7 +2415,7 @@ The commands accepted in replication mode are: <para> <variablelist> - <varlistentry> + <varlistentry id="protocol-replication-hot-standby-feedback-message"> <term> Hot Standby feedback message (F) </term> @@ -2497,7 +2497,7 @@ The commands accepted in replication mode are: </para> </listitem> </varlistentry> - <varlistentry> + <varlistentry id="protocol-replication-start-replication-slot-logical"> <term><literal>START_REPLICATION</literal> <literal>SLOT</literal> <replaceable class="parameter">slot_name</replaceable> <literal>LOGICAL</literal> <replaceable class="parameter">XXX/XXX</replaceable> [ ( <replaceable>option_name</replaceable> [ <replaceable>option_value</replaceable> ] [, ...] ) ]</term> <listitem> <para> @@ -2572,7 +2572,7 @@ The commands accepted in replication mode are: </listitem> </varlistentry> - <varlistentry> + <varlistentry id="protocol-replication-drop-replication-slot"> <term> <literal>DROP_REPLICATION_SLOT</literal> <replaceable class="parameter">slot_name</replaceable> <optional> <literal>WAIT</literal> </optional> <indexterm><primary>DROP_REPLICATION_SLOT</primary></indexterm> @@ -3266,7 +3266,7 @@ of any individual CopyData message cannot be interpretable on their own.) <variablelist> -<varlistentry> +<varlistentry id="protocol-message-formats-authenticationok"> <term> AuthenticationOk (B) </term> @@ -3311,7 +3311,7 @@ AuthenticationOk (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-authenticationkerberosv5"> <term> AuthenticationKerberosV5 (B) </term> @@ -3355,7 +3355,7 @@ AuthenticationKerberosV5 (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-authenticationcleartextpassword"> <term> AuthenticationCleartextPassword (B) </term> @@ -3399,7 +3399,7 @@ AuthenticationCleartextPassword (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-authenticationmd5password"> <term> AuthenticationMD5Password (B) </term> @@ -3454,7 +3454,7 @@ AuthenticationMD5Password (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-authenticationscmcredential"> <term> AuthenticationSCMCredential (B) </term> @@ -3499,7 +3499,7 @@ AuthenticationSCMCredential (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-authenticationgss"> <term> AuthenticationGSS (B) </term> @@ -3544,7 +3544,7 @@ AuthenticationGSS (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-authenticationgsscontinue"> <term> AuthenticationGSSContinue (B) </term> @@ -3599,7 +3599,7 @@ AuthenticationGSSContinue (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-authenticationsspi"> <term> AuthenticationSSPI (B) </term> @@ -3644,7 +3644,7 @@ AuthenticationSSPI (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-authenticationsasl"> <term> AuthenticationSASL (B) </term> @@ -3705,7 +3705,7 @@ following: </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-authenticationsaslcontinue"> <term> AuthenticationSASLContinue (B) </term> @@ -3760,7 +3760,7 @@ AuthenticationSASLContinue (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-authenticationsaslfinal"> <term> AuthenticationSASLFinal (B) </term> @@ -3816,7 +3816,7 @@ AuthenticationSASLFinal (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-backendkeydata"> <term> BackendKeyData (B) </term> @@ -3873,7 +3873,7 @@ BackendKeyData (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-bind"> <term> Bind (F) </term> @@ -4026,7 +4026,7 @@ Bind (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-bindcomplete"> <term> BindComplete (B) </term> @@ -4061,7 +4061,7 @@ BindComplete (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-cancelrequest"> <term> CancelRequest (F) </term> @@ -4119,7 +4119,7 @@ CancelRequest (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-close"> <term> Close (F) </term> @@ -4176,7 +4176,7 @@ Close (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-closecomplete"> <term> CloseComplete (B) </term> @@ -4211,7 +4211,7 @@ CloseComplete (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-commandcomplete"> <term> CommandComplete (B) </term> @@ -4310,7 +4310,7 @@ CommandComplete (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-copydata"> <term> CopyData (F & B) </term> @@ -4356,7 +4356,7 @@ CopyData (F & B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-copydone"> <term> CopyDone (F & B) </term> @@ -4391,7 +4391,7 @@ CopyDone (F & B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-copyfail"> <term> CopyFail (F) </term> @@ -4436,7 +4436,7 @@ CopyFail (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-copyinresponse"> <term> CopyInResponse (B) </term> @@ -4512,7 +4512,7 @@ CopyInResponse (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-copyoutresponse"> <term> CopyOutResponse (B) </term> @@ -4585,7 +4585,7 @@ CopyOutResponse (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-copybothresponse"> <term> CopyBothResponse (B) </term> @@ -4658,7 +4658,7 @@ CopyBothResponse (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-datarow"> <term> DataRow (B) </term> @@ -4730,7 +4730,7 @@ DataRow (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-describe"> <term> Describe (F) </term> @@ -4787,7 +4787,7 @@ Describe (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-emptyqueryresponse"> <term> EmptyQueryResponse (B) </term> @@ -4823,7 +4823,7 @@ EmptyQueryResponse (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-errorresponse"> <term> ErrorResponse (B) </term> @@ -4889,7 +4889,7 @@ ErrorResponse (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-execute"> <term> Execute (F) </term> @@ -4946,7 +4946,7 @@ Execute (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-flush"> <term> Flush (F) </term> @@ -4981,7 +4981,7 @@ Flush (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-functioncall"> <term> FunctionCall (F) </term> @@ -5106,7 +5106,7 @@ FunctionCall (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-functioncallresponse"> <term> FunctionCallResponse (B) </term> @@ -5166,7 +5166,7 @@ FunctionCallResponse (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-gssencrequest"> <term> GSSENCRequest (F) </term> @@ -5204,7 +5204,7 @@ GSSENCRequest (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-gssresponse"> <term> GSSResponse (F) </term> @@ -5249,7 +5249,7 @@ GSSResponse (F) </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-negotiateprotocolversion"> <term> NegotiateProtocolVersion (B) </term> @@ -5318,7 +5318,7 @@ NegotiateProtocolVersion (B) </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-nodata"> <term> NoData (B) </term> @@ -5353,7 +5353,7 @@ NoData (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-noticeresponse"> <term> NoticeResponse (B) </term> @@ -5419,7 +5419,7 @@ NoticeResponse (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-notificationresponse"> <term> NotificationResponse (B) </term> @@ -5484,7 +5484,7 @@ NotificationResponse (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-parameterdescription"> <term> ParameterDescription (B) </term> @@ -5542,7 +5542,7 @@ ParameterDescription (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-parameterstatus"> <term> ParameterStatus (B) </term> @@ -5596,7 +5596,7 @@ ParameterStatus (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-parse"> <term> Parse (F) </term> @@ -5680,7 +5680,7 @@ Parse (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-parsecomplete"> <term> ParseComplete (B) </term> @@ -5715,7 +5715,7 @@ ParseComplete (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-passwordmessage"> <term> PasswordMessage (F) </term> @@ -5761,7 +5761,7 @@ PasswordMessage (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-portalsuspended"> <term> PortalSuspended (B) </term> @@ -5798,7 +5798,7 @@ PortalSuspended (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-query"> <term> Query (F) </term> @@ -5843,7 +5843,7 @@ Query (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-readyforquery"> <term> ReadyForQuery (B) </term> @@ -5893,7 +5893,7 @@ ReadyForQuery (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-rowdescription"> <term> RowDescription (B) </term> @@ -6018,7 +6018,7 @@ RowDescription (B) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-saslinitialresponse"> <term> SASLInitialResponse (F) </term> @@ -6086,7 +6086,7 @@ SASLInitialResponse (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-saslresponse"> <term> SASLResponse (F) </term> @@ -6132,7 +6132,7 @@ SASLResponse (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-sslrequest"> <term> SSLRequest (F) </term> @@ -6170,7 +6170,7 @@ SSLRequest (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-startupmessage"> <term> StartupMessage (F) </term> @@ -6299,7 +6299,7 @@ StartupMessage (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-sync"> <term> Sync (F) </term> @@ -6334,7 +6334,7 @@ Sync (F) </varlistentry> -<varlistentry> +<varlistentry id="protocol-message-formats-terminate"> <term> Terminate (F) </term> @@ -6665,7 +6665,7 @@ flow as physical replication. <variablelist> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-begin"> <term> Begin </term> @@ -6720,7 +6720,7 @@ Begin </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-message"> <term> Message </term> @@ -6808,7 +6808,7 @@ Message </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-commit"> <term> Commit </term> @@ -6873,7 +6873,7 @@ Commit </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-origin"> <term> Origin </term> @@ -6922,7 +6922,7 @@ Origin </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-relation"> <term> Relation </term> @@ -7054,7 +7054,7 @@ Relation </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-type"> <term> Type </term> @@ -7119,7 +7119,7 @@ Type </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-insert"> <term> Insert </term> @@ -7186,7 +7186,7 @@ Insert </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-update"> <term> Update </term> @@ -7300,7 +7300,7 @@ Update </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-delete"> <term> Delete </term> @@ -7389,7 +7389,7 @@ Delete </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-truncate"> <term> Truncate </term> @@ -7467,7 +7467,7 @@ Stream Abort) are available since protocol version 2. <variablelist> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-stream-start"> <term> Stream Start </term> @@ -7512,7 +7512,7 @@ Stream Start </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-stream-stop"> <term> Stream Stop </term> @@ -7536,7 +7536,7 @@ Stream Stop </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-stream-commit"> <term> Stream Commit </term> @@ -7611,7 +7611,7 @@ Stream Commit </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-stream-abort"> <term> Stream Abort </term> @@ -7665,7 +7665,7 @@ are available since protocol version 3. <variablelist> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-begin-prepare"> <term>Begin Prepare</term> <listitem> @@ -7730,7 +7730,7 @@ are available since protocol version 3. </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-prepare"> <term>Prepare</term> <listitem> @@ -7804,7 +7804,7 @@ are available since protocol version 3. </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-commit-prepared"> <term>Commit Prepared</term> <listitem> @@ -7878,7 +7878,7 @@ are available since protocol version 3. </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-rollback-prepared"> <term>Rollback Prepared</term> <listitem> @@ -7962,7 +7962,7 @@ are available since protocol version 3. </listitem> </varlistentry> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-stream-prepare"> <term>Stream Prepare</term> <listitem> @@ -8046,7 +8046,7 @@ The following message parts are shared by the above messages. <variablelist> -<varlistentry> +<varlistentry id="protocol-logicalrep-message-formats-tupledata"> <term> TupleData </term> diff --git a/doc/src/sgml/stylesheet-html-common.xsl b/doc/src/sgml/stylesheet-html-common.xsl index 9df2782ce4..1bb2445f4e 100644 --- a/doc/src/sgml/stylesheet-html-common.xsl +++ b/doc/src/sgml/stylesheet-html-common.xsl @@ -301,4 +301,31 @@ set toc,title </xsl:choose> </xsl:template> + +<!-- Add links to ids in varlists to make them easier to use --> +<xsl:template match="varlistentry"> + <dt> + <xsl:call-template name="id.attribute"/> + <xsl:call-template name="anchor"/> + <xsl:apply-templates select="term"/> + <xsl:choose> + <xsl:when test="@id or @xml:id"> + <a> + <xsl:attribute name="href"> + <xsl:text>#</xsl:text> + <xsl:call-template name="object.id"/> + </xsl:attribute> + <xsl:attribute name="class"> + <xsl:text>id_link</xsl:text> + </xsl:attribute> + <xsl:text>#</xsl:text> + </a> + </xsl:when> + </xsl:choose> + </dt> + <dd> + <xsl:apply-templates select="listitem"/> + </dd> +</xsl:template> + </xsl:stylesheet> diff --git a/doc/src/sgml/stylesheet.css b/doc/src/sgml/stylesheet.css index 6410a47958..d3ea9a9f48 100644 --- a/doc/src/sgml/stylesheet.css +++ b/doc/src/sgml/stylesheet.css @@ -163,3 +163,12 @@ acronym { font-style: inherit; } width: 75%; } } + +/* Links to ids in long lists */ +.variablelist a.id_link { + visibility: hidden; +} +.variablelist *:hover > a.id_link, +.variablelist a.id_link:focus { + visibility: visible; +}