XSLT显示电子邮件(如果存在)

时间:2010-12-16 16:25:08

标签: xslt

我正在处理页面底部显示联系电子邮件和电话号码的页面。我现在使用的代码是:

email: <a href="mailto:{//footer_email}">
          <xsl:value-of select="//footer_email"/></a>

我刚跑过一个底部没有电子邮件的页面,所以当我查看XML文档时,它显示“email:”,后面没有任何内容。

我的问题是,如何指定是否有电子邮件,然后显示整个电子邮件,但如果没有电子邮件,则根本不显示。

2 个答案:

答案 0 :(得分:3)

您根本不需要任何条件逻辑

只需使用:

<xsl:apply-templates mode="mailLink" select="(//footer_email)[1]"/>

您拥有此模板的地方:

<xsl:template match="footer_email" mode="mailLink">
   email: <a href="mailto:{.}"><xsl:value-of select="."/></a>     
</xsl:template>

答案 1 :(得分:2)

使用xsl:if检查是否有//footer_email

<xsl:if test="//footer_email">
   email: <a href="mailto:{//footer_email}"><xsl:value-of select="//footer_email"/></a>
</xsl:if>