• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:XMLの属性について。)

XMLの属性について

このQ&Aのポイント
  • XMLの属性についての理解を深めましょう。
  • 写真を表示するための属性の選択について悩んでいます。
  • 時間の属性の設定方法について教えてください。

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

  • ベストアンサー
  • nadera
  • ベストアンサー率83% (5/6)
回答No.1

XMLでは,ルート要素が必要です。 たとえば,次のように,<アルバム>というルート要素を定義し,すべての要素を,このルート要素の中に入れるようにします。 下の例では,個々の画像について,ファイル名を要素とし,時間や画像幅を属性としています。要素にするか属性にするかは自由に設定できますが,画像などは,実体としてのファイルがあって,そのファイルの属性として撮影日時などがあるので,これに合わせて要素や属性を決めると理解しやすいかもしれません。 --------sample.xml--------------- <?xml version="1.0" encoding="UTF-8"?> <アルバム> <画像 ampm = "pm" time = "7" min="30" width="300"> 0101.jpg </画像> <画像 ampm = "am" time = "9" min="40" width="300"> 0102.jpg </画像> </アルバム> このXMLから,画像と時間を表示するXSLは次のような感じです。 --------sample.xsl------------------------------ <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="UTF-8"/> <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> <xsl:template match="アルバム/画像"> <img src="{.}" width="{@width}"/> <br/> <xsl:value-of select="@ampm"/> <xsl:value-of select="@time"/>: <xsl:value-of select="@min"/> <br/> <hr/> </xsl:template> </xsl:stylesheet> これを表示するhtmlは次のとおり(IEのみに対応) --------------------------------------------- <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>hello xml</title> <xml id="myxml" src="sample.xml"></xml> <xml id="myxsl" src="sample.xsl"></xml> <script language="JavaScript"> <!-- function start() { here.innerHTML = myxml.documentElement.transformNode(myxsl); } --> </script> </head> <body onload="start()"> <div id="here">ここに表示</div> </body> </html>

ouou2
質問者

お礼

遅くなってしまい申し訳ありませんでした。 大変詳しく教えて頂きありがとうございました。おかげさまで理解することができ、XSLTもつくる事ができました。本当にありがとうございました。

関連するQ&A