This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Beginner XSL question
- From: Mike Brown <mike at skew dot org>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Thu, 16 May 2002 13:50:23 -0600 (MDT)
- Subject: Re: [xsl] Beginner XSL question
- Reply-to: xsl-list at lists dot mulberrytech dot com
Arturo C wrote:
> Hi and sorry my english... how can i count the number of elements, for
> instance, student in the following case:
>
> <school>
> <student>
> ....
> </student>
> <student>
> ....
> </student>
> <student>
> ....
> </student>
> </school>
>
> and show the result (3) in an HTML page using XSL?
To get you started, and to demonstrate several principles, here is an example.
It assumes each <student> contains a <name>. You should get a good book on
XSLT. Try these:
http://www.amazon.com/exec/obidos/ASIN/1861005946
http://www.amazon.com/exec/obidos/ASIN/1861005067
- Mike
____________________________________________________________________________
mike j. brown | xml/xslt: http://skew.org/xml/
denver/boulder, colorado, usa | resume: http://skew.org/~mike/resume/
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<html>
<head>
<title>test</title>
</head>
<body>
<h1>test</h1>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="school">
<p>There are <xsl:value-of select="count(student)"/> students.</p>
<ul>
<xsl:apply-templates select="student"/>
</ul>
</xsl:template>
<xsl:template match="student">
<li>
<xsl:value-of select="concat('Student #',position(),' of ',last(),': ',name)"/>
</li>
</xsl:template>
</xsl:stylesheet>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list