[1/2] docbook-xsl: Update to 1.79.2

Message ID 20230125203022.133803-1-stefan.schantl@ipfire.org
State Accepted
Commit 2a6da3c7fb33b1d5aed3738fd87221fb259d18eb
Headers
Series [1/2] docbook-xsl: Update to 1.79.2 |

Commit Message

Stefan Schantl Jan. 25, 2023, 8:30 p.m. UTC
  This is an update to the latest available version.

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
---
 docbook-xsl/Makefile                          |  52 ---
 docbook-xsl/docbook-xsl.nm                    |  57 ++-
 .../patches/docbook-xsl-list-item-body.patch  | 110 -----
 docbook-xsl/patches/docbook-xsl-mandir.patch  |  19 -
 .../patches/docbook-xsl-marginleft.patch      | 100 -----
 .../patches/docbook-xsl-newmethods.patch      | 394 ------------------
 ...docbook-xsl-non-constant-expressions.patch |  25 --
 .../patches/docbook-xsl-pagesetup.patch       | 227 ----------
 8 files changed, 36 insertions(+), 948 deletions(-)
 delete mode 100644 docbook-xsl/Makefile
 delete mode 100644 docbook-xsl/patches/docbook-xsl-list-item-body.patch
 delete mode 100644 docbook-xsl/patches/docbook-xsl-mandir.patch
 delete mode 100644 docbook-xsl/patches/docbook-xsl-marginleft.patch
 delete mode 100644 docbook-xsl/patches/docbook-xsl-newmethods.patch
 delete mode 100644 docbook-xsl/patches/docbook-xsl-non-constant-expressions.patch
 delete mode 100644 docbook-xsl/patches/docbook-xsl-pagesetup.patch
  

Patch

