about summary refs log tree commit diff
path: root/nixos/doc/manual/options-to-docbook.xsl
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-04-14 10:19:30 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-04-14 10:26:12 +0200
commitba29614578dd7181a05ed0972c80ba59548b6f52 (patch)
tree64a964dfe7a07945e827473c79bd831c1550f553 /nixos/doc/manual/options-to-docbook.xsl
parent6449bc2f239ffab6e8b8470994c5960f774fca5c (diff)
downloadnixlib-ba29614578dd7181a05ed0972c80ba59548b6f52.tar
nixlib-ba29614578dd7181a05ed0972c80ba59548b6f52.tar.gz
nixlib-ba29614578dd7181a05ed0972c80ba59548b6f52.tar.bz2
nixlib-ba29614578dd7181a05ed0972c80ba59548b6f52.tar.lz
nixlib-ba29614578dd7181a05ed0972c80ba59548b6f52.tar.xz
nixlib-ba29614578dd7181a05ed0972c80ba59548b6f52.tar.zst
nixlib-ba29614578dd7181a05ed0972c80ba59548b6f52.zip
Manual: Generate stable ids for options
E.g. ‘#opt-boot.initrd.kernelModules’.

Also, shut up a stupid XSLT warning (‘attribute value is not an NCName’).
Diffstat (limited to 'nixos/doc/manual/options-to-docbook.xsl')
-rw-r--r--nixos/doc/manual/options-to-docbook.xsl4
1 files changed, 3 insertions, 1 deletions
diff --git a/nixos/doc/manual/options-to-docbook.xsl b/nixos/doc/manual/options-to-docbook.xsl
index 9647aae0f2fb..6170332880fb 100644
--- a/nixos/doc/manual/options-to-docbook.xsl
+++ b/nixos/doc/manual/options-to-docbook.xsl
@@ -18,8 +18,10 @@
       <variablelist>
 
         <xsl:for-each select="attrs">
+          <xsl:variable name="id" select="concat('opt-', str:replace(str:replace(str:replace(str:replace(attr[@name = 'name']/string/@value, '*', '_'), '&lt;', '_'), '>', '_'), '?', '_'))" />
           <varlistentry>
-            <term xml:id="{generate-id(attr[@name = 'name']/string/@value)}" xlink:href="#{generate-id(attr[@name = 'name']/string/@value)}">
+            <term xlink:href="#{$id}">
+              <xsl:attribute name="xml:id"><xsl:value-of select="$id"/></xsl:attribute>
               <option>
                  <xsl:for-each select="attr[@name = 'name']/string">
                    <xsl:value-of select="@value" />