是否可以使用xsl函数来设置xml元素属性的值?

时间:2013-11-08 08:07:19

标签: xml xslt xml-attribute

美好的一天!

所以我一直在寻找解决我在SAP Business One Integration框架集成项目中遇到的问题的方法。

它的长短是我需要传递xsl函数的值作为xml元素属性的值。

因此:(或者说,这正是我想要实现的目标)

<Party role=<xsl:value-of select="$msg/BOM/BO/BPAddresses/row/AddressType"/>>
    <PartyIDs>
      blahblah

我在想。是否有可能将变量传递给属性? 有点新的xslt和很多..所以任何建议将不胜感激。 提前谢谢!

1 个答案:

答案 0 :(得分:4)

您需要在此处使用Attribute Value Templates。这是您要查找的语法

<Party role="{$msg/BOM/BO/BPAddresses/row/AddressType}">
    <PartyIDs>
       blahblah

花括号表示要评估的表达式,而不是文字输出。

请注意,您还可以使用 xsl:attribute 命令

<Party>
    <xsl:attribute name="role">
        <xsl:value-of select="$msg/BOM/BO/BPAddresses/row/AddressType"/>
    <xsl:attribute>
    <PartyIDs>
       blahblah

但正如您所看到的那样,这有点过于冗长,而属性值模板通常也是如此。