xsl-list
[Top] [All Lists]

Re: [xsl] testing for position of an element and displaying it accordingly

2007-01-22 15:08:24

you don't appear to have changed the code at all in response to teh
previous comments.


you have (as before)

    <xsl:template match="r1">
<xsl:if test="child::a">
<xsl:apply-templates select="a" mode="t"/>
</xsl:if>

The xsl:if here soes nothing at all this is equivalent to

    <xsl:template match="r1">
<xsl:apply-templates select="a" mode="t"/>


and by specifying select="a" you are selecting all the a elements
to be processed first, before any other elements. You do not want that,
so select all children, not just a ones, then they will be processed in
the natural order.

<xsl:template match="r1">
<xsl:apply-templates/>
</xsl:template>

then have templates for a and test that do the right thing

<xsl:template match="a">
<fo:block><xsl:number/>: <xsl:apply-templates/></fo:block>
</xsl:template>

<xsl:template match="text">
<fo:block><xsl:apply-templates/></fo:block>
</xsl:template>

which is exactly Michael's suggestion in the message that you quoted.

David





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>