AmazonのAWSを使う使わないは別の問題として、XMLの使い方に大変興味をもった。もちろんこれまで触ったことのないものなので、間違いを繰り返しながらも一応覚える努力をすることにする。
タグをいじりながらHMTLページをつくることができるレベルで、このXMLをどのように使えばおもしろいかを考えてみる。順番としては、XMLページを普通みるページのような形で表示させる方法を知ること、次にどのようにすれば手際よくデータを書き込んでいけるのかを調べてみたい。
1.たのしいXML/XHTML入門といった入門サイトを読んでいくと、大体の構造や役割そして使うことのメリットがイメージできてくるが、タグをみていると、ROOTエレメントという大枠があって、その中に枝分けした CHIILDエレメントの形でデータを収めてある。W3Schoolsも読んで理解に努めてみた。百聞は一見にしかずで、そこにある例を真似て、XML文書を作成してみる。
gamelist.xml
<?xml version="1.0" encoding="utf-8"?>
<list>
<game>
<genre>スポーツ</genre>
<subgenre>野球</subgenre>
<name>ホームランラリー</name>
<description>どれだけたくさんホームランを打てるか!ホームランラリー・フラッシュゲーム</description>
</game>
<game>
<genre>スポーツ</genre>
<subgenre>野球</subgenre>
<name>野球ゲーム</name>
<description>ベースボール・ゲーム</description>
</game>
<game>
<genre>スポーツ</genre>
<subgenre>野球</subgenre>
<name>ホームランラリー2</name>
<description>バリエーションをもったホームランラリー・フラッシュゲーム</description>
</game>
</list>
このままだと、普通にみられる形では表示されない (例)
2.cssスタイルシートを使ってgamelist.xmlを普通に表示できるようにしてみる。別途作ったgamelist.cssをつかい、gamelist.xmlのタグ2行目に
<?xml-stylesheet type="text/css" href="gamelist.css"?>
を加えたgamelist.with.css.xmlを表示する (例)3.cssスタイルシート以上に機能的なXML用スタイルシートとして、XSLを使ってみる。gamelist.xslを使い
<?xml-stylesheet type="text/xsl" href="gamelist.xsl"?>をgamelist.xmlのタグ2行目に追加したgamelist.with.xsl.xmlはcssスタイルシートよりもリッチな表示を実現できる (例)4.ここを参照して、gamelist.xmlのデータを組み込んだgamelist.htmlをつくってみた。(例)
gamelist.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>XMLデータを利用したHTMLのサンプルページ</title>
</head>
<body>
<xml id="gamelist" src="gamelist.xml"></xml>
<table border="0">
<tr><td>ジャンル:</td><td><div datasrc="#gamelist" datafld="genre"></div></td></tr></table>
<table border="1" datasrc="#gamelist">
<thead>
<tr><th>ゲーム名</th><th>説明</th></tr>
</thead>
<tfoot>
<tr><th colspan="2">ゲームのリスト</th></tr>
</tfoot>
<tbody>
<tr>
<td><span datafld="name"></span></td>
<td><span datafld="description"></span></td>
</tr>
</tbody>
</table>
<a href="http://page.freett.com/ven/scripts/xml.into.html.html">戻る</a>
</body>
</html>5.XML Data Island : htmlページ内に記述されるXML文書
上のような形のほかに、htmlページ内にインラインでいれることもできる。 (例)参照: XMLチュートリアル Lesson 3 : XML Data Islandの作成 ==
Display XML using plain HTML ==
2005.7.