|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Grouping elements using XSLT
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@xxxxxxxxxxxxxxxxxx] Sent: Tuesday, June 20, 2006 3:42 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: 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@xxxxxxxxxxxxxxx] Sent: Tuesday, June 20, 2006 3:18 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: 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?
|
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
|

Cart








