依赖于属性的某个值的XSLT备用解析输出



我有以下XML消息,我需要在名称/值对中,并且只有在extendedDataElements标记的name属性中存在"Payment"值时才需要填充某些值。如果值为"Payment",则:

  • 创建一个新的名称/对,名称为Status,值为情境限定符
  • 中的数据然后用一些静态值填充情境限定符,我将硬编码
  • 然后将名称/值中的amount标签改为带有相应值的trnAmount。

如果name属性的值不是"Payment",那么它就会返回到"element_attribute=value,"的基本转换。我已经完成了进入名称值对的基本转换,但是在基于这个extendedDataElements值应用这些修改的条件步骤方面遇到了很多麻烦。

谢谢你的帮助。

XML>
    <cbe:CommonBaseEvent>
    <sourceComponentId component="28591" />
    <situationInformation extensionName="Payment">
      <extendedDataElements name="Payment">
        <children name="amount">
          <values>100</values>
        </children>
      </extendedDataElements>
      <situationType situationQualifier="PaymentCompletionReceived" reasoningScope="INFO"/>
    </situationInformation>
</cbe:CommonBaseEvent>
所需输出:

sourceComponentId_component=28591, extendedDataElements_name=Channel, trnAmount=100, Status=PaymentCompletionReceived, situationType_situationQualifier=StaticValueHere, situationType_reasoningScope=INFO

您是否尝试过定义像下面这样的模板来定义数据的自定义处理?我认为它应该能很好地处理那个案子。这是处理问题的声明式方法。

<xsl:template match="extendedDataElements[@name='Payment']">
</xsl:template>    

相关内容

  • 没有找到相关文章

最新更新