]> granicus.if.org Git - docbook-dsssl/commitdiff
Support default label width parameters for itemized and ordered lists
authorNorman Walsh <ndw@nwalsh.com>
Wed, 5 Oct 2005 21:05:13 +0000 (21:05 +0000)
committerNorman Walsh <ndw@nwalsh.com>
Wed, 5 Oct 2005 21:05:13 +0000 (21:05 +0000)
xsl/fo/lists.xsl
xsl/fo/param.ent
xsl/fo/param.xweb
xsl/params/itemizedlist.label.width.xml [new file with mode: 0644]
xsl/params/orderedlist.label.width.xml [new file with mode: 0644]

index 1a7dc1f0584c7e5254bb7dbe3eab4731e237ff6e..f6fcb12bf68718d6d006014a365fad46fd89a2ed 100644 (file)
@@ -20,7 +20,7 @@
     <xsl:call-template name="object.id"/>
   </xsl:variable>
 
-  <xsl:variable name="label-width">
+  <xsl:variable name="pi-label-width">
     <xsl:call-template name="dbfo-attribute">
       <xsl:with-param name="pis"
                       select="processing-instruction('dbfo')"/>
     </xsl:call-template>
   </xsl:variable>
 
+  <xsl:variable name="label-width">
+    <xsl:choose>
+      <xsl:when test="$pi-label-width = ''">
+       <xsl:value-of select="$itemizedlist.label.width"/>
+      </xsl:when>
+      <xsl:otherwise>
+       <xsl:value-of select="$pi-label-width"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
   <xsl:if test="title">
     <xsl:apply-templates select="title" mode="list.title.mode"/>
   </xsl:if>
   <xsl:choose>
     <xsl:when test="ancestor::listitem">
       <fo:list-block id="{$id}" xsl:use-attribute-sets="itemizedlist.properties">
-       <xsl:if test="$label-width != ''">
-         <xsl:attribute name="provisional-distance-between-starts">
-           <xsl:value-of select="$label-width"/>
-         </xsl:attribute>
-       </xsl:if>
+       <xsl:attribute name="provisional-distance-between-starts">
+         <xsl:value-of select="$label-width"/>
+       </xsl:attribute>
         <xsl:copy-of select="$content"/>
       </fo:list-block>
     </xsl:when>
     <xsl:otherwise>
       <fo:list-block id="{$id}" xsl:use-attribute-sets="list.block.spacing itemizedlist.properties">
-       <xsl:if test="$label-width != ''">
-         <xsl:attribute name="provisional-distance-between-starts">
-           <xsl:value-of select="$label-width"/>
-         </xsl:attribute>
-       </xsl:if>
-        <xsl:copy-of select="$content"/>
+       <xsl:attribute name="provisional-distance-between-starts">
+         <xsl:value-of select="$label-width"/>
+       </xsl:attribute>
+       <xsl:copy-of select="$content"/>
       </fo:list-block>
     </xsl:otherwise>
   </xsl:choose>
     <xsl:call-template name="object.id"/>
   </xsl:variable>
 
-  <xsl:variable name="label-width">
+  <xsl:variable name="pi-label-width">
     <xsl:call-template name="dbfo-attribute">
       <xsl:with-param name="pis"
                       select="processing-instruction('dbfo')"/>
     </xsl:call-template>
   </xsl:variable>
 
+  <xsl:variable name="label-width">
+    <xsl:choose>
+      <xsl:when test="$pi-label-width = ''">
+       <xsl:value-of select="$itemizedlist.label.width"/>
+      </xsl:when>
+      <xsl:otherwise>
+       <xsl:value-of select="$pi-label-width"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
   <xsl:if test="title">
     <xsl:apply-templates select="title" mode="list.title.mode"/>
   </xsl:if>
   <xsl:choose>
     <xsl:when test="ancestor::listitem">
       <fo:list-block id="{$id}" xsl:use-attribute-sets="orderedlist.properties">
-       <xsl:if test="$label-width != ''">
-         <xsl:attribute name="provisional-distance-between-starts">
-           <xsl:value-of select="$label-width"/>
-         </xsl:attribute>
-       </xsl:if>
+       <xsl:attribute name="provisional-distance-between-starts">
+         <xsl:value-of select="$label-width"/>
+       </xsl:attribute>
         <xsl:copy-of select="$content"/>
       </fo:list-block>
     </xsl:when>
     <xsl:otherwise>
       <fo:list-block id="{$id}" xsl:use-attribute-sets="list.block.spacing orderedlist.properties">
