実践! XMLアプリケーションサーバ「BXS」
2. Webブラウザ別のスタイルシートを用意
表示の加工が終わったところで、次のステップに進んでみることにしましょう。前回も少し書きましたが、XML化によってコンテンツとレイアウトを分離することができます。レイアウトとコンテンツを独立して修正できる利点については、繰り返し述べる必要はないでしょう。
しかし、XMLによってデータをレイアウトから分離する利点はそれだけではありません。昨今、Webブラウザとひとくちに言ってもさまざまなものがあります。例えば、皆さんお馴染みの Internet Explorer(以下 IE)や Netscape Navigator(以下 NN)以外にも、以下のようなWebブラウザが知られています。
- Mozilla、K-Meleon
- Opera
- Lynx,、w3m
これらのWebブラウザはそれぞれ独自のHTMLレンダリング処理を行っており、Cascading Sytle Sheet(CSS)のサポート1つとってみても微妙に動作が異なります(Lynxやw3mなどに至ってはテキストベースのWebブラウザですから、そもそも表示の仕方が全く異なります)。IEとNNでの見え方が同じになるようにと、CSSの定義に苦労された方も多いのではないでしょうか。
また、Webページにアクセスしてくるのは、何もパソコン上のWebブラウザだけではありません。最近では皆さんがお持ちの携帯電話、いわゆるブラウザフォンからもWebページにアクセスすることが可能です。
これらのさまざまなWebブラウザに対応し、それぞれに適切な表現で情報を提示するためにはさまざまな方法が考えられますが、ここでもやはりXML文書とXSLTスタイルシートの組み合わせが有効です。カンのいい方はもう察しがついているでしょう。Webブラウザごとに最適な表示を行うスタイルシートを1つずつ作成しておき、アクセスしてきたWebブラウザの種類に応じてスタイルシートを切り替えるようにするのです。
BXSではもちろん、アクセスしてきたWebブラウザの種類を認識して、使用するスタイルシートを切り替える機能があります。ここではその機能を利用し、IEとiモード携帯電話(以下 iモード)で、XSLTによって出力形式を切り替えるサンプルを作成してみることにします。
■iモード用スタイルシートを定義する
コンテンツは、先ほどのブックマークのサンプルをそのまま流用します。ブックマークの情報をIEとiモードで見やすく表示するために、それぞれのスタイルシートを用意しましょう。先ほど作成したスタイルシートはIE用にそのまま使えそうですから、iモード用のスタイルシートを新たに作成するだけでよさそうです。
iモード対応のHTML文書を作成する場合ですが、以下のような制限を考慮する必要があるため、スタイルシートを定義する場合は注意しなくてはなりません。
- スクリーンは8 × 6 行(全角)
- 文字コードはSHIFT JIS
- 1ページの容量は推奨2KB
これ以外にもいくつかiモード対応のHTML文書を作成する上での注意点がありますが、今回のサンプルとの関係が少ないのでここでは触れません。詳しくは「iモード対応HTML Version1.0-2.0 タグ・画面イメージ対応表」を参照してください。
ここでは、上記の点を考慮して以下のようにスタイルシートを定義します。
- 見出しのたぐいはできるだけ短い文字列にする
- 各サイトのコメントは表示しない
- リンクと見出しを区別するため、リンク前に矢印記号(→)を挿入する
- 無駄な改行は可能なかぎり入れないようにする
リスト4(bookmark-2-imode.xsl)が、実際に定義したスタイルシートになります。基本的な構成はリスト3とほとんどど変わっていません。ヘッダのタグは用いず(14、29行目)、カテゴリごとに水平線を入れています(38 行目)。ポイントは、各サイトへのリンクの前に「→」を挿入してアクセントをつけているところです(43 行目)。
<?xml version="1.0" encoding="UTF-8"
?>
|
リスト4 iモード用スタイルシートのbookmark-2-imode.xsl |
「4. Webブラウザごとに出力を切り替える」 |
- QAフレームワーク:仕様ガイドラインが勧告に昇格 (2005/10/21)
データベースの急速なXML対応に後押しされてか、9月に入って「XQuery」や「XPath」に関係したドラフトが一気に11本も更新された - XML勧告を記述するXMLspecとは何か (2005/10/12)
「XML 1.0勧告」はXMLspec DTDで記述され、XSLTによって生成されている。これはXMLが本当に役立っている具体的な証である - 文字符号化方式にまつわるジレンマ (2005/9/13)
文字符号化方式(UTF-8、シフトJISなど)を自動検出するには、ニワトリと卵の関係にあるジレンマを解消する仕組みが必要となる - XMLキー管理仕様(XKMS 2.0)が勧告に昇格 (2005/8/16)
セキュリティ関連のXML仕様に進展あり。また、日本発の新しいXMLソフトウェアアーキテクチャ「xfy technology」の詳細も紹介する
|
|