プログラミング基礎
II
第一回 (2009年
9月28日)
授業の目的と構成、XSLT の概要
http://www.sw.it.aoyama.ac.jp/2009/PB2/lecture1.html
Martin J. Dürst
duerst@it.aoyama.ac.jp
O 棟 529号室
テュールスト マーティン
ヤコブ
© 2006-9 Martin
J. Dürst 青山学院大学
目次
- プログラミング基礎 II (Dürst) について
- XSLT の概要と歴史
- XSLT の単純な例
- 演習
自己紹介
授業の位置づけ
青山スタンダード => テーマ別科目 => 領域H
(情報の技能)
- プログラミング基礎 I (前期; 馬渡先生): HTML,
ウェブページ
- プログラミング基礎 II (後期; 馬渡先生): Java
プログラム言語
- プログラミング基礎 I (前期; Dürst): XML
(文書・データ記録言語)
- プログラミング基礎 II (後期; Dürst): XSLT (XML
変換言語)
履修登録
履修登録の制限があるが、まだ空きがある
原則として前期のプログラミング基礎 I (XML)
の履修が前提
積極的な学生はプログラミング基礎 II だけでも可能
(要相談・復習)
成績評価方法
授業中のミニテストと演習課題: 50% 以上
期末試験: 50% 以下
出席は取らないが、出席しないと必ず損
授業の進め方
- 資料配付とウェブ公開
- 資料は完全なものではない: 書き込みが必要
- 授業の後半は演習
- 宿題 (演習の延長) とミニテストがある
- 定期試験がある
授業の目的
前期:
- プログラミングで非常に大切なデータから入る
- XML を中心にデータの構造、扱え方を勉強する
後期:
- XSLT によってさらにデータの扱い方に強くなる
- 宣言型プログラミングで色々なプログラムが書ける
XSLT の単純な例
- XML データ入力ファイル: hello.xml
- 変換指定ファイル (XSLT): hello.xsl
- XSLT プロセサ:
msxsl
- 出力 (ファイルなど)
XSLT の起動
- スタートからコマンドプロンプトを開き、ファイルの場所に移動
msxsl hello.xml hello.xsl
[>hello.html
]
XSLT の処理の流れ
コマンドプロンプトの簡単な使い方
主なコマンド:
dir
現在いるディレクトリのファイルを表示
mkdir example
新しいディレクトリ (名前が
example) を作成
cd example
サブディレクトリ (名前が
example) へ移動
cd ..
一つ上のディレクトリへ移動
msxsl data.xml transform.xsl
XSLT
変換、結果を画面に表示
msxsl data.xml transform.xsl > output.xml
XSLT
変換、結果を output.xm
l のファイルに
なぜ XSLT
- 宣言型プログラミング:
入力と出力だけ宣言して、やり方は計算機に任せる
(手続き型プログラミング:
計算機にやることを細かく指示する)
- XML のデータの処理にぴったり
- 幅広い利用 (XSLT 専用ハードウェアまである)
XSLT の応用例
- XML データから XML データへの変換
(企業間のデータ変換、集計、組み合わせなど)
- XML データから (X)HTML への変換
(サーバでの変換、ブラウザでの変換)
- XML データから XSL-FO への変換
(印刷業界)
- XML データから SVG 等への変換
- XSLT の変換: プログラム自動作成
授業の日程
プログラミング基礎 II の日程
XSLT の歴史
- XML の開発の初期段階から XML
用のスタイルシート言語が必要と考えられた
- A Proposal for XSL
(1997年 Microsoft, Inso, ArborText からの W3C への提案) で XSLT
の原型
- XSL WG によって大幅な充実と変更、1999 年に勧告として完成
- 2007年1月に Version 2.0 が
XQuery とともに勧告 (大幅な機能増加)
XSLT の仕様書
XSLT の製品
- Saxon (Michael Kay, Java)
- Xalan (Apache project,
Java/C++)
- Xt (James Clark,
Java)
- xsltproc (Daniel
Veillard, C)
- Microsoft 製品: msxsl, IE 内蔵機能
- 他ブラウザ: Opera, Firefox, Safari 等
- Oracle など
今日の XSLT 要素: xsl:output
- 目的: 出力の細かい指定
- 場所:
<xsl:transform>
の直下、頭の方
- 内容: 空 (
EMPTY
)
- 主な属性:
method
: 出力の主な種類: xml
,
html
, text
encoding
: 出力の符号化: UTF-8
,
UTF-16
, Shift_JIS
など
doctype-public
: 外部 DTD
指定の「パブリック」部分
doctype-system
: 外部 DTD
指定の「システム」部分 (URI/IRI)
indent
: 出力の字下げ:
yes
/no
- 例:
<xsl:output method='html' encoding='utf-8'/>
演習 1: msxsl のインストール
(個人パソコン限定)
msxsl によって、 IE 内部機能の XSLT
プロセサがコマンドプロンプトから使用可能
msxsl ダウンロードページ
から msxsl.exe (25KB) をダウンロード
置く場所: C:\WINDOWS
や C:\WINDOWS\system32
で、パスが通っている場所
そのほか必要なソフト:
notepad2
みたいなテキストエディタ
- Opera, Firefox, IE などのブラウザ
演習 2: 出力の修正
hello.xsl
に <xsl:output>
を付けて、様々な文字符号化を使ってみる。コマンドプロンプトへの出力と
notepad2 で見る場合にはどの文字符号化がいいか。
- スタイルシートの修正で出力を HTML から XHTML
に変えてみる (前期の資料参照)。
演習 3: データの変更
- データファイル
hello.xml
内のデータを変更する。再度 XSLT で処理する。
- 新しいデータファイルを用意し、それも変換する。
次回のための準備
- 前期の授業内容を復習 (XML, HTML, CSS)
- 自分のパソコンに msxsl 等をインストールする
- 自分の周りに XSLT が使える例を見つける