xsl-list
[Top] [All Lists]

RE: [xsl] selecting from sequences

2008-12-18 11:36:49
```
Although it's clear from these responses that there are solutions to these
requirements, I have always felt the need for  higher order operators to
achieve this effect:

\$seq[>>EXP]    everything in \$seq after the first item that satisfies EXP
\$seq[>>=EXP]   everything in \$seq after and including -"-
\$seq[<<EXP]    everything in \$seq before the first item that satisfies EXP
\$seq[<<=EXP]   everything in \$seq before and including -"-

They're available in Saxon and EXSLT to some extent in the form xx:leading()
and xx:trailing().

Michael Kay
http://www.saxonica.com/

```
```-----Original Message-----
Sent: 18 December 2008 16:06
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] selecting from sequences

```
```- the position of the first b?
```
```
<!-- 0 means that there is no value. --> <xsl:variable
name="index" as="xs:integer" select="
(
for \$i in 1 to count(\$seq) return
\$seq[\$i][self::b],
0
)[1]"/>

```
```- everything before the first b
```
```
<xsl:sequence select="subsequence(\$seq, 1, \$index)"/>

```
```- everything from the first b to the end
```
```

<xsl:sequence select="subsequence(\$seq, \$index)"/>

http://www.nesterovsky-bros.com

----- Original Message -----
From: "Ruud Grosmann" <r(_dot_)grosmann(_at_)sdu(_dot_)nl>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Thursday, December 18, 2008 17:28
Subject: [xsl] selecting from sequences

```
```hi group,

I have question which must have been on this list before,
```
```but I can't
```
```find the answer.

In my style sheet I make a selection of the elements and
```
```pass that to a
```
```template. In that template I can reference this sequence as \$seq.

Selecting from \$seq appears to be not that easy, because I
```
```can't use
```
```axes. Axes have a document scope whereas I want to do
```
```something within
```
```the sequence.
If for example \$seq contains elements a, b, c, b, e:

how do I select
- everything before the first b
- everything from the first b to the end
- the position of the first b?

As \$seq[self::b][1]/preceding-sibling::* is not good
```
```because it possibly
```
```selects element outside the sequence, but are
```
```preceding-siblings in the
```
```document.

Ruud

```
```--~------------------------------------------------------------------
```
```XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

```
```

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

```
```

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

```
 Current Thread [xsl] selecting from sequences, Ruud Grosmann Re: [xsl] selecting from sequences, David Carlisle Re: [xsl] selecting from sequences, Ruud Grosmann RE: [xsl] selecting from sequences, Michael Kay RE: [xsl] selecting from sequences, Michael Kay Re: [xsl] selecting from sequences, Andrew Welch Re: [xsl] selecting from sequences, Vladimir Nesterovsky RE: [xsl] selecting from sequences, Michael Kay <= Re: [xsl] selecting from sequences, Liam Quin Re: [xsl] selecting from sequences, Andrew Welch RE: [xsl] selecting from sequences, Michael Kay RE: [xsl] selecting from sequences, Michael Kay [xsl] Re: selecting from sequences, Vladimir Nesterovsky Re: [xsl] selecting from sequences, Vladimir Nesterovsky