http://www.sw.it.aoyama.ac.jp/2007/PB2/lecture3.html
O 棟 529号室
© 2006-7 Martin J. Dürst 青山学院大学
xsl
接頭辞を別のものに変更し、実行してみるどちらか処理が成功した方を Moodle にアップロードしなさい (10月28日 (日) 22:00 必着)
成功するのは 1。例えば
...
<hoge:transform
xmlns:hoge='http://www.w3.org/1999/XSL/Transform'
でも変換が動作する (hello-hoge.xsl, hello-2000.xsl 参照)
配布された木構造から XML 文書を作りなさい
配布された木構造には空白ノードが無いが、XML 文書として読みやすい様に改行、字下げを追加しなさい
Moodle にアップロードしなさい (10月28日 (日) 22:00 必着)
正解例: nodes.xml
/books
: トップの books 要素/books/book
: books の下の book 要素/books/book[5]
: 五番目の book 要素book/data/@ISBN
: book 要素の data 要素の ISBN
属性book[data/@ISBN]
: ISBN 属性のある book 要素book[data/@ISBN="1-23456-7890"]
: ISBN 属性が 1-234...
の book 要素本のデータ: books.xml
簡単な変換ファイル: books-xpath.xsl
(absolute path and relative path)
/
で区切られている/
で始まるパスは絶対パス
(文章のルートノードから).
は現在のノードを示している::
node-test[
predicate]
(axis)
axis::
child::
、attribute::
と
descendant::
は大体省略可能parent::
、anchestor::
、preceeding::
などは省略不可能child::
my-element)@
my-attribute: 属性
(attribute::
my-attribute).
: 現在のノード (self::node()
)..
: 親ノード (parent::node()
)//
: 子孫ノード
(/descendant-or-self::node()
)*
: 全ての名前の (要素) ノード(node test)
text()
comment()
processing-instruction()
node()
(要素ノードだけではなく、テキスト、コメントも含む)(predicate)
[7]
: 七番目のノード
([position()=7]
の略)[my-element]
:
子要素「my-element」の存在のチェック[@my-attribute]
:
属性「my-attribute」の存在のチェック[@my-attribute="hoge"]
:
属性の値のチェック提出: 11月 9日 (金曜日) 22:00 までに Moodle に投稿
(注: value-of
はノードセットの初めのノードだけを文字列に変換)