[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: same content refuses to convert
Hi I have tried debugging this code with no luck! Michael, yes that intent is to create a <step2> for every <item> in <list2> . And list2 can have a nested list3. There is a typo in my code. Here is the corrected one. Sorry about that. <xsl:template match="list2"> <xsl:for-each select="item"> <step2> <text> <xsl:apply-templates select="*[not(following-sibling::list3)]"/> </text> </step2> <xsl:apply-templates select="following-sibling::*[1][not(self::item)]|list3|item"/> </xsl:for-each> </xsl:template> So if the content of an <item> is the same from the one following it, the second <item> is getting skipped. I just cannot figure out what the issue is here. Can someone please help me. On Tue, Mar 2, 2010 at 1:32 PM, Michael Kay <mike@xxxxxxxxxxxx> wrote: >> 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: 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.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|