xsi type ="动态对象"

2020-09-21 21:21发布

         点击此处--->   EasySAP.com群内免费提供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)

         点击此处--->   EasySAP.com群内免费提供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)
付费偷看设置
发送
5条回答
Aaron 3364
1楼 · 2020-09-21 21:41.采纳回答

莫妮卡,你好

您可以尝试使用XSLT重命名节点,而静态重命名的方式要少些,但是使用XSLT可以轻松完成重命名

http://stackoverflow.com/ Questions/7246666/how-do-i-rename-xml-tags-using-xslt

此致。

Baoming ROSE
2楼-- · 2020-09-21 21:24

你好莫妮卡,

您能告诉我如何解决吗? 我正面临着同样的问题。 到目前为止,我的XSLT完全是静态的,但即使这样也无法正常工作,因为它抱怨未绑定xsi:type命名空间。 实际上,我也已经通过XSLT声明了它,在根元素中添加了以下内容:

xmlns:xsi =" http://www.w3.org/ 2001/XMLSchema-instance "

不幸的是,我仍然遇到命名空间未绑定的错误。

您能分享您对这个问题的解决方案吗?

如果其他人有使用xsd:type的经验,那么当然也将不胜感激。

PS:您还以某种方式使您的XLST动态化了,因为所有元素只有一个xsl模板吗?

四川大学会员
3楼-- · 2020-09-21 21:34

嗨,莫妮卡,

我有 同样的问题(在PI 7.0中),但是我的XSD比您的要简单,我决定在第一个映射之前进行XSL映射,并在XSL映射中手动添加标签,并使用简单的xsl:value-of检索值。 选择。

也许有人可以做到这一点。

致谢。

天桥码农
4楼-- · 2020-09-21 21:37

嗨,伊娜基,

主要问题是动态结构,因此我创建了一个自定义.xsd,因为我需要向SAP方面(代理)提供一些东西。

现在,当消息映射完成时,我们需要将标记名称替换为xsi:type:so:

现在我们有了标签:

接收器正在等待:

我也可以使用标签

的n次出现

我可以使用.xslt方法吗?

谢谢

致谢

哎,真难
5楼-- · 2020-09-21 21:23

嗨Iñaki,

感谢您的链接,在我们遇到了名称空间前缀等问题,但这些问题已解决之后,这很有用。

感谢和问候

一周热门 更多>