点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我对X...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我对X...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我对XSL转换和特殊的带掩码字符有疑问。
我有一个XML。 XML文档包含被屏蔽的字符:
128073(这是一个符号-白色右指反手-也是Unicode 6.0的一部分)
当我调用命令CALL TRANSFORMATION时,我将收到以下消息:cx_xslt_runtime_error:"字符引用'128073'计算为不支持的字符范围"。
有人知道我该怎么做吗? 是,在应用程序服务器上有问题吗?
数据:
ol_ixml类型引用为if_ixml,
ol_stream_factory类型引用为if_ixml_stream_factory,
ol_encoding类型引用为if_ixml_encoding,
ol_srcstream类型引用为if_ixml_istream,
ol_resstream类型引用为if_ixml_istream,
vl_xdata类型为xstring。
....
ol_ixml = cl_ixml => create()。
ol_stream_factory = ol_ixml-> create_stream_factory()。
ol_encoding = ol_ixml-> create_encoding(characterset ='utf-8'
byte_order = 0)。
ol_srcstream = ol_stream_factory-> create_istream_xstring(string = vl_xdata)
ol_resstream = ol_stream_factory->(create_encode = vl_data_out)。
ol_resstream-> set_encoding(编码= ol_encoding)。
试试。
调用转换zrmx3_convert_encoding
源xml ol_srcstream
结果xml ol_resstream。
将cx_xslt_runtime_error捕获到ol_xslt中。
....
最好的问候
Uwe
EDIT:128073对应于字符U + F449。 它是辅助私人使用区域-A(U + F0000–U + FFFFD)的一部分。 它没有标准含义。
实际上,您是在谈论字符U + 1F449( https ://www.fileformat.info/info/unicode/char/1f449/index.htm )。 不幸的是,SAP系统是Unicode UCS-2,所有字符占用2个字节,因此,如果将U + FFFF以上的所有字符存储在STRING变量中,则会导致错误的解释。
也许您可以将输入流以XSTRING变量的形式允许(或转换)为UTF-8,然后重试...
一周热门 更多>