]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Old db2latex which should be on HEAD so we don't lose track of them.
authorRob Austein <sra@isc.org>
Fri, 12 Jan 2007 22:24:20 +0000 (22:24 +0000)
committerRob Austein <sra@isc.org>
Fri, 12 Jan 2007 22:24:20 +0000 (22:24 +0000)
We care about these because we need them to generate the PDF ARM.

docutil/patch-db2latex-duplicate-template-bug [new file with mode: 0644]
docutil/patch-db2latex-xsltproc-title-bug [new file with mode: 0644]

diff --git a/docutil/patch-db2latex-duplicate-template-bug b/docutil/patch-db2latex-duplicate-template-bug
new file mode 100644 (file)
index 0000000..75100e1
--- /dev/null
@@ -0,0 +1,77 @@
+;; $Id: patch-db2latex-duplicate-template-bug,v 1.2 2007/01/12 22:24:20 sra Exp $
+;; 
+;; 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>
diff --git a/docutil/patch-db2latex-xsltproc-title-bug b/docutil/patch-db2latex-xsltproc-title-bug
new file mode 100644 (file)
index 0000000..88d6c24
--- /dev/null
@@ -0,0 +1,29 @@
+;; $Id: patch-db2latex-xsltproc-title-bug,v 1.2 2007/01/12 22:24:20 sra Exp $
+;; 
+;; This patches around a problem that I don't completely understand,
+;; and which may in fact be an xsltproc bug rather than a db2latex
+;; bug.  Symptom is that the generated \title{} contains not only the
+;; book title but also the concatenation of all the chapter titles.
+;; This makes no sense, it doesn't happen with saxon, it doesn't
+;; happen with all versions of xsltproc, and attempts to trace this
+;; with --verbose and <xsl:message/> leave me more wondering whether
+;; it's me or xsltproc that doesn't understand the XSLT pattern
+;; matching rules.
+;; 
+;; All that said, the change below prevents the bad behavior and
+;; should be completely harmless, so it will do as a workaround.
+
+Index: xsl/book-article.mod.xsl
+--- xsl/book-article.mod.xsl.~1~       Tue May  3 21:51:18 2005
++++ xsl/book-article.mod.xsl   Sat May  7 09:00:26 2005
+@@ -87,8 +87,8 @@
+               <xsl:call-template name="generate.latex.book.preamble"/>
+               <!-- book:2: output title information     -->
+               <xsl:text>\title{</xsl:text>
+-                      <xsl:apply-templates select="title|bookinfo/title"/>
+-                      <xsl:apply-templates select="subtitle|bookinfo/subtitle"/>
++                      <xsl:apply-templates select="/book/title|/book/bookinfo/title"/>
++                      <xsl:apply-templates select="/book/subtitle|/book/bookinfo/subtitle"/>
+               <xsl:text>}&#10;</xsl:text>
+               <!-- book:3: output author information     -->
+               <xsl:text>\author{</xsl:text>