Вложенный for -каждый цикл, доступ к внешнему элементу с переменной из внутреннего цикла

Я пытаюсь написать XSL, который будет выводить определенное подмножество полей из исходного XML. Это подмножество будет определено во время преобразования с использованием внешнего документа конфигурации XML, содержащего имена полей и другую конкретную информацию (, такую ​​как длина заполнения ).

Итак, это два for-eachцикла.:

  • Внешний цикл перебирает записи для доступа к их полям запись за записью.
  • Внутренний выполняет итерацию по XML-документу конфигурации, чтобы получить сконфигурированные поля из текущей записи.

Я видел в как в XSLT получить доступ к элементам внешнего цикла из вложенных циклов? что текущий элемент во внешнем цикле может быть сохранен в xsl:variable. Но затем мне нужно определить новую переменную внутри внутреннего цикла, чтобы получить имя поля. Что приводит к вопросу :Можно ли получить доступ к пути, в котором есть две переменные?

Например, исходный XML-документ выглядит так:


    
        
            value1
           ...
            valueN
        
    
    
        
            value1
           ...
            valueN
        
    

Я бы хотел, чтобы внешний XML-файл выглядел так:


    
        field1
        25
    
   ...
    
        fieldN
        10
    

XSL, который у меня есть:



    
    
    
        
        

        
        

        
            
            
            
        

    
    

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

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