This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Node set
- To: YueMa <may at mail dot nlm dot nih dot gov>
- Subject: Re: [xsl] Node set
- From: Jeni Tennison <mail at jenitennison dot com>
- Date: Mon, 5 Feb 2001 18:47:29 +0000
- CC: xsl-list at lists dot mulberrytech dot com
- Organization: Jeni Tennison Consulting Ltd
- References: <3A7ED869.D251BA0C@mail.nlm.nih.gov>
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hi YueMa,
> How can I create a node set with specific order other than document
> order?
As David "pure mathematician" Carlisle says, node sets aren't ordered,
so you can't create one with an order, but you can choose what order
to process them in.
> How about if I want to display like:
> title2
> title4
> title1
> title3
Then apply templates (or use xsl:for-each) in that order:
<xsl:apply-templates select="title2" />
<xsl:apply-templates select="title4" />
<xsl:apply-templates select="title1" />
<xsl:apply-templates select="title3" />
This hardcodes into the stylesheet the order in which they're
processed in a certain context. You could select the order in any
number of ways.
> the order is not fixed and may changd everytime, and even the number
> of titles are not guaranteed, maybe 4, maybe 3, etc.
There must be some underlying way of choosing which order you want
them in? What is it?
> What I wanted to do is to create a node set with the particular
> order and then I can process elements just by using <xsl:for-each>,
> is that possible in XSL?
Not really (although you could feasibly create a result tree fragment
variable and then iterate over that with xsl:for-each having turned it
into a node set with an extension function).
If you apply templates to the nodes you want in order, as outlined
above, then you can have a template that matches any of them and that
contains whatever you want to put in the body of the xsl:for-each:
<xsl:template match="title1 | title2 | title3 | title4">
... body of the xsl:for-each ...
</xsl:template>
I hope that helps,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list