对于像¾,¼,½等惰性分数的XSLT变换将被转换为3 / 4,1 / 4,1 / 2

时间:2017-11-02 17:38:16

标签: javascript xml xslt transformation

我一直在尝试使用规范化Unicode功能将重音字符转换为普通字母。我能够实现转换重音字符。我有一个新要求将¾(懒惰部分)转换为3/4(正常部分)。

这是我正在使用的xslt。

<xsl:value-of select="replace(normalize-unicode(upper-case(translate(wd:Last_Name, ',', ' ')), 'NFKD'), '[^(\p{IsBasicLatin}\p{IsLatin-1Supplement}\p{IsLatinExtended-A}\p{IsLatinExtended-B}]','')"/>

员工姓氏:Bistr¾anséky

我得到的输出:BISTR34ANSEKY

当我试图在translate函数中传递一些额外的参数时,我收到一个错误,比如'你不能在translate函数中传递3个或更多的参数'。如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

看起来normalize-unicode(., 'NFKD')已经为您提供了ASCII数字,只有分数栏不是斜杠而是&#8260;,基于您可以使用replace(normalize-unicode(., 'NFKD'), '&#8260;', '/')