convert XSLT code from version 2.0 to 1.0

前端 未结 1 1602
攒了一身酷
攒了一身酷 2021-01-28 04:31

There is xslt code for version 2.0 which gives output shown below but I want to convert it to version 1.0. I referred following links.. How to compare two XML nodes and get comp

1条回答
  •  滥情空心
    2021-01-28 04:32

    In the previous question it is mentioned about Muenchian Grouping, so you must be already aware this is the approach to take. In this case, you are grouping by the network name, which will form the basis of your table rows, so you define a key like this

    
    

    (The w3: prefix is used here because of namespaces. All your nodes in your XML are in the namespace "http://www.w3.org" and in XSLT 1.0 you will need to explicitly declare this)

    Also, you will need to check for distinct value of IP Address for each network later, so it is also worth defining a key to help doing this

    
    

    Note the | symbol here. It can be any character you choose, just as long as it doesn't occur in either Name or IPAddress)

    For getting the columns, which are your OperatorStation elements, the code is very much as before (with the main difference being about the namespace prefix)

    
    

    Outputting the columns is then much as before too

            
               
                  
               
            
    

    The first main difference though is when you want to get the distinct networks, for your columns. This is where you use Muenchian Grouping

    
    

    Within the template that matches this, you can check for whether all IP addresses are the same by using the second key

    
        Equal
        Unequal
    
    

    Outputing the IP addresses for the row, is then simply a case of looping over the stations, and outputting the one with the matching network

    
    
       
          
       
    
    

    Note that the following expression would also work in this case

    
    

    Anyway, try this XSLT

    
       
    
       
       
    
       
       
    
       
          
                   
          
    Name Status
    Equal Unequal

    EDIT: If you wish to restrict the entries to a certain family, in this case just add a condition to check the family to the two keys

    
    
    

    0 讨论(0)
提交回复
热议问题