C# xslt分析1.0版中的字符串替代方案

C# xslt分析1.0版中的字符串替代方案,c#,.net,xslt,xslt-1.0,xslt-2.0,C#,.net,Xslt,Xslt 1.0,Xslt 2.0,你能帮我把下面的XSLT2.0代码转换成XSLT1.0吗 <xsl:template match="text()"> <xsl:analyze-string select="." regex="\s*\w+([-+.'_%]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*"> <xsl:matching-substring> <a href="mailto:{.}">

你能帮我把下面的XSLT2.0代码转换成XSLT1.0吗

    <xsl:template match="text()">
    <xsl:analyze-string select="." regex="\s*\w+([-+.'_%]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*">
        <xsl:matching-substring>
            <a href="mailto:{.}">
                <xsl:value-of select="." disable-output-escaping="no"/>
            </a>
        </xsl:matching-substring>
        <xsl:non-matching-substring>
            <xsl:value-of select="." disable-output-escaping="no"/>
        </xsl:non-matching-substring>
    </xsl:analyze-string>
</xsl:template>

此代码所做的是在文本中查找类似于电子邮件地址的内容,然后在这种情况下添加标记。在没有正则表达式的情况下实现这一点是不可能的,尽管您可以找到某种近似值(正则表达式本身可能只是真正电子邮件地址语法的近似值)

大多数XSLT1.0引擎可能会提供一些调用外部函数来执行正则表达式的方法,如果您真的不能使用XSLT2.0,这可能是您最好的选择。因此,这取决于您使用的XSLT1.0处理器

(但是在C#和.net中,有很多优秀的XSLT2.0处理器,那么为什么仍然使用1.0呢?)