From: Robert S. <bob...@us...> - 2003-12-02 04:14:22
|
Update of /cvsroot/docbook/xsl/fo In directory sc8-pr-cvs1:/tmp/cvs-serv31617 Modified Files: lists.xsl Log Message: Processing of listitems now processes and preserves order of comments and PIs. Index: lists.xsl =================================================================== RCS file: /cvsroot/docbook/xsl/fo/lists.xsl,v retrieving revision 1.45 retrieving revision 1.46 diff -u -U2 -r1.45 -r1.46 --- lists.xsl 24 Nov 2003 16:32:30 -0000 1.45 +++ lists.xsl 2 Dec 2003 00:01:07 -0000 1.46 @@ -33,7 +33,11 @@ </xsl:if> - <xsl:apply-templates select="*[not(self::listitem - or self::title - or self::titleabbrev)]"/> + <!-- Preserve order of PIs and comments --> + <xsl:apply-templates + select="*[not(self::listitem + or self::title + or self::titleabbrev)] + |comment()[not(preceding-sibling::listitem)] + |processing-instruction()[not(preceding-sibling::listitem)]"/> <fo:list-block id="{$id}" xsl:use-attribute-sets="list.block.spacing" @@ -47,5 +51,8 @@ </xsl:choose> </xsl:attribute> - <xsl:apply-templates select="listitem"/> + <xsl:apply-templates + select="listitem + |comment()[preceding-sibling::listitem] + |processing-instruction()[preceding-sibling::listitem]"/> </fo:list-block> </xsl:template> @@ -143,7 +150,11 @@ </xsl:if> - <xsl:apply-templates select="*[not(self::listitem - or self::title - or self::titleabbrev)]"/> + <!-- Preserve order of PIs and comments --> + <xsl:apply-templates + select="*[not(self::listitem + or self::title + or self::titleabbrev)] + |comment()[not(preceding-sibling::listitem)] + |processing-instruction()[not(preceding-sibling::listitem)]"/> <fo:list-block id="{$id}" xsl:use-attribute-sets="list.block.spacing" @@ -157,5 +168,8 @@ </xsl:choose> </xsl:attribute> - <xsl:apply-templates select="listitem"/> + <xsl:apply-templates + select="listitem + |comment()[preceding-sibling::listitem] + |processing-instruction()[preceding-sibling::listitem]"/> </fo:list-block> </xsl:template> @@ -326,7 +340,11 @@ </xsl:if> - <xsl:apply-templates select="*[not(self::varlistentry - or self::title - or self::titleabbrev)]"/> + <!-- Preserve order of PIs and comments --> + <xsl:apply-templates + select="*[not(self::varlistentry + or self::title + or self::titleabbrev)] + |comment()[not(preceding-sibling::varlistentry)] + |processing-instruction()[not(preceding-sibling::varlistentry)]"/> <fo:list-block id="{$id}" @@ -335,5 +353,8 @@ provisional-label-separation="{$label-separation}" xsl:use-attribute-sets="list.block.spacing"> - <xsl:apply-templates select="varlistentry" mode="vl.as.list"/> + <xsl:apply-templates mode="vl.as.list" + select="varlistentry + |comment()[preceding-sibling::varlistentry] + |processing-instruction()[preceding-sibling::varlistentry]"/> </fo:list-block> </xsl:template> @@ -396,10 +417,17 @@ </xsl:if> - <xsl:apply-templates select="*[not(self::varlistentry - or self::title - or self::titleabbrev)]"/> + <!-- Preserve order of PIs and comments --> + <xsl:apply-templates + select="*[not(self::varlistentry + or self::title + or self::titleabbrev)] + |comment()[not(preceding-sibling::varlistentry)] + |processing-instruction()[not(preceding-sibling::varlistentry)]"/> <fo:block id="{$id}" xsl:use-attribute-sets="list.block.spacing"> - <xsl:apply-templates select="varlistentry" mode="vl.as.blocks"/> + <xsl:apply-templates mode="vl.as.blocks" + select="varlistentry + |comment()[preceding-sibling::varlistentry] + |processing-instruction()[preceding-sibling::varlistentry]"/> </fo:block> </xsl:template> @@ -671,9 +699,16 @@ </xsl:variable> + <!-- Preserve order of PIs and comments --> <xsl:variable name="preamble" - select="*[not(self::step - or self::titleabbrev - or self::title)]"/> - <xsl:variable name="steps" select="step"/> + select="*[not(self::step + or self::title + or self::titleabbrev)] + |comment()[not(preceding-sibling::step)] + |processing-instruction()[not(preceding-sibling::step)]"/> + + <xsl:variable name="steps" + select="step + |comment()[preceding-sibling::step] + |processing-instruction()[preceding-sibling::step]"/> <fo:block id="{$id}" xsl:use-attribute-sets="list.block.spacing"> |