generate.consistent.ids — Generate consistent id values if document is unchanged


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


When the stylesheet assigns an id value to an output element, the generate-id() function may be used. That function may not produce consistent values between runs. Version control systems may misidentify the changing id values as changes to the document.

If you set this parameter's value to 1, then the template named will replace the use of the function generate-id() with <xsl:number level="multiple" count="*"/>. This counts preceding elements to generate a unique number for the id value.


This param does not associate permanent unique id values with particular elements. The id values are consistent only as long as the document structure does not change. If the document structure changes, then the counting of elements changes, and all id values after the first such change may be different, even when there is no change to the element itself or its output.

The default value of this parameter is zero, so generate-id() is used by default.