XSLT: изменить значение в одном узле на основе значения другого элемента в другом узле - PullRequest
0 голосов
/ 02 октября 2018

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

Входной XML:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root>
   <companyCode>002</companyCode>
   <transportation>
      <express>
         <revenue>
            <rateSourceCode>REBS</rateSourceCode>
         </revenue>
      </express>
   </transportation>
   <system>
      <control>
         <engineName>OR</engineName>
      </control>
      <activityCc>1000</activityCc>
      <transactionName>RB</transactionName>
   </system>
</root>

ВЫХОДXML: мне нужно проверить файл TransactionName, который находится под узлом «Система», и на основании этого мне нужно изменить значение RateSourceCode, которое находится в процессе транспортировки> экспресс> доход

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

тыс.копирует все, но я не знаю, как изменить один узел после сравнения.

...