[xsl] Get the last consecutive matching element

Subject: [xsl] Get the last consecutive matching element
From: "Rick Quatro rick@xxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 26 Aug 2016 15:31:40 -0000
Hi All,

Here is my XML file:

<?xml version="1.0" encoding="UTF-8"?>
<topic>
    <body>
        <p>
            <ul>
                <li status="new">1</li>
                <li status="new">2</li>
                <li status="new">3</li>
                <li>4</li>
                <li>5</li>
                <li status="new">6</li>
            </ul>
        </p>
    </body>
</topic>

My context node is <li status="new">1</li>. I want to get the last
consecutive following-sibling with the same status value. So, in this case,
I want to find this one: <li status="new">3</li>. I don't want 6 because
there are intervening elements between. I am using this

following-sibling::*[1][@status='new']

to get the next one, but I am wondering if there is a single XPath 1.0
statement that will get me directly to 3 when the context node is 1. Thank
you very much.

Rick Quatro
Carmen Publishing Inc.
585-366-4017
rick@xxxxxxxxxxxxxxx

Current Thread