B1if XML处理器-muenchian-分组

2020-09-20 06:12发布

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

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


大家好,

从B1if 1.22.9版开始,默认的XML处理器是jrexml,并且无法选择使用sapxml的选项。

使用新的jrexml处理器,我注意到某些XSLT功能无法正常工作,例如Muenchian方法中用于对XML节点/元素进行分组/排序的key()。

在此阶段,我唯一的解决方法是返回并在旧版本的B1中进行开发,如果仍然可以选择sapxml处理器,然后导入到新版本中。 当我在使用xanlan处理器的另一个应用程序中运行XSLT时,key()函数可以按预期运行,但不能在B1if中运行。

是否有一种方法可以按预期的方式本地使用key()函数,以使用B1if中的jrexml处理器实现Muenchian方法?

谢谢

Cameron

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

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


大家好,

从B1if 1.22.9版开始,默认的XML处理器是jrexml,并且无法选择使用sapxml的选项。

使用新的jrexml处理器,我注意到某些XSLT功能无法正常工作,例如Muenchian方法中用于对XML节点/元素进行分组/排序的key()。

在此阶段,我唯一的解决方法是返回并在旧版本的B1中进行开发,如果仍然可以选择sapxml处理器,然后导入到新版本中。 当我在使用xanlan处理器的另一个应用程序中运行XSLT时,key()函数可以按预期运行,但不能在B1if中运行。

是否有一种方法可以按预期的方式本地使用key()函数,以使用B1if中的jrexml处理器实现Muenchian方法?

谢谢

Cameron

付费偷看设置
发送
4条回答
Violet凡
1楼 · 2020-09-20 06:27.采纳回答

Cameron,您好,只能在文件级别手动完成。 为此,您需要在方案步骤的组文件夹中编辑文件vBIU.bfd。 搜索" XSLprofile",并将jrexml更改为sapxml或再次返回。 我们建议选择jrexml,因为sapxml已经过时了,将来无论如何我们都需要迁移到jrexml。

尼古拉斯的问候

哎,真难
2楼-- · 2020-09-20 06:47

感谢尼古拉斯,

这是我最终要完成的工作,但我已经开始工作了,但是正如Peter所提到的,它仍在使用SAPXML处理器。 对于我来说,现在还可以,直到从B1if中完全删除SAPXML为止。

致谢

Cameron

路亽曱_Ryan
3楼-- · 2020-09-20 06:38

尊敬的Cameron

SAP XML Toolkit做到了 支持XSLT 1.1的草稿版本。 这从来没有到官方 虽然标准。 同时,SAP XML Toolkit已停止支持, 这就是为什么我们又必须停止使用它的原因。

使用的XML/XSLT处理器 另一方面,Java JDK的版本支持官方的XSLT版本1.0。

确切地说,处理器 是用于XML的Apache Xerces和用于XSLT的Apache Xalan/XSLTC。 内部B1i 完全使用XSLTC变体进行XSLT处理,因为这是 即时编译处理器可从以下方面提高性能:

因此,规则/ 考虑可能的事情时,Xalan/XSLTC的功能仍然有效 /做。

Xalan的文档 可以在这里找到: https://xml.apache.org/xalan-j/

更具体的XSLTC 此处记录了偏差/提示: https://xml.apache.org/xalan-j/xsltc/index .html

通常,XSLT 1.1 XSLT 1.0草案包含了一些但不重要的新功能 规格 但是它们完全由EXSLT扩展程序提供/补偿 功能,如此处针对XSLTC所具体记录的: https://xml.apache.org/xalan-j/extensions_xsltc .html#exslt_ext

两个版本的XSLT 处理器大致提供相似的功能(而JDK家用处理器是 关于嵌入式Java使用的更多信息),但结果 不幸的是,样式表语法可能会彼此不兼容( 可能是迁移项目中的问题。)

回到key() 功能,它应该在XSLTC中可用,并且它是XSLT 1.0的一部分 标准: https://xml.apache.org/xalan-j/xsltc/xsl_key_design.html

所以请提供更多详细信息 根据(XSLT)key()函数具体出了什么问题 1.0/XSLTC)规范/文档。

SAP XML工具箱不是 对此的参考,因为它一方面坚持XSLT 1.1( 不应表示与著名的XSLT 1.0功能存在偏差),但更多 重要的是已知以某种模糊的方式解释XSLT标准

因此,key()的作用是 如果符合XSLT 1.0的要求,那么它应该可以用于Java XML Toolkit 标准。

SC_Yao
4楼-- · 2020-09-20 06:27

我刚遇到这个问题,在使用xsl:key时也遇到了问题。我的帖子是此处以示例

一周热门 更多>