点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我有一个集成代理-> PO-> SOAP。 我们使用导入的标准XSD作为外部定义,通过以下几种操作与第三方进行通信
必须发送给第三方的消息结构为:
输出操作" ConfigurationBatch"位于(下面)
我需要将属性" xsi:type"添加到特定标签" ConfigurationUpdate"
模式依赖于XML模式实例名称空间中可用的" xsi:type"功能( http://www.w3.org/2001/XMLSchema-instance )。 Xsi:type是一种重新定义或扩展机制。 它基于XML实例中的信息进行操作。 因此,实际的重新定义不在架构中,而是在运行时创建的。
是否可以创建一个xslt来做到这一点?
谢谢
致谢
operations.jpg (73.6 kB)
莫妮卡,你好
您可以尝试使用XSLT重命名节点,而静态重命名的方式要少些,但是使用XSLT可以轻松完成重命名
http://stackoverflow.com/ Questions/7246666/how-do-i-rename-xml-tags-using-xslt
此致。
你好莫妮卡,
您能告诉我如何解决吗? 我正面临着同样的问题。 到目前为止,我的XSLT完全是静态的,但即使这样也无法正常工作,因为它抱怨未绑定xsi:type命名空间。 实际上,我也已经通过XSLT声明了它,在根元素中添加了以下内容:
xmlns:xsi =" http://www.w3.org/ 2001/XMLSchema-instance "
不幸的是,我仍然遇到命名空间未绑定的错误。
您能分享您对这个问题的解决方案吗?
如果其他人有使用xsd:type的经验,那么当然也将不胜感激。
PS:您还以某种方式使您的XLST动态化了,因为所有元素只有一个xsl模板吗?
嗨,莫妮卡,
我有 同样的问题(在PI 7.0中),但是我的XSD比您的要简单,我决定在第一个映射之前进行XSL映射,并在XSL映射中手动添加标签,并使用简单的xsl:value-of检索值。 选择。
也许有人可以做到这一点。
致谢。
嗨,伊娜基,
主要问题是动态结构,因此我创建了一个自定义.xsd,因为我需要向SAP方面(代理)提供一些东西。
现在,当消息映射完成时,我们需要将标记名称替换为xsi:type:so:
现在我们有了标签:
接收器正在等待:
我也可以使用标签
的n次出现我可以使用.xslt方法吗?
谢谢
致谢
嗨Iñaki,
感谢您的链接,在我们遇到了名称空间前缀等问题,但这些问题已解决之后,这很有用。
感谢和问候
一周热门 更多>