我写了一个代码来用一个函数来消除所有的特殊字符。
<xsl:function name="lancet:stripSpecialChars">
<xsl:param name="string" />
<xsl:variable name="AllowedSymbols"
select="'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'"/>
<xsl:value-of select="
translate(
$string,
translate($string, $AllowedSymbols, ' '),
' ')
"/>
</xsl:function>
<xsd:element xtt:fixedLength="14" xtt:required="true" xtt:severity="error" xtt:align="left">
<xsl:value-of select="lancet:stripSpecialChars(upper-case(replace(normalize-unicode(translate($emp/wd:First_Name, ',', ' '), 'NFKD'), '⁄', '/')))"/>
</xsd:element>
现在我需要包含撇号 (')。当我尝试在 AllowedSymbols 中包含相同的内容时,出现错误。
现在的输出是D AGOSTINO。我需要像D'AGOSTINO这样的东西。
不知道如何处理。有人可以帮我解决这个问题。谢谢