This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Please check !!


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">&#xA0;<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">&#xA0;<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">&#xA0;<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 &#xA0;'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">
> >       &#xA0;<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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]