我一直在寻找,但找不到相当于“normalize-space”的字符的XSL函数。也就是说,我的内容具有重音UNICODE字符,这很好,但是从内容来看,我创建了一个文件名,我不想要那些重音。如何从XSL中的字符中去除重音符号?
那么,有没有什么我可以忽略,或不正确地使用谷歌搜索,轻松处理字符?
在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字符。据我所知,没有标准的拉丁化字符转录方式。 (也就是说,每种语言都有一个不同的)。 – biziclop 2011-03-22 21:50:44
请检查我的答案是否有正确的RegExp语法。 – 2011-03-24 02:59:47