[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: emphasis role and $depth mod 2 = 1
Hello every one, Version: docbook-xsl-1.72.0 I hate to customize Docbook code without understanding what possible errors code was designed to handle so I am going to ask before removing the test. In the template <xsl:template match="emphasis"> I am trying to find out why the test <xsl:when test="$depth mod 2 = 1"> exists and what it was designed for. Does anyone know? (This same test is used for quote and may be used elsewhere.) I attempted to trigger the test but failed (by adding 2 then 3 periods to the XML text, since this seems to be testing for an odd number of periods). Thanks, Julie May Templates in question: <!--lib/lib.xsl--> <xsl:template name="dot.count"> <!-- Returns the number of "." characters in a string --> <xsl:param name="string"/> <xsl:param name="count" select="0"/> <xsl:choose> <xsl:when test="contains($string, '.')"> <xsl:call-template name="dot.count"> <xsl:with-param name="string" select="substring-after($string, '.')"/> <xsl:with-param name="count" select="$count+1"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$count"/> </xsl:otherwise> </xsl:choose> </xsl:template> <!--fo/inline.xsl, also exists in html --> <xsl:template match="emphasis"> <xsl:variable name="depth"> <xsl:call-template name="dot.count"> <xsl:with-param name="string"> <xsl:number level="multiple"/> </xsl:with-param> </xsl:call-template> </xsl:variable> <xsl:choose> <xsl:when test="@role='bold' or @role='strong'"> <xsl:call-template name="inline.boldseq"/> </xsl:when> <xsl:when test="@role='underline'"> <fo:inline text-decoration="underline"> <xsl:call-template name="inline.charseq"/> </fo:inline> </xsl:when> <xsl:when test="@role='strikethrough'"> <fo:inline text-decoration="line-through"> <xsl:call-template name="inline.charseq"/> </fo:inline> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="$depth mod 2 = 1"><!--this is the line referenced in the question--> <fo:inline font-style="normal"> <xsl:apply-templates/> </fo:inline> </xsl:when> <xsl:otherwise> <xsl:call-template name="inline.italicseq"/> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:template>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]