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