John Steel wrote:
Kamal Bhatt wrote:
Don't make "*|@*" your first match. Make it your last. Instead, match
on faqlist. Not entirely sure what are the extra content is, so I
cannot really judge the right way of doing things. Try this:
<xsl:template match='faqlist'> <xsl:apply-templates
select="*[local-name != 'faq']"/>
<xsl:apply-templates select="faq" mode="question"/>
<xsl:apply-templates select="faq" mode="answer"/> </xsl:template>
<xsl:template match='*|@*'> <xsl:copy>
<xsl:apply-templates select='node()|@*'/>
</xsl:copy>
</xsl:template>
Thanks for your help - its almost there now. What I get is the right
output, just duplicated.
1 Question 1
2 Question 2
...
1 Answer 1
2 Answer 2
...
1 Question 1
2 Question 2
...
1 Answer 1
2 Answer 2
...
This is the full stylesheet I used:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output media-type='text/html'/>
<xsl:template match='faqlist'>
<xsl:apply-templates select="*[local-name != 'faq']"/>
<xsl:apply-templates select="faq" mode="question"/>
<xsl:apply-templates select="faq" mode="answer"/>
</xsl:template>
<xsl:template match='faq' mode="question">
<tr>
<td valign='top' width='24' class="mText" style="font-size: 11px">
<xsl:value-of select="count(preceding-sibling::*) + 1"/>
</td>
<td class="mText" style="font-size: 11px">
<a href='#1'>
<xsl:value-of select='q'/>
</a>
</td>
</tr>
</xsl:template>
<xsl:template match='faq' mode="answer">
<tr>
<td valign='top' width='24' class="mText" style="font-size: 11px">
<xsl:value-of select="count(preceding-sibling::*) + 1"/>
</td>
<td class="mText" style="font-size: 11px">
<a href="#1">
<xsl:value-of select='a'/>
</a>
</td>
</tr>
</xsl:template>
<xsl:template match='*|@*'>
<xsl:copy>
<xsl:apply-templates select='node()|@*'/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Did I make the changes you suggested correctly?
I noticed taking out the line
<xsl:apply-templates select="*[local-name != 'faq']"/>
had no effect.
local-name = local-name()
--
Kamal Bhatt
--~------------------------------------------------------------------
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>
--~--