http://www.sw.it.aoyama.ac.jp/2008/PB2/lecture8.html
© 2006-8 Martin J. Dürst 青山学院大学
先回の演習で作った出力 (もしくは今日出された正解例) に次の機能を追加しなさい:
XSLT のリフレクション (reflection) 機能の使い方
データのレベル:
XML の構造を分かりやすいように HTML として出力する
XPath 内で次のようにノードの種類を選別できる:
*
: 要素 (ノードテスト)comment()
: コメントノード (ノードテスト)processing-instruction()
: 処理命令のノード
(ノードテスト)text()
: テキストノード (ノードテスト)namespace::*
: 名前空間ノード
(軸とノードテスト)@*
: 属性 (軸とノードテスト)|
で条件を結ぶselect='authors/person|translators/person'
select='(authors|translators)/person'
xsl:apply-templates@select
でも
xsl:template@match
でも使える<xsl:value-of>
要素で出力xsl:value-of@select
の値によって出力されるもの:ノードの種類 | name() |
. (データ) |
---|---|---|
要素 | 要素名 | - |
属性 | 属性名 | 属性値 |
テキスト | - | テキスト |
コメント | - | コメント |
処理命令 | 命令の「名前」 | 残り |
名前空間 | 接頭辞 | URI |
提出: 12月5日 (金曜日) 22:00 までに Moodle に .xsl
のファイルを投稿
一般の XML ファイルを分かりやすいように (X)HTML などに変換する。できるだけ全てのノードの種類 (ルートを含め7種) に対応させる。
ヒント:
<div>
;
箇条書き (<ul>
、<li>
);
テーブル; (X)HTML ではなく SVG@class
を使うsomeXML.xml
、
作りかけの変換ファイルの例: showXMLsimple.xsl
,
その出力: showXMLsimple.html
、完成の出力の一例:
showXML.html