-       <xsl:if test="$label-width != ''">
-         <xsl:attribute name="provisional-distance-between-starts">
-           <xsl:value-of select="$label-width"/>
-         </xsl:attribute>
-       </xsl:if>
+       <xsl:attribute name="provisional-distance-between-starts">
+         <xsl:value-of select="$label-width"/>
+       </xsl:attribute>
         <xsl:copy-of select="$content"/>
       </fo:list-block>
     </xsl:otherwise>
index dc4ca7159b575d06157aa60eafcc2f5ad7b68048..3f6b9a8da210f415dcac7ca237c2c5e4335b2d7d 100644 (file)
 <!ENTITY margin.note.width SYSTEM "../params/margin.note.width.xml">
 <!ENTITY abstract.properties SYSTEM "../params/abstract.properties.xml">
 <!ENTITY abstract.title.properties SYSTEM "../params/abstract.title.properties.xml">
+<!ENTITY itemizedlist.label.width SYSTEM "../params/itemizedlist.label.width.xml">
+<!ENTITY orderedlist.label.width SYSTEM "../params/orderedlist.label.width.xml">
index cfe6ebe5ba6e8398710f35a91471b0a641ac7e15..570becb8fb22ad2005f18be30f3745cddb485c91 100644 (file)
@@ -205,11 +205,13 @@ generate.section.toc.level;
 &compact.list.item.spacing;
 &itemizedlist.properties;
 &itemizedlist.label.properties;
+&itemizedlist.label.width;
 &list.block.properties;
 &list.block.spacing;
 &list.item.spacing;
 &orderedlist.properties;
 &orderedlist.label.properties;
+&orderedlist.label.width;
 &variablelist.max.termlength;
 &variablelist.term.separator;
 &variablelist.term.break.after;
@@ -661,6 +663,7 @@ around all these parameters.</para>
 <src:fragref linkend="insert.xref.page.number.frag"/>
 <src:fragref linkend="itemizedlist.properties.frag"/>
 <src:fragref linkend="itemizedlist.label.properties.frag"/>
+<src:fragref linkend="itemizedlist.label.width.frag"/>
 <src:fragref linkend="l10n.gentext.default.language.frag"/>
 <src:fragref linkend="l10n.gentext.language.frag"/>
 <src:fragref linkend="l10n.gentext.use.xref.language.frag"/>
@@ -696,6 +699,7 @@ around all these parameters.</para>
 <src:fragref linkend="olink.lang.fallback.sequence.frag"/>
 <src:fragref linkend="orderedlist.properties.frag"/>
 <src:fragref linkend="orderedlist.label.properties.frag"/>
+<src:fragref linkend="orderedlist.label.width.frag"/>
 <src:fragref linkend="prefer.internal.olink.frag"/>
 <src:fragref linkend="insert.olink.page.number.frag"/>
 <src:fragref linkend="insert.olink.pdf.frag.frag"/>
diff --git a/xsl/params/itemizedlist.label.width.xml b/xsl/params/itemizedlist.label.width.xml
new file mode 100644 (file)
index 0000000..0f6ac5b
--- /dev/null
@@ -0,0 +1,19 @@
+<refentry id="itemizedlist.label.width">
+<refnamediv>
+<refname>itemizedlist.label.width</refname>
+<refpurpose>The default width of the label (bullet) in an itemized list.</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='itemizedlist.label.width.frag'>
+<xsl:param name="itemizedlist.label.width" select="'1.8em'"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+<para>Specifies the default width of the label (usually a bullet or other
+symbol) in an itemized list. You can override the default value on any
+particular list with the “dbfo” processing instruction using the
+“label-width” pseudoattribute.</para>
+</refsect1>
+</refentry>
diff --git a/xsl/params/orderedlist.label.width.xml b/xsl/params/orderedlist.label.width.xml
new file mode 100644 (file)
index 0000000..60ce2c8
--- /dev/null
@@ -0,0 +1,19 @@
+<refentry id="orderedlist.label.width">
+<refnamediv>
+<refname>orderedlist.label.width</refname>
+<refpurpose>The default width of the label (number) in an ordered list.</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='orderedlist.label.width.frag'>
+<xsl:param name="orderedlist.label.width" select="'1.8em'"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+<para>Specifies the default width of the label (usually a number or
+sequence of numbers) in an ordered list. You can override the default
+value on any particular list with the “dbfo” processing instruction
+using the “label-width” pseudoattribute.</para>
+</refsect1>
+</refentry>