|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Just the first 'x' elements within a for-each
Jeni,
The following displays all the headlines rather than just the first 2:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<xsl:for-each select="/package/stories/story/properties[position() <= 2]">
<!-- We only want the first 2 headline -->
<br/>
<xsl:value-of select="headline"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Whereas this does work:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<xsl:for-each select="/package/stories/story/properties">
<!-- We only want the first 2 headline -->
<xsl:if test="position() <= 2">
<br/>
<xsl:value-of select="headline"/>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Si
Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
18/03/2003 11:10
Please respond to Jeni Tennison
To: Simon.Fairey@xxxxxx
cc: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: Just the first 'x' elements within a for-each
Hi Si,
> [Using a predicate] doesn't seem to want to work whereas using:
>
> <xsl:if test="position() <= 2">
>
> within the for-each does? Might this be something to do with the XSL
> parsing in XML Spy 5?
I guess that it could be: if you haven't got MSXML3 installed, then
XML Spy might be using MSXML2, which doesn't support XSLT. But that
would depend on the namespace that you're using in the stylesheet. You
don't describe in what way it "doesn't work", so it's hard to tell.
Can you show a full stylesheet with the code that doesn't work and the
code that does?
> Oh and I had a good look around but couldn't find a simple
> description for 'declarative programming'?
I think of it in terms of programming by saying *what* you want to do
rather than in terms of *how* you want to do it. So instead of
phrasing your requirement in procedural terms as "I want to loop over
all the nodes and stop after the second", say "I want to process the
first two nodes".
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
**********************************************************************************
This email may contain confidential material. If you were not an
intended recipient, please notify the sender and delete all copies.
We may monitor email to and from our network.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