diff --git a/docbook-xsl/Makefile b/docbook-xsl/Makefile
deleted file mode 100644
index 281656dec..000000000
--- a/docbook-xsl/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@ 
-BINDIR = /usr/bin
-DESTDIR = ..overridden in spec file..
-
-all: install
-
-install: install-xsl install-img install-extensions install-misc install-epub
-
-install-xsl:
-	mkdir -p $(DESTDIR)/{common,eclipse,fo,html,htmlhelp/doc,javahelp,lib,template,xhtml,xhtml-1_1,manpages,profiling,highlighting,roundtrip,website}
-	cp common/*.dtd $(DESTDIR)/common
-	cp common/*.ent $(DESTDIR)/common
-	cp common/*.xml $(DESTDIR)/common
-	cp common/*.xsl $(DESTDIR)/common
-	cp eclipse/*.xsl $(DESTDIR)/eclipse
-	cp fo/*.xml $(DESTDIR)/fo
-	cp fo/*.xsl $(DESTDIR)/fo
-	cp html/*.xml $(DESTDIR)/html
-	cp html/*.xsl $(DESTDIR)/html
-	cp htmlhelp/*.xsl $(DESTDIR)/htmlhelp
-	cp javahelp/*.xsl $(DESTDIR)/javahelp
-	cp lib/*.xsl $(DESTDIR)/lib
-	cp template/*.xsl $(DESTDIR)/template
-	cp xhtml/*.xsl $(DESTDIR)/xhtml
-	cp xhtml-1_1/*.xsl $(DESTDIR)/xhtml-1_1
-	cp manpages/*.xsl $(DESTDIR)/manpages
-	cp profiling/*.xsl $(DESTDIR)/profiling
-	cp highlighting/*.xml $(DESTDIR)/highlighting
-	cp highlighting/*.xsl $(DESTDIR)/highlighting
-	cp roundtrip/*.xml $(DESTDIR)/roundtrip
-	cp roundtrip/*.xsl $(DESTDIR)/roundtrip
-	cp roundtrip/*.dtd $(DESTDIR)/roundtrip
-	cp website/*.xsl $(DESTDIR)/website
-
-install-img:
-	mkdir -p $(DESTDIR)/images/callouts
-	cp images/*.gif $(DESTDIR)/images
-	cp images/*.png $(DESTDIR)/images
-	cp images/*.svg $(DESTDIR)/images
-	cp images/callouts/*.png $(DESTDIR)/images/callouts
-	cp images/callouts/*.gif $(DESTDIR)/images/callouts
-	cp images/callouts/*.svg $(DESTDIR)/images/callouts
-
-install-extensions:
-	mkdir -p $(DESTDIR)/extensions
-	cp -r extensions/* $(DESTDIR)/extensions
-
-install-epub:
-	mkdir -p $(DESTDIR)/epub
-	cp -r epub/* ${DESTDIR}/epub
-
-install-misc:
-	cp VERSION $(DESTDIR)
diff --git a/docbook-xsl/docbook-xsl.nm b/docbook-xsl/docbook-xsl.nm
index 028fdc8b6..f3a7a11b2 100644
--- a/docbook-xsl/docbook-xsl.nm
+++ b/docbook-xsl/docbook-xsl.nm
@@ -4,12 +4,12 @@ 
 ###############################################################################
 
 name       = docbook-xsl
-version    = 1.76.1
-release    = 3
+version    = 1.79.2
+release    = 1
 arch       = noarch
 
 groups     = Applications/Text
-url        = http://docbook.sourceforge.net/projects/xsl/
+url        = https://docbook.sourceforge.net/projects/xsl/
 license    = GPLv2+
 summary    = Norman Walsh's XSL stylesheets for DocBook XML.
 
@@ -18,29 +18,36 @@  description
 	other formats, such as HTML, FO, and XHMTL.  They are highly customizable.
 end
 
-source_dl = http://prdownloads.sourceforge.net/docbook/
+source_dl = https://github.com/docbook/xslt10-stylesheets/releases/download/release/%{version}/
 
-sources =\
-	%{thisapp}.tar.bz2 \
-	%{name}-doc-%{version}.tar.bz2
+sources = %{thisapp}.tar.bz2
 
 build
-	prepare_cmds
-		cp -av %{DIR_SOURCE}/Makefile %{DIR_APP}/Makefile
+	build
+		# Nothing to do.
 	end
 
-	build = # empty
+	install
+		# Create directory layout.
+		mkdir -pv %{BUILDROOT}/%{datadir}/sgml/docbook/xsl-ns-stylesheets-%{version}
 
-	make_install_targets +=\
-		BINDIR=%{BUILDROOT}/usr/bin \
-		DESTDIR=%{BUILDROOT}/usr/share/sgml/docbook/xsl-stylesheets-%{version}
+		# Install catalog files.
+		cp -avf [[:lower:]]* %{BUILDROOT}/%{datadir}/sgml/docbook/xsl-ns-stylesheets-%{version}/
+		cp -avf VERSION %{BUILDROOT}/%{datadir}/sgml/docbook/xsl-ns-stylesheets-%{version}/VERSION.xsl
+
+		ln -svf VERSION.xsl \
+			%{BUILDROOT}/%{datadir}/sgml/docbook/xsl-ns-stylesheets-%{version}/VERSION
+		ln -svf xsl-ns-stylesheets-%{version} \
+			%{BUILDROOT}/%{datadir}/sgml/docbook/xsl-ns-stylesheets
+
+		# Don't ship install shell script.
+		rm -rvf %{BUILDROOT}/%{datadir}/sgml/docbook/xsl-ns-stylesheets/install.sh
 
-	install_cmds
 		# Remove buggy extensions.
-		rm -rfv %{BUILDROOT}/usr/share/sgml/docbook/xsl-stylesheets-%{version}/extensions/*
+		rm -rfv %{BUILDROOT}/%{datadir}/sgml/docbook/xsl-stylesheets-%{version}/extensions/*
 
 		# Remove unneeded tool for .epub formats.
-		rm -rvf %{BUILDROOT}/usr/share/sgml/docbook/xsl-stylesheets-%{version}/epub
+		rm -rvf %{BUILDROOT}/%{datadir}/sgml/docbook/xsl-stylesheets-%{version}/epub
 	end
 end
 
@@ -62,25 +69,33 @@  packages
 			# Install catalog files.
 			/usr/bin/xmlcatalog --noout --add "rewriteSystem" \
 				"http://docbook.sourceforge.net/release/xsl/%{version}" \
-				"file:///usr/share/sgml/docbook/xsl-stylesheets-%{version}" /etc/xml/catalog
+				"file:///usr/share/sgml/docbook/xsl-ns-stylesheets-%{version}" /etc/xml/catalog
 
 			/usr/bin/xmlcatalog --noout --add "rewriteURI" \
 				"http://docbook.sourceforge.net/release/xsl/%{version}" \
-				"file:///usr/share/sgml/docbook/xsl-stylesheets-%{version}" /etc/xml/catalog
+				"file:///usr/share/sgml/docbook/xsl-ns-stylesheets-%{version}" /etc/xml/catalog
 
 			/usr/bin/xmlcatalog --noout --add "rewriteSystem" \
 				"http://docbook.sourceforge.net/release/xsl/current" \
-				"file:///usr/share/sgml/docbook/xsl-stylesheets-%{version}" /etc/xml/catalog
+				"file:///usr/share/sgml/docbook/xsl-ns-stylesheets-%{version}" /etc/xml/catalog
 
 			/usr/bin/xmlcatalog --noout --add "rewriteURI" \
 				"http://docbook.sourceforge.net/release/xsl/current" \
-				"file:///usr/share/sgml/docbook/xsl-stylesheets-%{version}" /etc/xml/catalog
+				"file:///usr/share/sgml/docbook/xsl-ns-stylesheets-%{version}" /etc/xml/catalog
+
+			/usr/bin/xmlcatalog --noout --add "rewriteSystem" \
+				"http://docbook.sourceforge.net/release/xsl-ns/current" \
+				"file:///usr/share/sgml/docbook/xsl-ns-stylesheets-%{version}" /etc/xml/catalog
+
+			/usr/bin/xmlcatalog --noout --add "rewriteURI" \
+				"http://docbook.sourceforge.net/release/xsl-ns/current" \
+				"file:///usr/share/sgml/docbook/xsl-ns-stylesheets-%{version}" /etc/xml/catalog
 		end
 
 		script preun
 			# Uninstall catalog files.
 			/usr/bin/xmlcatalog --noout --del \
-				"file:///usr/share/sgml/docbook/xsl-stylesheets-%{version}" /etc/xml/catalog
+				"file:///usr/share/sgml/docbook/xsl-ns-stylesheets-%{version}" /etc/xml/catalog
 		end
 	end
 end
diff --git a/docbook-xsl/patches/docbook-xsl-list-item-body.patch b/docbook-xsl/patches/docbook-xsl-list-item-body.patch
deleted file mode 100644
index a3d3819f7..000000000
--- a/docbook-xsl/patches/docbook-xsl-list-item-body.patch
+++ /dev/null
@@ -1,110 +0,0 @@ 
-diff -ruNp docbook-xsl-1.74.0.orig/fo/lists.xsl docbook-xsl-1.74.0/fo/lists.xsl
---- docbook-xsl-1.74.0.orig/fo/lists.xsl	2008-08-06 13:32:46.000000000 +0200
-+++ docbook-xsl-1.74.0/fo/lists.xsl	2008-08-06 13:41:27.000000000 +0200
-@@ -248,9 +248,17 @@
-       </fo:block>
-     </fo:list-item-label>
-     <fo:list-item-body start-indent="body-start()">
--      <fo:block>
--        <xsl:apply-templates/>
--      </fo:block>
-+      <xsl:choose>
-+        <!-- * work around broken passivetex list-item-body rendering -->
-+        <xsl:when test="$passivetex.extensions = '1'">
-+          <xsl:apply-templates/>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:block>
-+            <xsl:apply-templates/>
-+          </fo:block>
-+        </xsl:otherwise>
-+      </xsl:choose>
-     </fo:list-item-body>
-   </xsl:variable>
- 
-@@ -446,10 +454,18 @@
-       </fo:block>
-     </fo:list-item-label>
-     <fo:list-item-body start-indent="body-start()">
--      <fo:block>
--        <xsl:apply-templates select="listitem"/>
--      </fo:block>
--    </fo:list-item-body>
-+      <xsl:choose>
-+        <!-- * work around broken passivetex list-item-body rendering -->
-+        <xsl:when test="$passivetex.extensions = '1'">
-+          <xsl:apply-templates select="listitem"/>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:block>
-+            <xsl:apply-templates select="listitem"/>
-+          </fo:block>
-+        </xsl:otherwise>
-+      </xsl:choose>
-+     </fo:list-item-body>
-   </xsl:variable>
- 
-   <xsl:choose>
-@@ -925,9 +941,17 @@
-       </fo:block>
-     </fo:list-item-label>
-     <fo:list-item-body start-indent="body-start()">
--      <fo:block>
--        <xsl:apply-templates/>
--      </fo:block>
-+      <xsl:choose>
-+        <!-- * work around broken passivetex list-item-body rendering -->
-+        <xsl:when test="$passivetex.extensions = '1'">
-+          <xsl:apply-templates/>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:block>
-+            <xsl:apply-templates/>
-+          </fo:block>
-+        </xsl:otherwise>
-+      </xsl:choose>
-     </fo:list-item-body>
-   </fo:list-item>
- </xsl:template>
-@@ -951,9 +975,17 @@
-       </fo:block>
-     </fo:list-item-label>
-     <fo:list-item-body start-indent="body-start()">
--      <fo:block>
--        <xsl:apply-templates/>
--      </fo:block>
-+      <xsl:choose>
-+        <!-- * work around broken passivetex list-item-body rendering -->
-+        <xsl:when test="$passivetex.extensions = '1'">
-+          <xsl:apply-templates/>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:block>
-+            <xsl:apply-templates/>
-+          </fo:block>
-+        </xsl:otherwise>
-+      </xsl:choose>
-     </fo:list-item-body>
-   </fo:list-item>
- </xsl:template>
-@@ -1141,9 +1173,17 @@
-       </fo:block>
-     </fo:list-item-label>
-     <fo:list-item-body start-indent="body-start()">
--      <fo:block>
--        <xsl:apply-templates/>
--      </fo:block>
-+      <xsl:choose>
-+        <!-- * work around broken passivetex list-item-body rendering -->
-+        <xsl:when test="$passivetex.extensions = '1'">
-+          <xsl:apply-templates/>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:block>
-+            <xsl:apply-templates/>
-+          </fo:block>
-+        </xsl:otherwise>
-+      </xsl:choose>
-     </fo:list-item-body>
-   </fo:list-item>
- </xsl:template>
diff --git a/docbook-xsl/patches/docbook-xsl-mandir.patch b/docbook-xsl/patches/docbook-xsl-mandir.patch
deleted file mode 100644
index d2c5a7e47..000000000
--- a/docbook-xsl/patches/docbook-xsl-mandir.patch
+++ /dev/null
@@ -1,19 +0,0 @@ 
-diff -urNp docbook-xsl-1.76.1-orig/manpages/other.xsl docbook-xsl-1.76.1/manpages/other.xsl
---- docbook-xsl-1.76.1-orig/manpages/other.xsl	2010-08-27 05:14:52.000000000 +0200
-+++ docbook-xsl-1.76.1/manpages/other.xsl	2011-09-06 17:17:07.973737258 +0200
-@@ -595,7 +595,14 @@ manvolnum
-           <xsl:with-param name="message-prolog">Note: </xsl:with-param>
-           <xsl:with-param name="message-epilog"> (soelim stub)</xsl:with-param>
-           <xsl:with-param name="content">
--            <xsl:value-of select="'.so '"/>
-+            <xsl:choose>
-+              <xsl:when test="$man.output.in.separate.dir = 0">
-+              <xsl:value-of select="concat('.so man', $section, '/')"/>
-+              </xsl:when>
-+              <xsl:otherwise>
-+              <xsl:value-of select="'.so '"/> <!-- added case -->
-+              </xsl:otherwise>
-+              </xsl:choose>
-             <xsl:call-template name="make.adjusted.man.filename">
-               <xsl:with-param name="name" select="$first.refname"/>
-               <xsl:with-param name="section" select="$section"/>
diff --git a/docbook-xsl/patches/docbook-xsl-marginleft.patch b/docbook-xsl/patches/docbook-xsl-marginleft.patch
deleted file mode 100644
index 31c1b84d2..000000000
--- a/docbook-xsl/patches/docbook-xsl-marginleft.patch
+++ /dev/null
@@ -1,100 +0,0 @@ 
-diff -ruNp docbook-xsl-1.74.0.orig/fo/lists.xsl docbook-xsl-1.74.0/fo/lists.xsl
---- docbook-xsl-1.74.0.orig/fo/lists.xsl	2008-06-01 23:36:39.000000000 +0200
-+++ docbook-xsl-1.74.0/fo/lists.xsl	2008-08-06 13:32:46.000000000 +0200
-@@ -324,7 +324,7 @@
-       </xsl:when>
-       <xsl:when test="@termlength">
-         <xsl:variable name="termlength.is.number">
--          <xsl:value-of select="@termlength + 0"/>
-+          <xsl:value-of select="@termlength"/>
-         </xsl:variable>
-         <xsl:choose>
-           <xsl:when test="string($termlength.is.number) = 'NaN'">
-@@ -333,15 +333,7 @@
-           </xsl:when>
-           <xsl:otherwise>
-             <xsl:value-of select="@termlength"/>
--            <xsl:choose>
--              <!-- workaround for passivetex lack of support for non-constant expressions -->
--              <xsl:when test="$passivetex.extensions != 0">
--                <xsl:text>em</xsl:text>
--              </xsl:when>
--              <xsl:otherwise>
--                <xsl:text>em * 0.60</xsl:text>
--              </xsl:otherwise>
--            </xsl:choose>
-+            <xsl:text>em</xsl:text>
-           </xsl:otherwise>
-         </xsl:choose>
-       </xsl:when>
-@@ -350,15 +342,7 @@
-           <xsl:with-param name="terms" select="varlistentry/term"/>
-           <xsl:with-param name="maxlength" select="$variablelist.max.termlength"/>
-         </xsl:call-template>
--        <xsl:choose>
--          <!-- workaround for passivetex lack of support for non-constant expressions -->
--          <xsl:when test="$passivetex.extensions != 0">
--            <xsl:text>em</xsl:text>
--          </xsl:when>
--          <xsl:otherwise>
--            <xsl:text>em * 0.60</xsl:text>
--          </xsl:otherwise>
--        </xsl:choose>
-+        <xsl:text>em</xsl:text>
-       </xsl:otherwise>
-     </xsl:choose>
-   </xsl:variable>
-@@ -372,17 +356,7 @@
- 
-   <xsl:variable name="label-separation">1em</xsl:variable>
-   <xsl:variable name="distance-between-starts">
--    <xsl:choose>
--      <!-- workaround for passivetex lack of support for non-constant expressions -->
--      <xsl:when test="$passivetex.extensions != 0">
--        <xsl:value-of select="$termlength"/>
--      </xsl:when>
--      <xsl:otherwise>
--        <xsl:value-of select="$termlength"/>
--        <xsl:text>+</xsl:text>
--        <xsl:value-of select="$label-separation"/>
--      </xsl:otherwise>
--    </xsl:choose>
-+    <xsl:value-of select="$termlength"/>
-   </xsl:variable>
- 
-   <xsl:if test="title">
-diff -ruNp docbook-xsl-1.74.0.orig/fo/param.xsl docbook-xsl-1.74.0/fo/param.xsl
---- docbook-xsl-1.74.0.orig/fo/param.xsl	2008-06-02 01:06:18.000000000 +0200
-+++ docbook-xsl-1.74.0/fo/param.xsl	2008-08-06 13:32:46.000000000 +0200
-@@ -133,8 +133,8 @@
- <xsl:attribute-set name="component.title.properties">
-   <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-   <xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master, 'pt')"/></xsl:attribute>
--  <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master, 'pt * 0.8')"/></xsl:attribute>
--  <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master, 'pt * 1.2')"/></xsl:attribute>
-+  <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master*0.8, 'pt')"/></xsl:attribute>
-+  <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master*1.2, 'pt')"/></xsl:attribute>
-   <xsl:attribute name="hyphenate">false</xsl:attribute>
-   <xsl:attribute name="text-align">
-     <xsl:choose>
-diff -urNp docbook-xsl-1.75.0-orig/fo/pagesetup.xsl docbook-xsl-1.75.0/fo/pagesetup.xsl
---- docbook-xsl-1.75.0-orig/fo/pagesetup.xsl	2009-05-11 11:40:49.000000000 +0200
-+++ docbook-xsl-1.75.0/fo/pagesetup.xsl	2009-05-11 11:42:29.000000000 +0200
-@@ -30,16 +30,7 @@
- </xsl:param>
- 
- <xsl:param name="margin.left.inner">
--  <xsl:choose>
--    <xsl:when test="$passivetex.extensions != 0">
--      <xsl:value-of select="$page.margin.inner"/>
--    </xsl:when>
--    <xsl:otherwise>
--      <xsl:value-of select="$page.margin.inner"/>
--      <xsl:text> - </xsl:text>
--      <xsl:value-of select="$title.margin.left"/>
--    </xsl:otherwise>
--  </xsl:choose>
-+  <xsl:value-of select="$page.margin.inner"/>
- </xsl:param>
- 
- <xsl:template name="setup.pagemasters">
diff --git a/docbook-xsl/patches/docbook-xsl-newmethods.patch b/docbook-xsl/patches/docbook-xsl-newmethods.patch
deleted file mode 100644
index debc51ba0..000000000
--- a/docbook-xsl/patches/docbook-xsl-newmethods.patch
+++ /dev/null
@@ -1,394 +0,0 @@ 
-diff -ruNp docbook-xsl-1.74.0.orig/html/docbook.xsl docbook-xsl-1.74.0/html/docbook.xsl
---- docbook-xsl-1.74.0.orig/html/docbook.xsl	2008-06-01 23:36:39.000000000 +0200
-+++ docbook-xsl-1.74.0/html/docbook.xsl	2008-08-06 13:37:35.000000000 +0200
-@@ -26,6 +26,7 @@
- <xsl:include href="../VERSION"/>
- <xsl:include href="param.xsl"/>
- <xsl:include href="../lib/lib.xsl"/>
-+<xsl:include href="../lib/dumpfragment.xsl"/>
- <xsl:include href="../common/l10n.xsl"/>
- <xsl:include href="../common/common.xsl"/>
- <xsl:include href="../common/utility.xsl"/>
-@@ -44,6 +45,7 @@
- <xsl:include href="graphics.xsl"/>
- <xsl:include href="xref.xsl"/>
- <xsl:include href="formal.xsl"/>
-+<xsl:include href="dtbl.xsl"/>
- <xsl:include href="table.xsl"/>
- <xsl:include href="htmltbl.xsl"/>
- <xsl:include href="sections.xsl"/>
-diff -ruNp docbook-xsl-1.74.0.orig/html/dtbl.xsl docbook-xsl-1.74.0/html/dtbl.xsl
---- docbook-xsl-1.74.0.orig/html/dtbl.xsl	1970-01-01 01:00:00.000000000 +0100
-+++ docbook-xsl-1.74.0/html/dtbl.xsl	2008-08-06 13:37:35.000000000 +0200
-@@ -0,0 +1,293 @@
-+<?xml version="1.0" encoding="US-ASCII"?>
-+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-+                xmlns:exsl="http://exslt.org/common"
-+                xmlns:func="http://exslt.org/functions"
-+                xmlns:dtbl="http://docbook.sourceforge.net/dtbl"
-+                extension-element-prefixes="func"
-+                exclude-result-prefixes="exsl func dtbl"
-+                version="1.0">
-+
-+<func:function name="dtbl:convertLength">
-+  <xsl:param name="arbitrary.length"/>
-+
-+  <xsl:variable name="pixels.per.inch" select="96"/>
-+
-+  <xsl:variable name="unscaled.length"
-+                select="translate($arbitrary.length, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ', '')"/>
-+
-+  <xsl:variable name="units"
-+                select="translate($arbitrary.length,'+-0123456789. ', '')"/>
-+
-+  <xsl:variable name="scaled.length">
-+    <xsl:choose>
-+      <xsl:when test="$units='in'">
-+        <xsl:value-of select="$unscaled.length * $pixels.per.inch"/>
-+      </xsl:when>
-+      <xsl:when test="$units='cm'">
-+        <xsl:value-of select="$unscaled.length * ($pixels.per.inch div 2.54)"/>
-+      </xsl:when>
-+      <xsl:when test="$units='mm'">
-+        <xsl:value-of select="$unscaled.length * ($pixels.per.inch div 25.4)"/>
-+      </xsl:when>
-+      <xsl:when test="$units='pc'">
-+        <xsl:value-of select="$unscaled.length * (($pixels.per.inch div 72) * 12)"/>
-+      </xsl:when>
-+      <xsl:when test="$units='pt'">
-+        <xsl:value-of select="$unscaled.length * ($pixels.per.inch div 72)"/>
-+      </xsl:when>
-+      <xsl:when test="$units='px' or $units=''">
-+        <xsl:value-of select="$unscaled.length"/>
-+      </xsl:when>
-+      <xsl:otherwise>
-+        <xsl:message terminate="no">
-+          <xsl:text>"</xsl:text>
-+          <xsl:value-of select="$units"/>
-+          <xsl:text>" is not a known unit.  Applying scaling factor of 1 instead.</xsl:text>
-+        </xsl:message>
-+        <xsl:value-of select="$unscaled.length"/>
-+      </xsl:otherwise>
-+    </xsl:choose>
-+  </xsl:variable>
-+
-+  <func:result select="round($scaled.length)"/>
-+</func:function>
-+
-+<func:function name="dtbl:adjustColumnWidths">
-+  <xsl:param name="colgroup"/>
-+
-+  <xsl:if test="$adjustColumnWidths.debug">
-+    <xsl:message>
-+      <xsl:text>entering adjustColumnWidths(</xsl:text>
-+      <xsl:call-template name="dump-fragment">
-+        <xsl:with-param name="fragment" select="$colgroup"/>
-+      </xsl:call-template>
-+      <xsl:text>)</xsl:text>
-+    </xsl:message>
-+  </xsl:if>
-+
-+  <xsl:variable name="expanded.colgroup">
-+    <xsl:apply-templates select="exsl:node-set($colgroup)/*" mode="dtbl-split-widths"/>
-+  </xsl:variable>
-+
-+  <xsl:variable name="absolute.widths.total">
-+    <xsl:value-of select="sum(exsl:node-set($expanded.colgroup)//col/@abswidth)"/>
-+  </xsl:variable>
-+
-+  <xsl:variable name="relative.widths.total">
-+    <xsl:value-of select="sum(exsl:node-set($expanded.colgroup)//col/@relwidth)"/>
-+  </xsl:variable>
-+
-+  <xsl:if test="$adjustColumnWidths.debug">
-+    <xsl:message>
-+      <xsl:text>total relative widths = (</xsl:text>
-+      <xsl:value-of select="$relative.widths.total"/>
-+      <xsl:text>)</xsl:text>
-+    </xsl:message>
-+    <xsl:message>
-+      <xsl:text>total absolute widths = (</xsl:text>
-+      <xsl:value-of select="$absolute.widths.total"/>
-+      <xsl:text>)</xsl:text>
-+    </xsl:message>
-+  </xsl:if>
-+
-+  <xsl:variable name="adjusted.colgroup">
-+    <xsl:choose>
-+      <xsl:when test="$relative.widths.total = 0">
-+        <xsl:if test="$adjustColumnWidths.debug">
-+          <xsl:message>all widths are absolute</xsl:message>
-+        </xsl:if>
-+        <xsl:apply-templates select="exsl:node-set($expanded.colgroup)/*"
-+                             mode="dtbl-use-absolute-widths"/>
-+      </xsl:when>
-+      <xsl:when test="$absolute.widths.total = 0">
-+        <xsl:if test="$adjustColumnWidths.debug">
-+          <xsl:message>all widths are relative</xsl:message>
-+        </xsl:if>
-+        <xsl:apply-templates select="exsl:node-set($expanded.colgroup)/*"
-+                             mode="dtbl-use-relative-widths">
-+          <xsl:with-param name="relative.widths.total"
-+                          select="$relative.widths.total"/>
-+        </xsl:apply-templates>
-+      </xsl:when>
-+    </xsl:choose>
-+  </xsl:variable>
-+
-+  <xsl:variable name="corrected.adjusted.colgroup">
-+    <xsl:choose>
-+      <xsl:when test="$relative.widths.total = 0">
-+        <xsl:copy-of select="$adjusted.colgroup"/>
-+      </xsl:when>
-+      <xsl:otherwise>
-+        <xsl:variable name="widths.total"
-+                      select="sum(exsl:node-set($adjusted.colgroup)//col/@width)"/>
-+        <xsl:variable name="n.columns"
-+                      select="count(exsl:node-set($adjusted.colgroup)//col)"/>
-+        <xsl:variable name="error"
-+                      select="100 - $widths.total"/>
-+        <xsl:variable name="first.bad.column"
-+                      select="($n.columns - $error) + 1"/>
-+        <xsl:apply-templates select="exsl:node-set($adjusted.colgroup)/*"
-+                             mode="dtbl-correct-rounding-error">
-+          <xsl:with-param name="first.bad.column"
-+                          select="$first.bad.column"/>
-+        </xsl:apply-templates>
-+      </xsl:otherwise>
-+    </xsl:choose>
-+  </xsl:variable>
-+
-+  <xsl:if test="$adjustColumnWidths.debug">
-+    <xsl:message>
-+      <xsl:text>result = (</xsl:text>
-+      <xsl:call-template name="dump-fragment">
-+        <xsl:with-param name="fragment" select="$corrected.adjusted.colgroup"/>
-+      </xsl:call-template>
-+      <xsl:text>)</xsl:text>
-+    </xsl:message>
-+  </xsl:if>
-+
-+  <func:result select="$corrected.adjusted.colgroup"/>
-+</func:function>
-+
-+<xsl:template match="colgroup" mode="dtbl-correct-rounding-error">
-+  <xsl:param name="first.bad.column"/>
-+
-+  <xsl:if test="$adjustColumnWidths.debug">
-+    <xsl:message>
-+      <xsl:text>first.bad.column = (</xsl:text>
-+      <xsl:value-of select="$first.bad.column"/>
-+      <xsl:text>)</xsl:text>
-+    </xsl:message>
-+  </xsl:if>
-+
-+  <colgroup>
-+    <xsl:for-each select="col[position() &lt; $first.bad.column]">
-+      <xsl:element name="col">
-+        <xsl:attribute name="width">
-+          <xsl:value-of select="concat(@width, '%')"/>
-+        </xsl:attribute>
-+      </xsl:element>
-+    </xsl:for-each>
-+    <xsl:for-each select="col[position() >= $first.bad.column]">
-+      <xsl:element name="col">
-+        <xsl:attribute name="width">
-+          <xsl:value-of select="concat(@width + 1, '%')"/>
-+        </xsl:attribute>
-+      </xsl:element>
-+    </xsl:for-each>
-+  </colgroup>
-+</xsl:template>
-+
-+<xsl:template match="col" mode="dtbl-correct-rounding-error">
-+  <xsl:param name="relative.widths.total"/>
-+  <xsl:param name="error"/>
-+
-+  <xsl:element name="col">
-+    <xsl:attribute name="width">
-+      <xsl:value-of select="concat('', round((@relwidth div $relative.widths.total) * 100))"/>
-+    </xsl:attribute>
-+    <xsl:apply-templates mode="dtbl-use-absolute-widths"/>
-+  </xsl:element>
-+</xsl:template>
-+
-+<xsl:template match="colgroup" mode="dtbl-use-relative-widths">
-+  <xsl:param name="relative.widths.total"/>
-+
-+  <colgroup>
-+    <xsl:apply-templates mode="dtbl-use-relative-widths">
-+      <xsl:with-param name="relative.widths.total"
-+                      select="$relative.widths.total"/>
-+    </xsl:apply-templates>
-+  </colgroup>
-+</xsl:template>
-+
-+<xsl:template match="col" mode="dtbl-use-relative-widths">
-+  <xsl:param name="relative.widths.total"/>
-+
-+  <xsl:element name="col">
-+    <xsl:attribute name="width">
-+      <xsl:value-of select="round((@relwidth div $relative.widths.total) * 100)"/>
-+    </xsl:attribute>
-+    <xsl:apply-templates mode="dtbl-use-absolute-widths"/>
-+  </xsl:element>
-+</xsl:template>
-+
-+<xsl:template match="colgroup" mode="dtbl-use-absolute-widths">
-+  <colgroup>
-+    <xsl:apply-templates mode="dtbl-use-absolute-widths"/>
-+  </colgroup>
-+</xsl:template>
-+
-+<xsl:template match="col" mode="dtbl-use-absolute-widths">
-+  <xsl:element name="col">
-+    <xsl:attribute name="width">
-+      <xsl:value-of select="@abswidth"/>
-+    </xsl:attribute>
-+    <xsl:apply-templates mode="dtbl-use-absolute-widths"/>
-+  </xsl:element>
-+</xsl:template>
-+
-+<xsl:template match="colgroup" mode="dtbl-split-widths">
-+  <colgroup>
-+    <xsl:apply-templates mode="dtbl-split-widths"/>
-+  </colgroup>
-+</xsl:template>
-+
-+<xsl:template match="col" mode="dtbl-split-widths">
-+
-+  <!-- width = @width ? @width : '1*' -->
-+  <xsl:variable name="width">
-+    <xsl:choose>
-+      <xsl:when test="@width != ''">
-+        <xsl:value-of select="@width"/>
-+      </xsl:when>
-+      <xsl:otherwise>
-+        <xsl:text>1*</xsl:text>
-+      </xsl:otherwise>
-+    </xsl:choose>
-+  </xsl:variable>
-+
-+  <!-- absolute.width = contains($width,'*') ? substring-after($width, '*') : $width -->
-+  <xsl:variable name="absolute.width">
-+    <xsl:choose>
-+      <xsl:when test="contains($width, '*')">
-+        <xsl:value-of select="substring-after($width, '*')"/>
-+      </xsl:when>
-+      <xsl:otherwise>
-+        <xsl:value-of select="$width"/>
-+      </xsl:otherwise>
-+    </xsl:choose>
-+  </xsl:variable>
-+
-+  <xsl:variable name="converted.absolute.width">
-+    <xsl:choose>
-+      <xsl:when test="$absolute.width != ''">
-+        <xsl:value-of select="dtbl:convertLength($absolute.width)"/>
-+      </xsl:when>
-+     <xsl:otherwise>0</xsl:otherwise>
-+    </xsl:choose>
-+  </xsl:variable>
-+
-+  <xsl:variable name="relative.width">
-+    <xsl:choose>
-+      <xsl:when test="substring-before($width, '*') != ''">
-+        <xsl:value-of select="substring-before($width, '*')"/>
-+      </xsl:when>
-+      <xsl:otherwise>0</xsl:otherwise>
-+    </xsl:choose>
-+  </xsl:variable>
-+
-+  <xsl:element name="col">
-+    <xsl:attribute name="width">
-+      <xsl:value-of select="$width"/>
-+    </xsl:attribute>
-+    <xsl:attribute name="relwidth">
-+      <xsl:value-of select="$relative.width"/>
-+    </xsl:attribute>
-+    <xsl:attribute name="abswidth">
-+      <xsl:value-of select="$converted.absolute.width"/>
-+    </xsl:attribute>
-+    <xsl:apply-templates mode="dtbl-split-widths"/>
-+  </xsl:element>
-+</xsl:template>
-+
-+</xsl:stylesheet>
-diff -ruNp docbook-xsl-1.74.0.orig/html/table.xsl docbook-xsl-1.74.0/html/table.xsl
---- docbook-xsl-1.74.0.orig/html/table.xsl	2008-06-01 23:36:39.000000000 +0200
-+++ docbook-xsl-1.74.0/html/table.xsl	2008-08-06 13:37:35.000000000 +0200
-@@ -5,7 +5,8 @@
-                 xmlns:xtbl="xalan://com.nwalsh.xalan.Table"
-                 xmlns:lxslt="http://xml.apache.org/xslt"
-                 xmlns:ptbl="http://nwalsh.com/xslt/ext/xsltproc/python/Table"
--                exclude-result-prefixes="doc stbl xtbl lxslt ptbl"
-+                xmlns:dtbl="http://docbook.sourceforge.net/dtbl"
-+                exclude-result-prefixes="doc stbl xtbl lxslt ptbl dtbl"
-                 version='1.0'>
- 
- <xsl:include href="../common/table.xsl"/>
-@@ -365,6 +366,9 @@
-           <xsl:when test="$use.extensions != 0
-                           and $tablecolumns.extension != 0">
-             <xsl:choose>
-+              <xsl:when test="function-available('dtbl:convertLength')">
-+                <xsl:value-of select="dtbl:convertLength($table.width)"/>
-+              </xsl:when>
-               <xsl:when test="function-available('stbl:convertLength')">
-                 <xsl:value-of select="stbl:convertLength($table.width)"/>
-               </xsl:when>
-@@ -389,6 +393,9 @@
-       <xsl:when test="$use.extensions != 0
-                       and $tablecolumns.extension != 0">
-         <xsl:choose>
-+          <xsl:when test="function-available('dtbl:adjustColumnWidths')">
-+            <xsl:copy-of select="dtbl:adjustColumnWidths($colgroup)"/>
-+          </xsl:when>
-           <xsl:when test="function-available('stbl:adjustColumnWidths')">
-             <xsl:copy-of select="stbl:adjustColumnWidths($colgroup)"/>
-           </xsl:when>
-diff -ruNp docbook-xsl-1.74.0.orig/lib/dumpfragment.xsl docbook-xsl-1.74.0/lib/dumpfragment.xsl
---- docbook-xsl-1.74.0.orig/lib/dumpfragment.xsl	1970-01-01 01:00:00.000000000 +0100
-+++ docbook-xsl-1.74.0/lib/dumpfragment.xsl	2008-08-06 13:37:35.000000000 +0200
-@@ -0,0 +1,30 @@
-+<?xml version="1.0" encoding="US-ASCII"?>
-+<xsl:stylesheet version="1.0"
-+                xmlns:exsl="http://exslt.org/common"
-+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-+                xmlns="http://www.w3.org/1999/xhtml"
-+                exclude-result-prefixes="exsl">
-+
-+<xsl:template name="dump-fragment">
-+  <xsl:param name="fragment"/>
-+  <xsl:apply-templates select="exsl:node-set($fragment)/*" mode="dump-fragment"/>
-+</xsl:template>
-+
-+<xsl:template match="@*" mode="dump-fragment">
-+  <xsl:text> </xsl:text>
-+  <xsl:value-of select="local-name(.)"/>
-+  <xsl:text>="</xsl:text>
-+  <xsl:value-of select="."/>
-+  <xsl:text>"</xsl:text>
-+</xsl:template>
-+
-+<xsl:template match="*" mode="dump-fragment">
-+  <xsl:text>&lt;</xsl:text><xsl:value-of select="local-name(.)"/>
-+  <xsl:apply-templates select="@*" mode="dump-fragment"/>
-+  <xsl:text>></xsl:text>
-+  <xsl:apply-templates mode="dump-fragment"/>
-+  <xsl:text>&lt;/</xsl:text><xsl:value-of select="local-name(.)"/>
-+  <xsl:text>></xsl:text>
-+</xsl:template>
-+
-+</xsl:stylesheet>
-diff -urNp docbook-xsl-1.76.0-orig/html/param.xsl docbook-xsl-1.76.0/html/param.xsl
---- docbook-xsl-1.76.0-orig/html/param.xsl	2010-08-31 09:27:22.000000000 +0200
-+++ docbook-xsl-1.76.0/html/param.xsl	2010-09-06 11:01:07.916914161 +0200
-@@ -68,6 +68,7 @@ div.annotation-close { position: absolut
- http://docbook.sourceforge.net/release/images/annot-close.png</xsl:param>
- <xsl:param name="annotation.graphic.open">http://docbook.sourceforge.net/release/images/annot-open.png</xsl:param>
- 
-+<xsl:param name="adjustColumnWidths.debug" select="false()"/>
- <xsl:param name="annotation.js">
- <xsl:text>http://docbook.sourceforge.net/release/script/AnchorPosition.js http://docbook.sourceforge.net/release/script/PopupWindow.js</xsl:text></xsl:param>
- 
diff --git a/docbook-xsl/patches/docbook-xsl-non-constant-expressions.patch b/docbook-xsl/patches/docbook-xsl-non-constant-expressions.patch
deleted file mode 100644
index 0c3f6be74..000000000
--- a/docbook-xsl/patches/docbook-xsl-non-constant-expressions.patch
+++ /dev/null
@@ -1,25 +0,0 @@ 
-diff -ruNp docbook-xsl-1.74.0.orig/fo/param.xsl docbook-xsl-1.74.0/fo/param.xsl
---- docbook-xsl-1.74.0.orig/fo/param.xsl	2008-08-06 13:32:46.000000000 +0200
-+++ docbook-xsl-1.74.0/fo/param.xsl	2008-08-06 13:38:36.000000000 +0200
-@@ -23,8 +23,8 @@
-   <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-   <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-   <xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master, 'pt')"/></xsl:attribute>
--  <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master, 'pt * 0.8')"/></xsl:attribute>
--  <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master, 'pt * 1.2')"/></xsl:attribute>
-+  <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat(($body.font.master * 0.8), 'pt')"/></xsl:attribute>
-+  <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat(($body.font.master * 1.2), 'pt')"/></xsl:attribute>
-   <xsl:attribute name="hyphenate">false</xsl:attribute>
-   <xsl:attribute name="text-align">center</xsl:attribute>
- </xsl:attribute-set>
-@@ -334,8 +334,8 @@ set       toc,title
-   <xsl:attribute name="font-weight">bold</xsl:attribute>
-   <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
-   <xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master,'pt')"/></xsl:attribute>
--  <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master,'pt * 0.8')"/></xsl:attribute>
--  <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master,'pt * 1.2')"/></xsl:attribute>
-+  <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat(($body.font.master * 0.8),'pt')"/></xsl:attribute>
-+  <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat(($body.font.master * 1.2),'pt')"/></xsl:attribute>
-   <xsl:attribute name="start-indent">0pt</xsl:attribute>
- </xsl:attribute-set>
- <xsl:attribute-set name="index.entry.properties">
diff --git a/docbook-xsl/patches/docbook-xsl-pagesetup.patch b/docbook-xsl/patches/docbook-xsl-pagesetup.patch
deleted file mode 100644
index e4d77ffca..000000000
--- a/docbook-xsl/patches/docbook-xsl-pagesetup.patch
+++ /dev/null
@@ -1,227 +0,0 @@ 
-diff -ruNp docbook-xsl-1.74.0.orig/fo/pagesetup.xsl docbook-xsl-1.74.0/fo/pagesetup.xsl
---- docbook-xsl-1.74.0.orig/fo/pagesetup.xsl	2008-06-01 23:36:39.000000000 +0200
-+++ docbook-xsl-1.74.0/fo/pagesetup.xsl	2008-08-06 13:31:11.000000000 +0200
-@@ -1697,36 +1697,81 @@
-         <xsl:with-param name="gentext-key" select="$gentext-key"/>
-       </xsl:call-template>
- 
--      <fo:table-column column-number="1">
--        <xsl:attribute name="column-width">
--          <xsl:text>proportional-column-width(</xsl:text>
--          <xsl:call-template name="header.footer.width">
--            <xsl:with-param name="location">header</xsl:with-param>
--            <xsl:with-param name="position" select="$column1"/>
--          </xsl:call-template>
--          <xsl:text>)</xsl:text>
--        </xsl:attribute>
--      </fo:table-column>
--      <fo:table-column column-number="2">
--        <xsl:attribute name="column-width">
--          <xsl:text>proportional-column-width(</xsl:text>
--          <xsl:call-template name="header.footer.width">
--            <xsl:with-param name="location">header</xsl:with-param>
--            <xsl:with-param name="position" select="2"/>
--          </xsl:call-template>
--          <xsl:text>)</xsl:text>
--        </xsl:attribute>
--      </fo:table-column>
--      <fo:table-column column-number="3">
--        <xsl:attribute name="column-width">
--          <xsl:text>proportional-column-width(</xsl:text>
--          <xsl:call-template name="header.footer.width">
--            <xsl:with-param name="location">header</xsl:with-param>
--            <xsl:with-param name="position" select="$column3"/>
--          </xsl:call-template>
--          <xsl:text>)</xsl:text>
--        </xsl:attribute>
--      </fo:table-column>
-+      <xsl:choose>
-+        <xsl:when test="$passivetex.extensions != 0">
-+          <fo:table-column column-number="1">
-+            <xsl:attribute name="column-width">
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">header</xsl:with-param>
-+                <xsl:with-param name="position" select="$column1"/>
-+              </xsl:call-template>
-+              <xsl:text>%</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:table-column column-number="1">
-+            <xsl:attribute name="column-width">
-+              <xsl:text>proportional-column-width(</xsl:text>
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">header</xsl:with-param>
-+                <xsl:with-param name="position" select="$column1"/>
-+              </xsl:call-template>
-+              <xsl:text>)</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:otherwise>
-+			</xsl:choose>
-+      <xsl:choose>
-+        <xsl:when test="$passivetex.extensions != 0">
-+          <fo:table-column column-number="2">
-+            <xsl:attribute name="column-width">
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">header</xsl:with-param>
-+                <xsl:with-param name="position" select="2"/>
-+              </xsl:call-template>
-+              <xsl:text>%</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:table-column column-number="2">
-+            <xsl:attribute name="column-width">
-+              <xsl:text>proportional-column-width(</xsl:text>
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">header</xsl:with-param>
-+                <xsl:with-param name="position" select="2"/>
-+              </xsl:call-template>
-+              <xsl:text>)</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:otherwise>
-+      </xsl:choose>
-+      <xsl:choose>
-+        <xsl:when test="$passivetex.extensions != 0">
-+          <fo:table-column column-number="3">
-+            <xsl:attribute name="column-width">
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">header</xsl:with-param>
-+                <xsl:with-param name="position" select="$column3"/>
-+              </xsl:call-template>
-+              <xsl:text>%</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:table-column column-number="3">
-+            <xsl:attribute name="column-width">
-+              <xsl:text>proportional-column-width(</xsl:text>
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">header</xsl:with-param>
-+                <xsl:with-param name="position" select="$column3"/>
-+              </xsl:call-template>
-+              <xsl:text>)</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:otherwise>
-+      </xsl:choose>
- 
-       <fo:table-body>
-         <fo:table-row>
-@@ -2021,36 +2066,81 @@
-         <xsl:with-param name="sequence" select="$sequence"/>
-         <xsl:with-param name="gentext-key" select="$gentext-key"/>
-       </xsl:call-template>
--      <fo:table-column column-number="1">
--        <xsl:attribute name="column-width">
--          <xsl:text>proportional-column-width(</xsl:text>
--          <xsl:call-template name="header.footer.width">
--            <xsl:with-param name="location">footer</xsl:with-param>
--            <xsl:with-param name="position" select="$column1"/>
--          </xsl:call-template>
--          <xsl:text>)</xsl:text>
--        </xsl:attribute>
--      </fo:table-column>
--      <fo:table-column column-number="2">
--        <xsl:attribute name="column-width">
--          <xsl:text>proportional-column-width(</xsl:text>
--          <xsl:call-template name="header.footer.width">
--            <xsl:with-param name="location">footer</xsl:with-param>
--            <xsl:with-param name="position" select="2"/>
--          </xsl:call-template>
--          <xsl:text>)</xsl:text>
--        </xsl:attribute>
--      </fo:table-column>
--      <fo:table-column column-number="3">
--        <xsl:attribute name="column-width">
--          <xsl:text>proportional-column-width(</xsl:text>
--          <xsl:call-template name="header.footer.width">
--            <xsl:with-param name="location">footer</xsl:with-param>
--            <xsl:with-param name="position" select="$column3"/>
--          </xsl:call-template>
--          <xsl:text>)</xsl:text>
--        </xsl:attribute>
--      </fo:table-column>
-+      <xsl:choose>
-+        <xsl:when test="$passivetex.extensions != 0">
-+          <fo:table-column column-number="1">
-+            <xsl:attribute name="column-width">
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">footer</xsl:with-param>
-+                <xsl:with-param name="position" select="$column1"/>
-+              </xsl:call-template>
-+              <xsl:text>%</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:table-column column-number="1">
-+            <xsl:attribute name="column-width">
-+              <xsl:text>proportional-column-width(</xsl:text>
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">footer</xsl:with-param>
-+                <xsl:with-param name="position" select="$column1"/>
-+              </xsl:call-template>
-+              <xsl:text>)</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:otherwise>
-+      </xsl:choose>
-+      <xsl:choose>
-+        <xsl:when test="$passivetex.extensions != 0">
-+          <fo:table-column column-number="2">
-+            <xsl:attribute name="column-width">
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">footer</xsl:with-param>
-+                <xsl:with-param name="position" select="2"/>
-+              </xsl:call-template>
-+              <xsl:text>%</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:table-column column-number="2">
-+            <xsl:attribute name="column-width">
-+              <xsl:text>proportional-column-width(</xsl:text>
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">footer</xsl:with-param>
-+                <xsl:with-param name="position" select="2"/>
-+              </xsl:call-template>
-+              <xsl:text>)</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:otherwise>
-+      </xsl:choose>
-+      <xsl:choose>
-+        <xsl:when test="$passivetex.extensions != 0">
-+          <fo:table-column column-number="3">
-+            <xsl:attribute name="column-width">
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">footer</xsl:with-param>
-+                <xsl:with-param name="position" select="$column3"/>
-+              </xsl:call-template>
-+              <xsl:text>%</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:when>
-+        <xsl:otherwise>
-+          <fo:table-column column-number="3">
-+            <xsl:attribute name="column-width">
-+              <xsl:text>proportional-column-width(</xsl:text>
-+              <xsl:call-template name="header.footer.width">
-+                <xsl:with-param name="location">footer</xsl:with-param>
-+                <xsl:with-param name="position" select="$column3"/>
-+              </xsl:call-template>
-+              <xsl:text>)</xsl:text>
-+            </xsl:attribute>
-+          </fo:table-column>
-+        </xsl:otherwise>
-+      </xsl:choose>
- 
-       <fo:table-body>
-         <fo:table-row>