【发布时间】:2011-07-20 20:47:36
【问题描述】:
我一直在寻找,但找不到与字符“normalize-space”等效的 XSL 函数。也就是说,我的内容有重音 UNICODE 字符,这很好,但是从该内容中,我正在创建一个文件名,我不想要这些重音。
那么,为了轻松处理字符,我是否忽略了某些内容,或者没有正确使用谷歌搜索?
在 XML 数据中:
<filename>gri_gonéwiththèw00mitc</filename>
在 XSLT 样式表中:
<xsl:variable name="file">
<xsl:value-of select="filename"/>
</xsl:variable>
<xsl:value-of select="$file"/>
结果为“gri_gonéwiththèw00mitc”
在哪里
<xsl:value-of select='replace( normalize-unicode( "$file", "NFKD" ), "[^\\p{ASCII}]", "" )'/>
没有任何结果。
我的目标是gri_gonewiththew00mitc(没有重音)
我是不是用错了语法?
【问题讨论】:
-
删除重音仅适用于一小部分 Unicode 字符。据我所知,没有标准的拉丁化字符转录方式。 (也就是说,每种语言都有不同的语言。)
-
检查我的答案以获得正确的正则表达式语法。
标签: xml xslt unicode character-encoding