Entering Passive Mode

カテゴリ 'WWW' の記事
< 1 2 3 4 5 >

XSL #2: XSLT の枠組み

では、XSLT を書いてみよう。

XSLT は XML 適合文書なので、見た目は XML である。
では、XSLT の基本的な枠組みを作ってみる。
これは、XML を HTML に変換する例である。

========== default.xsl ==========
<?xml version="1.0" encoding="utf-8"?>

<xsl:stylesheet
    version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>

XSL #1: 元の XML を用意する

さて、実際に XSL を試してみよう。

まず変換元の XML 文書を用意する必要がある。
適当に簡単なものを生成してもよいのだが、
ここでは、少しは実用的なものを題材にしてみよう。

ということで、以下の RSS 2.0 をサンプルとして利用する。

http://loafer.jp/mixi/diary/rss.xsp

RSS は、Web サイトの概要を表現した XML 適合文書だ。
RSS を利用すれば、Web サイトの更新情報を、
他の Web サイトから取得して連動させたり、
プログラム的に処理したりすることができる。

Extensible Stylesheet Language (XSL)

XML は、1998 年あたりから急激に発展する。

DOM が出現したことで、プログラマは、
厄介であった XML や HTML の文法解析から解放され、
さらに、Dynamic HTML を併用した、
新世代の Web プログラミングが可能となった。

DOM は、Web ブラウザの組み込み機能だけにとどまらず、
C++ や Java など、多彩な言語でその実装が開発され、
ASP や JSP などでも利用することができた。
そのため、XML はサーバ側の汎用データ形式としても、
利用の機会が増えてくることになる。

DOM を使ってみる

DOM を使って、HTML の一部を動的に生成してみよう。
HTML 文書自身を JavaScript を使って書き換える。
DOM による Dynamic HTML のテストという感じだ。

========== dom-test.html ==========
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<title>DOM test</title>
<script type="text/javascript">
<!--

Document Object Model (DOM)

XML は、テキスト形式のデータ表現であるため、
それをプログラムで取り扱うためには、
タグや属性の構文解析が必要となる。

また、XML は要素や属性を自由に定義できるため、
プログラムで XML をデータとして利用する場合、
構文解析した XML を、何らかのデータ構造として、
プログラム独自のデータ構造に加工する必要がある。

例えば、C 言語であれば構造体だろうし、
Perl であれば連想配列だろう、
また、Java や C# では、専用の値クラスになるだろう。

Extensible Markup Language (XML)

CSS や Dynamic HTML と発展する中、
HTML の役割も少しずつ変化してくる。

HTML は文書の作成者が作成するだけではなく、
Dynamic HTML を使って動的に操作可能になったことで、
HTML は Web ブラウザにおける GUI を表現するための
フレームワークとしての役割を持つようになる。

このように、HTML が注目を浴びるようになった中、
HTML を汎用表現として使えないかという議論が生まれた。

Dynamic HTML: HTML + CSS + JavaScript

CSS は、Web ブラウザに新たな可能性を生み出した。
それは、Dynamic HTML と呼ばれる仕組みである。

Dynamic HTML とは、JavaScript を使って、
要素の属性やスタイルを動的に操作するための基盤だ。

CSS では、HTML の要素に自由に装飾を施すことができ、
その指定によって、要素のデザインは百変化する。

CSS によるデザインを、固定的なものとせず
実行時に JavaScript のプログラムで変更できれば、
JavaScript のイベントハンドラと組み合わせると、
利用者の操作に対応して色々な表現が可能となる。

Cascading Style Sheets (CSS)

Web サーバ側技術が一時安定した頃、
WWW は新たな問題に直面していた。
それは、Web ブラウザ上での表現である。

通常のプログラムが、時代と共に
利用者にやさしいデザインへと進化していく中、
WWW では表現に関する制約により、
思い通りにデザインできないという悩みがあった。

通常のプログラムでは、表現は自由にできるが、
Web ブラウザの画面のレイアウトは、
基本的に HTML を使うため自由に表現できない。

持続性接続の実験

インターネットオプション

持続性接続がどれくらい影響を与えているか
実際の通信でためしてみよう。

以下のページには画像を掲載しているが、
画像を 8 x 6 に分割して表に配置している。
このページを読み込むためには、
HTML と 画像 48 個の 49 回の通信が必要である。

■細切れ画像のテストページ
http://loafer.jp/mixi/image-grid/

HTTP/1.1 の登場

SSJS, ASP, PHP, Java Servlet + JSP と、
サーバ側の開発基盤が進歩してくると、
Web サーバの仕事はどんどん多くなってきた。

利用者が対話的に操作をするような Web サイトの場合、
静的なデータを配信するサーバと比較しても、
HTTP による通信回数は多く、
送受信されるデータ量も半端でなく増加している。

従来であれば、Web サーバの負担を減らすために、
キャッシュを利用する事が可能であった。

< 1 2 3 4 5 >
このページのトップへ戻る
© 2008 Project Loafer/Project Fireball and all blog writers. Powered by Nucleus CMS