This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
[no subject]
- From: "Tuomas Korppoo" <tkorppoo at hotmail dot com>
- To: xsl-list-digest at lists dot mulberrytech dot com
- Date: Tue, 23 Jul 2002 18:55:53 +0300
- Reply-to: xsl-list at lists dot mulberrytech dot com
Hi,
I've been trying to create an XSLT document that would calculate the average
page count of books in an XML document. The problem is that I would like it
to choose only some of the books, those with a category of XML. Below is a
sample of the XML document.
<Catalog xmlns="http://www.tempuri.org/dsProducts.xsd">
<Book>
<Title>IE5 XML Programmer's Reference</Title>
<Authors>
<Author>Alex Homer</Author>
</Authors>
<Publisher>Wrox Press, Ltd.</Publisher>
<PubDate>August 1999</PubDate>
<Abstract>Reference of XML capabilities in IE5</Abstract>
<Pages>480</Pages>
<ISBN>1-861001-57-6</ISBN>
<RecSubjCategories>
<Category>XML</Category>
</RecSubjCategories>
<Price>9.99</Price>
</Book>
As some of you might be guessing by now the issue is combining a variable
statement, which selects only suitable "Book" elements with a namespace
declaration. I have made feeble attempts at this. Below is a sample of the
XSLT that would need to be improved.
<xsl:variable name="xml"
select="//RecSubjCategories[Category = 'XML']"/>
<xsl:variable name="asp" select="//RecSubjCategories[Category = 'ASP']"/>
<table bgcolor="Whitesmoke" title="Stylesheet Template" height="150"
width="350" align="left" border="1">
<th>Avg Pages</th>
<th><xsl:value-of select="sum($xml/../Pages) div count($xml)"/></th>
<th><xsl:value-of select="sum($asp/../Pages) div count($asp)"/></th>
Sorry for the messiness of the code. Can't be helped.
So I would wish to somehow include the namespace declaration in the
statement but so far I have had no success. I know how to use namespaces,
just not with variables.
Cheers,
Tom
_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list