xref: /minix3/external/bsd/bind/dist/docutil/patch-db2latex-duplicate-template-bug (revision 00b67f09dd46474d133c95011a48590a8e8f94c7)
1*00b67f09SDavid van Moolenbroek;; Id: patch-db2latex-duplicate-template-bug,v 1.2 2007/01/12 22:24:20 sra Exp
2*00b67f09SDavid van Moolenbroek;;
3*00b67f09SDavid van Moolenbroek;; This is a patch to work around a known bug in db2latex.  Apparently
4*00b67f09SDavid van Moolenbroek;; xsltproc's error checking got a lot better since the authors of
5*00b67f09SDavid van Moolenbroek;; db2latex last tested this, so a clear language violation that
6*00b67f09SDavid van Moolenbroek;; xsltproc used to ignore now prevents xsltproc from working with
7*00b67f09SDavid van Moolenbroek;; db2latex.
8*00b67f09SDavid van Moolenbroek;;
9*00b67f09SDavid van Moolenbroek;; On FreeBSD you can simply drop this patch into the directory
10*00b67f09SDavid van Moolenbroek;; /usr/ports/textproc/db2latex/files/ and the ports system should
11*00b67f09SDavid van Moolenbroek;; take it from there.  I've sent this patch off to the port
12*00b67f09SDavid van Moolenbroek;; maintainer but have not yet heard anything back.
13*00b67f09SDavid van Moolenbroek;;
14*00b67f09SDavid van Moolenbroek;; I don't really know whther this is the "right" fix, but it seems to
15*00b67f09SDavid van Moolenbroek;; work, and I'm pretty sure that the code this patch deletes does not
16*00b67f09SDavid van Moolenbroek;; work as it stands, so at worst the result after applying this patch
17*00b67f09SDavid van Moolenbroek;; should be no worse than the result without this patch.
18*00b67f09SDavid van Moolenbroek;;
19*00b67f09SDavid van Moolenbroek;; YMMV.  If this patch breaks, you get to keep both pieces.
20*00b67f09SDavid van Moolenbroek
21*00b67f09SDavid van MoolenbroekIndex: xsl/qandaset.mod.xsl
22*00b67f09SDavid van Moolenbroek--- xsl/qandaset.mod.xsl.~1~	Sun Jan  4 08:22:27 2004
23*00b67f09SDavid van Moolenbroek+++ xsl/qandaset.mod.xsl	Fri Apr  1 22:30:20 2005
24*00b67f09SDavid van Moolenbroek@@ -363,53 +363,4 @@
25*00b67f09SDavid van Moolenbroek 	</doc:template>
26*00b67f09SDavid van Moolenbroek 	<xsl:template match="revhistory" mode="qandatoc.mode"/>
27*00b67f09SDavid van Moolenbroek
28*00b67f09SDavid van Moolenbroek-<xsl:template name="question.answer.label">
29*00b67f09SDavid van Moolenbroek-	<!-- variable: deflabel -->
30*00b67f09SDavid van Moolenbroek-  <xsl:variable name="deflabel">
31*00b67f09SDavid van Moolenbroek-  	<!-- chck whether someone has a defaultlabel attribute -->
32*00b67f09SDavid van Moolenbroek-    <xsl:choose>
33*00b67f09SDavid van Moolenbroek-		<xsl:when test="ancestor-or-self::*[@defaultlabel]">
34*00b67f09SDavid van Moolenbroek-        	<xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()]/@defaultlabel"/>
35*00b67f09SDavid van Moolenbroek-	      </xsl:when>
36*00b67f09SDavid van Moolenbroek-      <xsl:otherwise>
37*00b67f09SDavid van Moolenbroek-        <xsl:value-of select="latex.qanda.defaultlabel"/>
38*00b67f09SDavid van Moolenbroek-      </xsl:otherwise>
39*00b67f09SDavid van Moolenbroek-    </xsl:choose>
40*00b67f09SDavid van Moolenbroek-  </xsl:variable>
41*00b67f09SDavid van Moolenbroek-
42*00b67f09SDavid van Moolenbroek-  <xsl:variable name="label" select="@label"/>
43*00b67f09SDavid van Moolenbroek-  <xsl:choose>
44*00b67f09SDavid van Moolenbroek-    <xsl:when test="$deflabel = 'qanda'">
45*00b67f09SDavid van Moolenbroek-      <xsl:call-template name="gentext">
46*00b67f09SDavid van Moolenbroek-        <xsl:with-param name="key">
47*00b67f09SDavid van Moolenbroek-          <xsl:choose>
48*00b67f09SDavid van Moolenbroek-            <xsl:when test="local-name(.) = 'question'">question</xsl:when>
49*00b67f09SDavid van Moolenbroek-            <xsl:when test="local-name(.) = 'answer'">answer</xsl:when>
50*00b67f09SDavid van Moolenbroek-            <xsl:when test="local-name(.) = 'qandadiv'">qandadiv</xsl:when>
51*00b67f09SDavid van Moolenbroek-            <xsl:otherwise>qandaset</xsl:otherwise>
52*00b67f09SDavid van Moolenbroek-          </xsl:choose>
53*00b67f09SDavid van Moolenbroek-        </xsl:with-param>
54*00b67f09SDavid van Moolenbroek-      </xsl:call-template>
55*00b67f09SDavid van Moolenbroek-    </xsl:when>
56*00b67f09SDavid van Moolenbroek-    <xsl:when test="$deflabel = 'label'">
57*00b67f09SDavid van Moolenbroek-      <xsl:value-of select="$label"/>
58*00b67f09SDavid van Moolenbroek-    </xsl:when>
59*00b67f09SDavid van Moolenbroek-    <xsl:when test="$deflabel = 'number' and local-name(.) = 'question'">
60*00b67f09SDavid van Moolenbroek-      <xsl:apply-templates select="ancestor::qandaset[1]" mode="number"/>
61*00b67f09SDavid van Moolenbroek-      <xsl:choose>
62*00b67f09SDavid van Moolenbroek-        <xsl:when test="ancestor::qandadiv">
63*00b67f09SDavid van Moolenbroek-          <xsl:apply-templates select="ancestor::qandadiv[1]" mode="number"/>
64*00b67f09SDavid van Moolenbroek-          <xsl:apply-templates select="ancestor::qandaentry" mode="number"/>
65*00b67f09SDavid van Moolenbroek-        </xsl:when>
66*00b67f09SDavid van Moolenbroek-        <xsl:otherwise>
67*00b67f09SDavid van Moolenbroek-          <xsl:apply-templates select="ancestor::qandaentry" mode="number"/>
68*00b67f09SDavid van Moolenbroek-        </xsl:otherwise>
69*00b67f09SDavid van Moolenbroek-      </xsl:choose>
70*00b67f09SDavid van Moolenbroek-    </xsl:when>
71*00b67f09SDavid van Moolenbroek-    <xsl:otherwise>
72*00b67f09SDavid van Moolenbroek-      <!-- nothing -->
73*00b67f09SDavid van Moolenbroek-    </xsl:otherwise>
74*00b67f09SDavid van Moolenbroek-  </xsl:choose>
75*00b67f09SDavid van Moolenbroek-</xsl:template>
76*00b67f09SDavid van Moolenbroek-
77*00b67f09SDavid van Moolenbroek </xsl:stylesheet>
78