SAP中的XSLT:名称空间问题

2020-09-24 05:41发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家!

我是XSLT的新手。

我正在尝试创建一个转换,该转换将从XML文件中删除某个标记。 我要删除的标签具有名称空间声明。 想法是摆脱以下输入:

  <?xml version =" 1.0" encoding =" utf-8"?> 


...

以下内容:

  <?xml version =" 1.0" encoding =" utf-8"?> 
...

我正在使用以下XSLT:

   









不幸的是,from的命名空间声明并没有被完全删除,而是以某种方式"粘贴"到了下一个标签:

  <?xml version =" 1.0" encoding =" utf-8"?> 
xlmns :prx =" urn:something">
<数据> ...

有什么想法吗?

谢谢!

亚历山大。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家!

我是XSLT的新手。

我正在尝试创建一个转换,该转换将从XML文件中删除某个标记。 我要删除的标签具有名称空间声明。 想法是摆脱以下输入:

  <?xml version =" 1.0" encoding =" utf-8"?> 


...

以下内容:

  <?xml version =" 1.0" encoding =" utf-8"?> 
...

我正在使用以下XSLT:

   









不幸的是,from的命名空间声明并没有被完全删除,而是以某种方式"粘贴"到了下一个标签:

  <?xml version =" 1.0" encoding =" utf-8"?> 
xlmns :prx =" urn:something">
<数据> ...

有什么想法吗?

谢谢!

亚历山大。

付费偷看设置
发送
3条回答
huskylover
1楼-- · 2020-09-24 05:51

亚历山大,你好

这是因为声明了的命名空间。 继承了的名称空间,因为没有名称空间前缀。 因此,之前具有名称空间,但已继承且未声明。 该线程从另一个角度很好地解释了此行为:

https://stackoverflow.com/questions/25788871/xml-do-child-nodes-inherit-parents-namespace-prefix

因此,按照定义,输出XML是正确的。 我希望这会有所帮助。

亲切的问候

葫芦娃快救爷爷
2楼-- · 2020-09-24 06:07

再想一想:如果您的XSL转换只是为了从XML文档中删除不需要的名称空间-也许您可以尝试一下XMLAnonymizerBean?

问候,叶夫根尼。

微wx笑
3楼-- · 2020-09-24 06:06

嗨,亚历山大!

在这种情况下,您应该使用递归模板来创建具有相同名称和数据的新元素,而不是复制原始元素。

正如Moritz在从源树中复制元素时所提到的那样-将其与从父元素继承的名称空间信息一起复制。

退货,叶甫基尼。

一周热门 更多>