Your code is:
<xsl:for-each select="answer">
<xsl:if test="position() != last()">
<xsl:apply-templates select="."/>, <xsl:text/>
</xsl:if>
</xsl:for-each>
which means
for each answer, if it is not the last answer, process the answer and then
output a comma.
Clearly you want
for each answer, process the answer, and if it is not the last, output a
comma.
Just move the apply-templates out of the conditional.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Terry Ofner [mailto:tofner(_at_)comcast(_dot_)net]
Sent: 10 March 2006 23:05
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Numbering and adding commas
Greetings,
I have been hitting my head against this problem for several
days. I was
determined to figure it out on my own with the various resources now
available. But no love.
I have questions with multiple answer tagged, such as this one:
<topic>Finding Nouns</topic>
<item> 1. At one <answer>time</answer> <answer>dinosaurs</answer> were
<answer>rulers</answer> of the <answer>earth</answer>.</item>
Some items have only one answer tagged:
<item> 2. <answer>Most</answer> of the flags before then were actually
poles</item>
I am trying to list the answers for each item after the
number. But then I
am also trying to add a comma after all but the last item in
the list, like
this:
1. time, dinosaurs, rulers, earth
Here is relevant part of my stylesheet:
<xsl:template match="item">
<xsl:text> </xsl:text>
<xsl:text>	</xsl:text>
<xsl:number count="item" level="any" from="topic"
format="1.	"/>
<xsl:for-each select="answer | ansus | ansdus | embedded |
attribute::answer">
<xsl:if test="position() != last()">
<xsl:apply-templates select="."/>, <xsl:text/>
</xsl:if>
</xsl:for-each>
</xsl:template>
This current snippet produces the output below, in which the
last answer has
been cut completely.
Finding Nouns
1. time, dinosaurs, rulers,
I love reading the list. Please excuse my newbie malformed code.
Terry
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--