xsl-list
[Top] [All Lists]

RE: [xsl] Grouping elements using XSLT

2006-06-20 13:55:29
SORRY, that was wrong. Following-sibling selects ALL nodes that follow, so
you want select="following-sibling[1]"

Rick

-----Original Message-----
From: Rick Roen [mailto:Rick(_at_)LakeValleySeed(_dot_)com] 
Sent: Tuesday, June 20, 2006 3:42 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Grouping elements using XSLT

If they are always in this order <FirstName> then <LastName> you can get all
the nodes in <author>, then for each <FirstName> element you can select the
following-sibling:: which should get the <LastName> element.

Something like this:

<xsl:for-each select="author/FirstName" >
        <author>
                <xsl:value-of select="." />
                <xsl:value-of select="following-sibling[ name() = 'LastName'
]" />

        </author>
        
</xsl:for-each>

I added a test to make sure the following-sibling is indeed LastName, but
I'm not sure if this is necessary.  Untested!

Rick

-----Original Message-----
From: Chad Chelius [mailto:cchelius(_at_)agitraining(_dot_)com] 
Sent: Tuesday, June 20, 2006 3:18 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Grouping elements using XSLT

I have an XML file that looks like this:

<author>
<Firstname>Jane</FirstName>
<LastName>Doe</Doe>
<Firstname>John</FirstName>
<LastName>Doe</Doe>
<Firstname>Howard</FirstName>
<LastName>Johnson</Doe>
</author>

The DTD that I am trying to validate to requires that each person be  
inside of their own <author> element like this:

<author>
<Firstname>Jane</FirstName>
<LastName>Doe</Doe>
</author>
<author>
<Firstname>John</FirstName>
<LastName>Doe</Doe>
</author>
<author>
<Firstname>Howard</FirstName>
<LastName>Johnson</Doe>
</author>

Is this possible using an XSLT and if so, how do you do this?






--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>