- ベストアンサー
XSLのif文を使ったURLの表示方法についての質問
- XSLのif文を使ってURLがない場合は何も表示しない方法について悩んでいます。
- 参考ページを見ても理解できないため、if文の使い方について詰まっています。
- 問題のあるXSLのコードとXMLのコードを添付しており、具体的な状況を伝えています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
まだ詰まってる? @url に何か入っているときだけ、表示するところを xsl:if ではさんだだけだけど、 <xsl:if test="@url!=''"> <tr> <td>URL</td> <td><a> <xsl:attribute name="href"> <xsl:value-of select="@url" /> </xsl:attribute> <xsl:attribute name="target">_blank</xsl:attribute> <xsl:value-of select="@url" /> </a></td> </tr> </xsl:if> 全部書くとこんなかんじ。 <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"> <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" media-type="application/xhtml+xml" /> <xsl:template match="/"> <xsl:apply-templates select="page/message"/> </xsl:template> <xsl:template match="page/message"> <table> <tr> <td>名前</td> <td><xsl:value-of select="name"/></td> </tr> <xsl:if test="@url!=''"> <tr> <td>URL</td> <td><a> <xsl:attribute name="href"> <xsl:value-of select="@url" /> </xsl:attribute> <xsl:attribute name="target">_blank</xsl:attribute> <xsl:value-of select="@url" /> </a></td> </tr> </xsl:if> </table> </xsl:template> </xsl:stylesheet>