| Subject: Re: [xsl] Pattern notation for preceding-sibling From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon, 11 Aug 2014 11:31:45 -0000 | 
I would write
/foo/E/preceding-sibling::*[self::A | self::N]
If A and N have something in common that leads to this kind of expression
being meaningful, then in a schema-aware world it's quite likely that you can
make them members of the same substitution group G, in which case you can
write
/foo/E/preceding-sibling::schema-element(G)
And another possibility is
/foo/E/preceding-sibling::*[not(self::B)]
Michael Kay
Saxonica
mike@xxxxxxxxxxxx
+44 (0) 118 946 5893
On 11 Aug 2014, at 10:49, Heiko Niemann kontakt@xxxxxxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> Hi,
>
> a rather basic question, but I was not able to find samples/answers for it
> yet.
>
> Elements A,B,B,N,E,B,C are contained in element foo.
>
> /foo/E/preceding-sibling::* will return A,B,B,N;
>
> /foo/E/preceding-sibling::N will return N;  - easy -
>
>
> Now I want A,N to be returned, so my first guess is, that this might work:
>
> /foo/E/preceding-sibling::(A,N)
>
> But it does not, so I either have to write
>
> /foo/E/(preceding-sibling::A, preceding-sibling::N) or
>
> /foo/E/*[name() = ('A','N')]
>
>
> So, is there a (short) notation that I missed so far, that does what I
> expected /foo/E/preceding-sibling::(A,N) to do?
>
>
> Regards,
> Heiko
| Current Thread | 
|---|
| 
 | 
| <- Previous | Index | Next -> | 
|---|---|---|
| Re: [xsl] Pattern notation for prec, Martin Honnen martin | Thread | Re: [xsl] Pattern notation for prec, Abel Braaksma (Exsel | 
| Re: [xsl] Pattern notation for prec, Martin Honnen martin | Date | [xsl] XML and the like, doing more , L2L 2L emanuelallen@ | 
| Month |