RE: [xsl] same content refuses to convert

Subject: RE: [xsl] same content refuses to convert
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 2 Mar 2010 19:32:04 -0000
> What am I doing here that is making it skip the content is 
> the content is duplicated?

There's no obvious bug in the code you've shown us, though some of it looks
odd. If your list2 template is processed at all, then it will create a step2
child for every item child in the input.

Create a simplified example that demonstrates the problem but is complete,
so anyone can run it. You might find the bug while you're doing that, of
course.

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay 

 

> -----Original Message-----
> From: a kusa [mailto:akusa8@xxxxxxxxx] 
> Sent: 02 March 2010 19:19
> To: xsl-list
> Subject: [xsl] same content refuses to convert
> 
> Hi
> 
> I have a very strange problem. I will try to explain it as 
> effectively as possible.
> 
> When I have the same content in the XML, it fails to transform.
> 
> Example:
> 
> My input looks like this:
> 
> <list2>
>  <item><text>First text</text></item>
> <item><text>Second text</text></item>
>  <item><text>Third text</text></item>
>  <item><text>First text</text></item>
>  <item><text>Fourth text</text></item>
>  <item><text>First text</text></item>
> </list2>
> 
> Converted output:
> 
> <step2>
> <text>First text</text>
> </step2>
> <step2>
> <text>Second text</text>
> </step2>
> <step2>
> <text>Third text</text>
> </step2>
> <step2>
> <text>Fourth text</text>
> </step2>
> 
> As you can see the 'First text' content at the fourth and 
> last item level is missing from the output.
> 
> And in my XSLT which is rather long, all I am doing is a 
> template match on list2, item, and a template match on text.
> 
> <xsl:template match="list2">
> 	<xsl:apply-templates select="*[not(following-sibling::list3)]"/>
> <xsl:for-each select="item">
> <step2>
> <text>
> 
> </text>
> 
> </step2>
> <xsl:apply-templates
> select="following-sibling::*[1][not(self::item)]|list3|item"/>
> </xsl:for-each>
> 
> 
> </xsl:template>
> 
> 
> What am I doing here that is making it skip the content is 
> the content is duplicated?
> 
> Any help/suggestions is appreciated.
> 
> Thanks in advance.

Current Thread