• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:XSLのifがいまいち理解ができなく。)

XSLのif文を使ったURLの表示方法についての質問

このQ&Aのポイント
  • XSLのif文を使ってURLがない場合は何も表示しない方法について悩んでいます。
  • 参考ページを見ても理解できないため、if文の使い方について詰まっています。
  • 問題のあるXSLのコードとXMLのコードを添付しており、具体的な状況を伝えています。

質問者が選んだベストアンサー

  • ベストアンサー
  • dscripty
  • ベストアンサー率51% (166/325)
回答No.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>

関連するQ&A