【问题标题】:Biztalk Mapper Inline XSLT Call Template Email ValidationBiztalk Mapper 内联 XSLT 调用模板电子邮件验证
【发布时间】:2026-02-24 12:55:02
【问题描述】:

我正在尝试通过地图验证电子邮件地址以确认验证规则 \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)。 我是新手,没有通过搜索找到太多帮助,所以将发布内联 xslt 调用我必须看看是否有人可以纠正我的错误。

<xsl:template name="EmailAdress" xmlns:msxsl="urn:schemas-microsoft-com:xslt" >
 <xsl:param name="inEmail"/>
 <xsl:element name="p:Email" >
     <xsl:value-of select="Maches(upper-case(inEmail),'\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)'/>
 </xsl:element>

【问题讨论】:

  • “匹配”和“大写”函数是 XSLT 2.0 函数。 BizTalk 映射器支持吗?
  • @TimC 你是对的,这些不受当前正在实施的 Biztalk 版本的支持。一个替代解决方案必须是 sort :)。

标签: xslt biztalk biztalk2006r2 biztalk-mapper


【解决方案1】:

这是通过使用以下代码执行实现两个脚本 functoid(一个内联 xslt 调用模板,另一个内联 C#)来处理的:

一个

<xsl:template name="eaddress">
  <xsl:param name="memail"/>
  <xsl:if test="userCSharp:valEmailAdd(.)">
    <email><xsl:value-of select="."/><email>
  </xsl:if>
</xsl:template>

两个

public bool valEmailAdd(string eadd) {return regex.match(eadd, @"<validation>").Success;}

【讨论】:

    最近更新 更多