[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Why doesn't <xsl:for-each select="*[position()&lt;

Subject: RE: Why doesn't <xsl:for-each select="*[position()&lt;last()] work?
From: "Crowers, Steve" <scrowers@xxxxxxxxxxxx>
Date: Fri, 10 Aug 2001 16:02:59 -0400
xsl for each select
off the top of my head, I see several things wrong with the sylesheet that
you included.

1) "</xsl:value-of select="*[last()]"/>" <-- not an end tag - remove the
first '/'.
2) spurious </xsl:for-each> right afterwards.

once I fixed that, it works through MSXML3 and XALAN.

HTH

Steve Crowers 
Software Engineer 


Liberate Technologies 
2 Walnut Grove, 
Suite 200 
Horsham, PA 19044 
Phone: 215-773-9400 x 9514 
Fax: 215-773-9401 
scrowers@xxxxxxxxxxxx 
http://www.liberate.com 

 

"The good Lord sets definite limits on man's wisdom but sets no limits on
his stupidity -- and that's just not fair." --Konrad Adenauer, German
Chancellor 



-----Original Message-----
From: Hewko, Doug [mailto:Doug.Hewko@xxxxxxxxxxxxxxx]
Sent: Friday, August 10, 2001 3:44 PM
To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx'
Subject:  Why doesn't <xsl:for-each select="*[position()&lt;last()]
work?


I am unable to get an example to work from a tutorial I grabbed and I do not
know why. The troubling line is "<xsl:for-each
select="*[position()&lt;last()]">". 

I am using Cocoon2 to translate the code and the output is set to HTML,
which is why I substituted the Hex codes with "<br />". Would you know why I
am having problems?

********************************** Stylesheet *************************
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:variable name="delimiter" select='"/"'/>

<xsl:template match="FitnessCenter">
	<xsl:for-each select="Member">
		<xsl:apply-templates select="."/>
		<br/>    <!--- I had to change this from &#xD;&#xA because
the hex codes are not recognized -->
	</xsl:for-each>
</xsl:template>

<xsl:template match="Member">
	<xsl:for-each select="*[position()&lt;last()]">
		<xsl:value-of select="."/>
		<xsl:value-of select="$delimiter"/>
	</xsl:for-each>
	</xsl:value-of select="*[last()]"/>
	</xsl:for-each>

</xsl:template>

</xsl:stylesheet>
******************************************* XML Document
************************
<?xml version="1.0" ?> 
<FitnessCenter>
<Member id="1" level="platinum">
<Name>Jeff</Name>
<Phone type="home">555-1234</Phone>
<Phone type="work">555-4321</Phone>
<FavoriteColor>lightgrey</FavoriteColor>
</Member>
<Member id="2" level="platinum">
<Name>David</Name>
<Phone type="home">383-1234</Phone>
<Phone type="work">383-4321</Phone>
<FavoriteColor>lightblue</FavoriteColor>
</Member>
<Member id="3" level="platinum">
<Name>Roger</Name>
<Phone type="home">888-1234</Phone>
<Phone type="work">888-4321</Phone>
<FavoriteColor>lightyellow</FavoriteColor>
</Member>
</FitnessCenter>

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

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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.