This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Please check !!
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: Re: [xsl] Please check !!
- From: Jörg Heinicke <joerg dot heinicke at gmx dot de>
- Date: Sat, 27 Oct 2001 01:02:28 +0200
- References: <005601c15e6e$2f998bd0$2100a8c0@swiftnet.tec>
- Reply-To: xsl-list at lists dot mulberrytech dot com
I think, what he wants to get is a array of his @Value's. This 'array' will
be stored in the variable and he tries to loop over this array. The building
of this array and his afterwards looping over it looks a little bit like
creating a ResultTreeFragment.
Hope this help, Chris ;-)
But this is not possible in this way in XSLT. The easiest way to do what I
assume you want to do:
<xsl:for-each select="Document/Year">
<td class="cssheader11"> <xsl:value-of select="@Value"/></td>
</xsl:for-each>
If you want this variable, avoid to build a RTF, because you need a
extension-function xx:nodeset() of your transformer. You can reach this
easier:
<xsl:variable name="varYear" select="Document/Year"/>
<xsl:for-each select="$varYear">
<td class="cssheader11"> <xsl:value-of select="@Value"/></td>
</xsl:for-each>
And the extreme variant with RTF:
<xsl:variable name="varYear">
<xsl:for-each select="Document/Year">
<xsl:copy-of select="."/>
</xsl:for-each>
</xsl:variable>
<xsl:for-each select="xalan:nodeset($varYear)/Year">
<td class="cssheader11"> <xsl:value-of select="@Value"/></td>
</xsl:for-each>
Hope this helps, Kalpana.
By the way, Chris, why 'Never use for-each'?
Joerg
----- Original Message -----
From: "Chris Bayes" <chris@Bayes.co.uk>
To: <xsl-list@lists.mulberrytech.com>
Sent: Saturday, October 27, 2001 12:33 AM
Subject: RE: [xsl] Please check !!
> Kalpana,
> No!
> Rule #1 Never use for-each.
> Rule #2 Never use d-o-e.
> I can't even work out what you are trying to do. Is this a form of
> reverse Indian logic? If so could you explain what it is supposed to do
> and possibly provide a source example and a required result other than
> "a bunch" of something.
> The first bit will give you "a bunch" of text nodes. The second bit will
> give you "a bunch" of <td>'s containing  's. But then again it
> might give you ''.
>
> Ciao Chris
>
> XML/XSL Portal
> http://www.bayes.co.uk/xml
>
>
> > -----Original Message-----
> > From: owner-xsl-list@lists.mulberrytech.com
> > [mailto:owner-xsl-list@lists.mulberrytech.com] On Behalf Of
> > kalpana rawat
> > Sent: 26 October 2001 22:53
> > To: xsl-list@lists.mulberrytech.com
> > Subject: [xsl] Please check !!
> >
> >
> > Hello Reader,
> >
> > COuld you please tell me if this is the right way.
> >
> > <xsl:variable name="varYear">
> >
> > <xsl:for-each select="Document/Year">
> > <xsl:sort select="@Value" order="ascending"
> > />
> > <xsl:value-of
> > select="concat('Document/Year[@Value=',@Value,']')"
> > disable-output-escaping="yes"/>
> > </xsl:for-each>
> >
> > </xsl:variable>
> >
> > and then later I use it here, to run a loop,
> >
> > <xsl:for-each select="$varYear">
> >
> > <td class="cssheader11">
> >  <xsl:value-of select="@Value"/>
> > </td>
> > </xsl:for-each>
> >
> > I expect $varYear to contain a bunch of values.
> >
> > Thanks.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list