Найти элемент xml с помощью xslt

Я использую xslt для преобразования некоторых xml-файлов. Мои входные данные выглядят следующим образом:


  
    24014
    Feb 11, 2013
  
  
    0
    Feb 12, 2013
  
  
    0
    Feb 13, 2013
  
  
    24627
    Feb 14, 2013
  
  
    0
    Feb 15, 2013
  

Мои выходные данные должны выглядеть так:


  
    
      Feb 14, 2013
    
  

Другими словами, я ищу самый последний элемент даты, где элемент значения не равен 0. Элементы dataItem гарантируют, что они будут в порядке возрастания (начиная с вершины документа).

Я попытался подойти к этому рекурсивно, вот так:

<?xml version="1.0" encoding="utf-8"?>

  

  
    
    

      
        
          
        
      

      
        
          
            
              
            
          
        
      

    
  

  
      
        
      
  


Пока что это не работает, и все, что я получаю, это:

   
      
        
        
      
    

Может ли кто-нибудь увидеть, где я ошибаюсь?

Благодаря,

Павел

2
nl ja de

2 ответы

The line looks suspicious because there aren't any label elements in your input XML.

Но нет необходимости в рекурсивном шаблоне. Попробуйте следующее:


    
        
    



    
        
            
        
    

3
добавлено
Нет, скобки не нужны. Попробуйте мой пример, и вы увидите, что он работает.
добавлено автор nwellnhof, источник
Моя ошибка, я был смущен другим примером.
добавлено автор Ian Roberts, источник
Благодаря nwellnhof это работает отлично. Я уже принял предложение Даниэля, но отметьте это как полезное.
добавлено автор Paul Hennessey, источник

Если элементы dataItem уже отсортированы по date , вы сможете просто захватить последний dataItme , который не имеет значения < код> 0 . (Посмотрите на xsl: apply-temlates в шаблоне /* для XPath, чтобы сделать это.)

Вход xml


    
        24014
        Feb 11, 2013
    
    
        0
        Feb 12, 2013
    
    
        0
        Feb 13, 2013
    
    
        24627
        Feb 14, 2013
    
    
        0
        Feb 15, 2013
    

XSLT 1.0


    
    

    
        
            
        
    

    
        
                        
        
    

    
        
            
        
    

    
        
    

    


Выход xml


   
      Feb 14, 2013
   

2
добавлено
Делает удовольствие - спасибо Даниэлю.
добавлено автор Paul Hennessey, источник