我正在尝试想出一个很好的方法来用 BizTalk 中的基本字母替换特殊字符,如 ã、û、ü 等。目前我正在使用以下 XSL 表单:
<xsl:template match="text()">
<xsl:call-template name="ReplaceChars">
<xsl:with-param name="Input" select="."></xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:variable name="OddChars">ÄÖÅÜÉäöåüé</xsl:variable>
<xsl:variable name="RegChars">AOAUEaoaue</xsl:variable>
<!-- Replaces odd characters with regular ones -->
<xsl:template name="ReplaceChars">
<xsl:param name="Input" />
<xsl:value-of select="translate($Input, $OddChars, $RegChars)"/>
</xsl:template>
以上工作正常。我的问题是:有没有更好或更“聪明”的方式来做到这一点?我用谷歌找不到任何明智的东西。我正在考虑使用 .Net 内联代码来简单地在文本上强制使用另一种文化,以自动从基本字符中去除特殊符号。但我似乎也无法让它发挥作用。
基本上,我不想创建一个应用程序,您必须不断更新字符列表并冒一个未定义的新特殊字符的风险,通过并在接收应用程序上导致错误。但是我有选择吗?