Вложенные предикаты XPath / XSLT: как получить контекст внешнего предиката?

Похоже, что этот вопрос не обсуждался ранее о stackoverflow, за исключением Работа с вложенными предикатами XPath ... Уточнен , где было предложено решение, не использующее вложенные предикаты.

Поэтому я попытался написать упрощенный образец того, что я хотел бы получить:

Вход:


    
        
        
    
    
        
        
        
        
    

Выход:


    
        
        
    

или, альтернативно, если нет пересечений,


    

И я хочу получить его, используя вложенные предикаты:


    
        
            
        
    



    
        
        
            
                
            
        
        
            
        
    

Итак, что мне написать вместо этого ????? ?

Я знаю, что могу переписать всю таблицу стилей, используя еще один шаблон и обширное использование переменных / параметров , но это значительно усложняет даже эту таблицу стилей, не говоря уже о реальной таблице стилей, которая у меня есть для решения реальной проблемы.

В справочнике XPath написано, что точка . знак означает текущий узел контекста, но не говорит, есть ли возможность получить узел контекста до этого; и я просто не могу поверить, что в XPath отсутствует эта очевидная функция.

13
задан Community 23 May 2017 в 11:58
поделиться