一千萬個為什麽

搜索

如何在單個for-eachin XSLT中選擇多個節點


我正在嘗試學習XSLT,但我最好通過示例。我想對模式轉換執行一個簡單的模式。如何僅在一次傳遞中執行此轉換(我當前的解決方案使用兩次傳遞並失去客戶的原始訂單)?

從:

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



    Donald
    
Hong Kong
    72



    Jim
    
Wales
    22



    Albert
    
France
    51



至 :

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



    Donald
    
Hong Kong
    72
    bad



    Jim
    
Wales
    22
    good



    Albert
    
France
    51
    good



我已經解決了這個 的方式(我失去了客戶的順序,我認為我必須多次解析文件:

<?xml version='1.0'?>


    
    

    

        
            
                
                
                
                good
            
        

        
            
                
                
                
                bad
            
        

    
    

請有人幫我解決正確的XSLT構造,我只需要使用一個解析(每個只有一個)?

謝謝,

克裏斯

最佳答案

It is a good XSLT practice to avoid using as much as possible.

Here is a simple solution, using this principle:


 

 
  
   
  
 

 
  
    
  
 

 
  
   
   
     
   
  
 

Do note:

  1. Only templates and are used.

  2. The use of the identity rule and its overriding wherever necessary. This is one of the most fundamental XSLT design pattern.

轉載註明原文: 如何在單個for-eachin XSLT中選擇多個節點

猜你喜歡