When the stylesheets create anchors on elements that don't have an id
attribute, they use some internal mechanism to make one up.  With the
DSSSL stylesheets, those are the things like AEN112787.  With the new
XSL stylesheets, you similarly get things like idm21497, but unlike the
DSSSL way, those are not consistent across builds, because they are made
from some internal memory locations.  That makes it hard to diff build
results without resorting to a bunch of tricks that we have had to use
recently to manage the toolchain transition.  And such links cannot be
shared, because they change on the next build.

I found that the setting

<xsl:param name="generate.consistent.ids" select="1"/>

also enables the XSL stylesheets to produce anchors that are consistent
across builds.  I would have expected that to increase the build time,
but in my testing the penalty is barely noticeable.  So I would like to
make this change in PG11 and also PG10.  Patch attached.

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From c03b0f5657d64b457e844a7a6dc49c7a6a7681ae Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pete...@gmx.net>
Date: Fri, 1 Dec 2017 13:30:21 -0500
Subject: [PATCH] doc: Turn on generate.consistent.ids parameter

---
 doc/src/sgml/stylesheet-common.xsl | 1 +
 1 file changed, 1 insertion(+)

diff --git a/doc/src/sgml/stylesheet-common.xsl 
b/doc/src/sgml/stylesheet-common.xsl
index 658a5ac5e1..6d26e7e5c9 100644
--- a/doc/src/sgml/stylesheet-common.xsl
+++ b/doc/src/sgml/stylesheet-common.xsl
@@ -36,6 +36,7 @@
 <xsl:param name="refentry.generate.title" select="1"></xsl:param>
 <xsl:param name="refentry.xref.manvolnum" select="0"/>
 <xsl:param name="formal.procedures" select="0"></xsl:param>
+<xsl:param name="generate.consistent.ids" select="1"/>
 <xsl:param name="punct.honorific" select="''"></xsl:param>
 <xsl:param name="variablelist.term.break.after">1</xsl:param>
 <xsl:param name="variablelist.term.separator"></xsl:param>
-- 
2.15.0

Reply via email to