2010-12-16 51 views
1

ページの下部に連絡先の電子メールと電話番号が表示されているページで作業しています。私が今使っているコードは次のとおりです。XSLTが表示されている場合はメールが表示されます

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

私はちょうど私がXMLドキュメントを表示するときにそれが示し、下部に電子メールを持っていないページに偶然出会った「電子メールを:」何でそれの後に。

私の質問は、電子メールが存在するかどうかを指定して全体を表示する方法ですが、電子メールがない場合は表示しません。 xsl:ifを使用して

+3

は、独自のテンプレートにそれを入れてください。 –

+0

良い質問、+1。条件付きロジックをまったく避けることができる方法を示す真のXSLTソリューションについては、私の答えを参照してください。 :) –

答えて

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> 
+0

ありがとう!それを電話番号に適用する方法はありますか? ''出力は '(xxx)xxx-xxxx'ですか? – jrottier

+0

@jrottier:はい、もっと情報を提供する必要があります。別の質問にすることをおすすめします。 –

+0

それは基本的に電子メールと同じことでしたが、私は実際にあなたが上に投稿した同じコードを使用してそれを理解しました。再度、感謝します! – jrottier

2

あなたは//footer_emailがあるか否かを確認します

<xsl:if test="//footer_email"> 
    email: <a href="mailto:{//footer_email}"><xsl:value-of select="//footer_email"/></a> 
</xsl:if> 
関連する問題