プログラミング基礎 II

第十一回 (2006年12月18日)

繰り返し

http://www.sw.it.aoyama.ac.jp/2006/PB2/lecture11.html

Martin J. Dürst

duerst@it.aoyama.ac.jp

O 棟 529号室

AGU

© 2006 Martin J. Dürst 青山学院大学

今日の予定

先週の復習

先週の演習

演習 1

変換ファイル ordersDiscount.xsl の割引の計算を <xsl:if> から <xsl:choose> に変更する。

正解の一例: ordersDiscountChoose.xsl

演習 2

本ごとの郵送料を計算する。注文のリストにそのための新しい欄を作る。本の全体の値段に足す。

正解の一例: ordersShipping.xsl

繰り返しの目的と概要

自然な繰り返し

明記的な繰り返し: <xls:for-each>

<xsl:for-each> と現在のノード

<xsl:for-each>position() など

XSLT の処理のパターン

<xsl:attribute>

演習 1

提出: 12月30日 (日曜日) 22:00 までに Moodle に投稿

本をテーブルとして出力する変換ファイルを次のように変更する:

演習 2

提出: 12月30日 (日曜日) 22:00 までに Moodle に投稿

今まで使った簡単な変換ファイルをベースに、<xsl:apply-templates> を少しずつ <xsl:for-each> (や <xsl:value-of>) に変換。

注意: この演習はあくまで <xsl:apply-templates><xsl:for-each> の関係や複数の <xsl:for-each> の限界を実感するためのもので、このような「団子変換」を絶対使って欲しくない。