This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Grouping ?


Hi, Kanthi:

  This is much simpler than the grouping problems we
usually see.  All you need is matching up @id, the
following template should do the trick:
<xsl:template match="OuterTag">
  <xsl:for-each select="Books/Book">
    <xsl:variable name="bookid" select="@id"/>
    <xsl:text>Title: </xsl:text>
    <xsl:value-of select="Title"/>
    <xsl:text>&#xA;</xsl:text>
    <xsl:text>Author: </xsl:text>
    <xsl:value-of select="Author"/>
    <xsl:text>&#xA;</xsl:text>
    <xsl:text>Address: </xsl:text>
    <xsl:value-of select="../../Addresses/Address[@id
= $bookid]/Street"/>
    <xsl:text>, </xsl:text>
    <xsl:value-of select="../../Addresses/Address[@id
= $bookid]/Country"/>
    <xsl:text>&#xA;</xsl:text>
    <xsl:value-of
select="../../Publishers/Publisher[@id =
$bookid]/Name"/>
    <xsl:text>&#xA;&#xA;</xsl:text>
  </xsl:for-each>
</xsl:template>

Hope this helps,
Xiaocun

--- Kanthi Damodaran <kanthi_damodaran@hotmail.com>
wrote:
> Hello everyone -
> 
> I am having a problem with what I believe is a
> grouping issue. My XML looks 
> something like this
> 
> <OuterTag>
> <Books>
> 	<Book id = "1">
> 		<Title>XML</Title>
> 		<Author>ABC</Author>
> 	</Book>
> 	<Book id ="2">
> 		<Title>XSL</Title>
> 		<Author>DEF</Author>
> 	</Book>
> :
> :
> </Books>
> <Addresses>
> 	<Address id = "1">
> 		<Street>Washington Street</Street>
> 		<Country>USA</Country>
> 	</Address>
> 	<Address id = "2">
> 		<Street>Oxford Street</Street>
> 		<Country>United Kingdom</Country>
> 	</Address>
> :
> :
> </Addresses>
> <Publishers>
> 	<Publisher id ="1">
> 		<Name>MacMillan Inc</Name>
> 	</Publisher>
> 	<Publisher id ="2">
> 		<Name>Publishers Inc</Name>
> 	</Publisher>
> :
> :
> </Publishers>
> </OuterTag>
> 
> And the output I am looking for is something like
> this [if the id's match 
> for the childnodes then group it together]
> 
> First
> Title : XML
> Author : ABC
> Address : Washington Street, USA
> Publisher : MacMillan Inc
> 
> Second
> Title : XSL
> Author : DEF
> Address : Oxford Street, United Kingdom
> Publisher : Publishers Inc
> 
> and so on ....
> 
> Any idea will be appreciated.
> 
> Thanks
> K
>
_________________________________________________________________
> Get your FREE download of MSN Explorer at
> http://explorer.msn.com
> 
> 
>  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> 


__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail - only $35 
a year!  http://personal.mail.yahoo.com/

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]