hello Peter
If you want to avoid using "//dataset" you could have a key like this:
<xsl:key name="dset" match="dataset" use="'all'"/>
and access it using
select="key('dataset','all')"
> >>I finally found the answer. Your use of [@dataid =
> current()/@dataid]
> >>provided the missing clue:
> >>
> >> <xsl:for-each select="(//dataset/*/*[generate-id() =
> >>generate-id(key('dataids', concat(local-name(..),@dataId)))])">
> >> <xsl:sort select="parent::node()/*[local-name() =
> $sortcol and
> >>@dataId = current()/@dataId]/value"/>
I agree with Wendell that the whole generate-id() malarkey is redundant, but
it doesn't do the same thing as key('dataids',
concat(local-name(..),@dataId))[1] because you will get every node that
satisfies the predicate and not just the first one.
And every node in //dataset/*/* that has a @dataid will be in the 'dataid'
key and satisify the predicate.
So won't this work just as well:
<xsl:for-each select="key('dataset','all')/*/*">
The sort looks really cunning and probably is doing all the hard work here
;)
Regards,
Tom
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
- RE: Grouping and Sorting on value inside group, (continued)
- Hunsberger, Peter - Tue, 11 Jun 2002 16:52:17 -0400 (EDT)
- Hunsberger, Peter - Tue, 11 Jun 2002 18:25:23 -0400 (EDT)
- TSchutzerWeissmann - Wed, 12 Jun 2002 05:17:23 -0400 (EDT) <=
- TSchutzerWeissmann - Wed, 12 Jun 2002 06:33:13 -0400 (EDT)
- Hunsberger, Peter - Wed, 12 Jun 2002 09:48:06 -0400 (EDT)
- Hunsberger, Peter - Wed, 12 Jun 2002 11:19:48 -0400 (EDT)
|
|