This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Looping using XSL
- From: Wendell Piez <wapiez at mulberrytech dot com>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Wed, 02 Oct 2002 12:11:15 -0400
- Subject: Re: [xsl] Looping using XSL
- References: <F143U05s5cv2ooBhUaR00010e18@hotmail.com>
- Reply-to: xsl-list at lists dot mulberrytech dot com
Josh,
At 02:21 AM 10/2/2002, you wrote:
Doesnt <xsl:for-each select="//*[position() <= rating]">
iterate through all the child elements of the context node ., in this
case "mood"..
so essentially since it has only one child element( "rating" ), It should
iterate only once irrespective of the condition *[position() <= rating]">
so you xsl should produce only one line.
<div class="moodbar"><img src="layout/global/pics/mood-red.gif" alt=""
/></div>
Vasu
That's what I've just found...though I appreciated the idea :-)
I'd like to see your XPath. The XPath "//*[position() <= 17]" will
return a node set with 17 members, or with as many members as your document
has nodes, whichever is less.
Sorry if the words 'looping' and 'iterate' have confused the issue but I'm
not sure what else to call it.
Oh, it's me who's confusing the issue. I merely quibble since it's not
"looping" or even (in the strictest sense) iterating (though that's what
the spec calls "for-each"), since like everything in XSLT what you are
really doing is specifying the output, and it's up to the processor to
decide (for example) what order to do things in, or whether to do them all
together or whatever, as long as the output tree comes out correctly.
But it has the same effect.
I guess what's needed is some way of testing against the number in the
rating node and write out the html line until the rating is equalled.
That's still procedural thinking (and will work fine if you adopt a
recursive solution, the true way to do "loops" in XSLT). This way of
approaching it is to say "I don't care about testing against 'rating', just
give me number(rating) nodes and I'll do x for each one".
Cheers,
Wendell
======================================================================
Wendell Piez mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list