[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: multiple xreferences: [1,2,3] and [4]
Here's the thing. I need to show the biblio references like this: "one reference [1] and the some more [2, 3, 4] and so on..." I've successfully edited the <xsl:template match="xref" name="xref"> and it does work with one exception: If there are two on more single references in one paragraph, right square bracket is missing (=> foo bar [1 lorem ipsum 2]). Problem is that I haven't found a way to test whether xreferences are right next to each other or if there is some text between. Here's what I've managed to do so far: <!-- show multiple references like: [1, 2, 3] --> <xsl:otherwise> <xsl:if test="not(parent::citation)"> <!-- set "[" only if first xref entry --> <xsl:choose> <xsl:when test="not(preceding-sibling::xref)"> <xsl:apply-templates select="$target" mode="xref-to-prefix"/> </xsl:when> <!-- otherwise put space --> <xsl:otherwise> <xsl:text> </xsl:text> </xsl:otherwise> </xsl:choose> </xsl:if> .... <xsl:if test="not(parent::citation)"> <!-- set "]" only if last xref entry --> <xsl:choose> <xsl:when test="not(following-sibling::xref)"> <xsl:apply-templates select="$target" mode="xref-to-suffix"/> </xsl:when> <!-- otherwise put comma --> <xsl:otherwise> <xsl:text>, </xsl:text> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:otherwise> Regards, Juha
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]