I have recently tried to use reproducible ID generation option in current DocBook XSL release with my book, and ran in to a strange issue.
By setting XSL parameter generate.consistent.ids to value 1, I found that most automatic element IDs and anchor names are consistent between each generator run; but inside the generated <index>, each index entry is still assigned with random ID which changes between each run.
HTML (attempt 1):
<dl><dt id="ientry-idm1205275716">index, <a class="indexterm" href="#id-1">Example Document with Index</a>
</dt></dl>
HTML (attempt 2):
<dl><dt id="ientry-idm1207030556">index, <a class="indexterm" href="#id-1">Example Document with Index</a>
</dt></dl>
XSL-FO (attempt 1):
<fo:block id="ientry-idm1202254988">index, <fo:basic-link internal-destination="id-1.2.1"><fo:page-number-citation ref-id="id-1.2.1"/></fo:basic-link></fo:block>
XSL-FO (attempt 2):
<fo:block id="ientry-idm1204065108">index, <fo:basic-link internal-destination="id-1.2.1"><fo:page-number-citation ref-id="id-1.2.1"/></fo:basic-link></fo:block>
This affects at least single-page HTML, chunked HTML, and XSL-FO generation.
Though the problem does not hinder usability of generated documents, it defeats the purpose of this option which ensures reproducible generation to aid auditing and version-controlled uses.
I have written a simple test article file which exhibits this behavior, attached with result of two HTML/HTML-chunked/XSL-FO generation attempt as indexterm-inconsistent-id.zip.
See also: bug [#1088], generate.consistent.ids in HTML (docbook.sourceforge.net), generate.consistent.ids in XSL-FO (docbook.sourceforge.net)
DocBook XML DTD: 4.4
DocBook XSL: 1.79.1
XSLT Processor: XSLTproc 1.1.28
Runtime: Cygwin 1.7.28 32-bit
System: Microsoft Windows XP Professional SP3
P.S. Since symptom of both HTML and XSL-FO are virtually identical, I reported them as a single bug entry. Please correct me if the report should be splitted up.
Indeed, this is a bug introduced when the "autolink.index.see" option was added in 2014. That implementation uses generate-id() and did not take into account"generate.consistent.ids", which was added in 2012. If "autolink.index.see" is set to zero, then those random IDs are not generated, but at the loss of that feature. This bug should be fixed by the next release.