[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Test for preceding-sibling and text

Subject: Test for preceding-sibling and text
From: "Ragulf Pickaxe" <jawxml@xxxxxxxxxxx>
Date: Wed, 10 Nov 2004 16:03:55 +0000
xsl test
Hi all,

I have a template that croups consecutive elements of a certain type. The problem is that it also groups these elements if there is text between these elements. How do I avoid that?

Input xml
<?xml version="1.0"?>
<root>
 <X>
   Some text
   <A>
     Something in A
   </A>
   <A>
     Something in A
   </A>
   <B>
     Something in B
   </B>
   <A>
     Something in A
   </A>
 </X>
 <Y>
   Some text
   <A>
     Something in A
   </A>
   Some text between two A elements
   <A>
     Something in A
   </A>
 </Y>
</root>

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>


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

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

<xsl:template match="A">
<!-- Do something here -->
<xsl:choose>
<xsl:when test="not(preceding-sibling::*[1][self::A])">
<!-- This test correctly does not choose the second A under X, but also ignores the second A under Y which I do not want -->
</xsl:when>
<xsl:otherwise> </xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>



I can see that I need to do something in this test "not(preceding-sibling::*[1][self::A])", but I do not know how.


I hope that I have explained the problem well enough, and that somebody can help me.
Regards,
Ragulf Pickaxe :|


_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.com/


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.