我希望能够翻译和XML项目以删除空格&任何特殊字符,并将大写字符转换为小写字母,我至少可以说有点卡住了!
理想情况下,我想要一种方法来捕捉所有特殊字符,而不是单独指定它们。我已经阅读了关于白名单的一些答案,但不知道如何在这里实现它。另一点需要指出的是,我只能使用XSLT 1.0。
提前致谢! :)
这是我到目前为止所做的:
<xsl:template match="faq">
<article>
<xsl:call-template name="questionMatch"/>
</article>
</xsl:template>
<xsl:template name="questionMatch" match="section">
<xsl:for-each select="section">
<xsl:for-each select="qa">
<div class="toggler" id="{translate(translate(translate(question,'?!£$%^*',''), ' ', ''), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')}">
</div>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
答案 0 :(得分:6)
答案是:
<xsl:template name="questionMatch" match="section">
<xsl:variable name="vAllowedSymbols" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'"/>
<xsl:for-each select="qa">
<div class="toggler" id="{translate(translate(question, translate(question, $vAllowedSymbols, ''), ''), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')}">
</div>
</xsl:for-each>
</xsl:template>