http://www.sw.it.aoyama.ac.jp/2008/PB2/lecture3.html
© 2006-8 Martin J. Dürst 青山学院大学
xsl
接頭辞を別のものに変更し、実行してみるどちらか処理が成功した方を Moodle にアップロードしなさい (10月10日 (金曜日) 22:00 必着)
成功するのは 1。例えば...
<hoge:transform
xmlns:hoge='http://www.w3.org/1999/XSL/Transform'
でも変換が動作する (hello-hoge.xsl, hello-2000.xsl 参照)
配布された木構造から XML 文書を作りなさい
配布された木構造には空白ノードが無いが、XML 文書として読みやすい様に改行、字下げを追加しなさい
Moodle にアップロードしなさい (10月 3日 (金曜日) 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"]:
属性の値のチェック提出: 10月 10日 (金曜日) 22:00 までに Moodle に投稿