1

我希望能够翻译和 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> 
4

1 回答 1

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> 
于 2012-12-13T11:20:12.020 回答