This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: XSL QUERY
- From: Eric Vitiello <xsl-list at perceive dot net>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Fri, 7 Dec 2001 11:41:40 -0500
- Subject: Re: [xsl] XSL QUERY
- References: <200112071617.LAA15902@dns.datapower.com>
- Reply-to: xsl-list at lists dot mulberrytech dot com
-- Jeff Kenton [Fri, 7 Dec 2001 11:17:59 -0500]:
>... From: "Tarun Saheja" <tarun.saheja@patni.com>
>... Date: Fri, 7 Dec 2001 21:05:40 +0530
>...
>... I have an XML Structure that looks something like this:
>
>This is your problem. Your <BookName ... > elements don't have an
>Author attribute, which would make the solution trivial. With what
>you have, you will need to guarantee that your books are all grouped
>by author and do some ugly stuff to check when a new Author is seen.
>
>If you can change your <BookName> elements to contain an author, I
>would
>recommend that. Especially since the name attribute seems to have
>the
>author embedded in it right now.
as an example:
<Books>
<Book name="Book1" author="Author1" Type="Fiction" />
<Book name="Book2" author="Author1" Type="General"/>
<Book name="Book3" author="Author1" Type="Biography"/>
<Book name="Book4" author="Author1" Type="Fiction"/>
<Book name="Book1" author="Author2" Type="Fiction"/>
<Book name="Book2" author="Author2" Type="Fiction"/>
<Book name="Book3" author="Author2" Type="Biography"/>
<Book name="Book4" author="Author2" Type="General"/>
</Books>
and you could:
<xsl:stylesheet>
<xsl:foreach select="//Book[@Type='Fiction'][@author='Author1']">
<xsl:value-of select="@name"/>
</xsl:for-each>
</xsl:stylesheet>
Eric Vitiello
Perceive Designs
Web Design and Consulting
<www.perceive.net>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list