summaryrefslogtreecommitdiffstats
path: root/docutil/patch-db2latex-duplicate-template-bug
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 18:37:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 18:37:14 +0000
commitea648e70a989cca190cd7403fe892fd2dcc290b4 (patch)
treee2b6b1c647da68b0d4d66082835e256eb30970e8 /docutil/patch-db2latex-duplicate-template-bug
parentInitial commit. (diff)
downloadbind9-upstream/1%9.11.5.P4+dfsg.tar.xz
bind9-upstream/1%9.11.5.P4+dfsg.zip
Adding upstream version 1:9.11.5.P4+dfsg.upstream/1%9.11.5.P4+dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'docutil/patch-db2latex-duplicate-template-bug')
-rw-r--r--docutil/patch-db2latex-duplicate-template-bug75
1 files changed, 75 insertions, 0 deletions
diff --git a/docutil/patch-db2latex-duplicate-template-bug b/docutil/patch-db2latex-duplicate-template-bug
new file mode 100644
index 0000000..c9354ae
--- /dev/null
+++ b/docutil/patch-db2latex-duplicate-template-bug
@@ -0,0 +1,75 @@
+;; This is a patch to work around a known bug in db2latex. Apparently
+;; xsltproc's error checking got a lot better since the authors of
+;; db2latex last tested this, so a clear language violation that
+;; xsltproc used to ignore now prevents xsltproc from working with
+;; db2latex.
+;;
+;; On FreeBSD you can simply drop this patch into the directory
+;; /usr/ports/textproc/db2latex/files/ and the ports system should
+;; take it from there. I've sent this patch off to the port
+;; maintainer but have not yet heard anything back.
+;;
+;; I don't really know whther this is the "right" fix, but it seems to
+;; work, and I'm pretty sure that the code this patch deletes does not
+;; work as it stands, so at worst the result after applying this patch
+;; should be no worse than the result without this patch.
+;;
+;; YMMV. If this patch breaks, you get to keep both pieces.
+
+Index: xsl/qandaset.mod.xsl
+--- xsl/qandaset.mod.xsl.~1~ Sun Jan 4 08:22:27 2004
++++ xsl/qandaset.mod.xsl Fri Apr 1 22:30:20 2005
+@@ -363,53 +363,4 @@
+ </doc:template>
+ <xsl:template match="revhistory" mode="qandatoc.mode"/>
+
+-<xsl:template name="question.answer.label">
+- <!-- variable: deflabel -->
+- <xsl:variable name="deflabel">
+- <!-- chck whether someone has a defaultlabel attribute -->
+- <xsl:choose>
+- <xsl:when test="ancestor-or-self::*[@defaultlabel]">
+- <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]/@defaultlabel"/>
+- </xsl:when>
+- <xsl:otherwise>
+- <xsl:value-of select="latex.qanda.defaultlabel"/>
+- </xsl:otherwise>
+- </xsl:choose>
+- </xsl:variable>
+-
+- <xsl:variable name="label" select="@label"/>
+- <xsl:choose>
+- <xsl:when test="$deflabel = 'qanda'">
+- <xsl:call-template name="gentext">
+- <xsl:with-param name="key">
+- <xsl:choose>
+- <xsl:when test="local-name(.) = 'question'">question</xsl:when>
+- <xsl:when test="local-name(.) = 'answer'">answer</xsl:when>
+- <xsl:when test="local-name(.) = 'qandadiv'">qandadiv</xsl:when>
+- <xsl:otherwise>qandaset</xsl:otherwise>
+- </xsl:choose>
+- </xsl:with-param>
+- </xsl:call-template>
+- </xsl:when>
+- <xsl:when test="$deflabel = 'label'">
+- <xsl:value-of select="$label"/>
+- </xsl:when>
+- <xsl:when test="$deflabel = 'number' and local-name(.) = 'question'">
+- <xsl:apply-templates select="ancestor::qandaset[1]" mode="number"/>
+- <xsl:choose>
+- <xsl:when test="ancestor::qandadiv">
+- <xsl:apply-templates select="ancestor::qandadiv[1]" mode="number"/>
+- <xsl:apply-templates select="ancestor::qandaentry" mode="number"/>
+- </xsl:when>
+- <xsl:otherwise>
+- <xsl:apply-templates select="ancestor::qandaentry" mode="number"/>
+- </xsl:otherwise>
+- </xsl:choose>
+- </xsl:when>
+- <xsl:otherwise>
+- <!-- nothing -->
+- </xsl:otherwise>
+- </xsl:choose>
+-</xsl:template>
+-
+ </xsl:stylesheet>