Re: [xsl] ordered selection of child elements

Subject: Re: [xsl] ordered selection of child elements
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 8 Mar 2018 06:54:06 -0000
Am 08.03.2018 um 07:36 schrieb Dr. Patrik Stellmann 
patrik.stellmann@xxxxxxxxx:
>
> Hi,
>
> a question more motivated by curiosity than by a real problem:
>
> With
>
> <xsl:sequence select=ba, bb/>
>
> I will get first element a and second element b b no matter of the 
> order within the input document.
>
> But with
>
> <xsl:sequence select=broot/(a, b)b/>
>
> I will get the elements a and b in document order. So this behaves 
> identical to
>
> B B B B B B B B B B B  <xsl:sequence select=broot/(a | b)b/>
>
> Why?
>
> Of course I could write
>
> <xsl:sequence select=broot/a, root/bb/>
>
> To ensure a specific order. But sometimes the expression of brootb is 
> much more complex so Ibd like to avoid writing it twice or putting it 
> in a variableb&
>
You can move to XPath/XSLT 3 and use the "!" operator

 B  root!(a, b)

Current Thread