プログラミング基礎 II

第十回 (2009年12月17日)

分類

http://www.sw.it.aoyama.ac.jp/2009/PB2/lecture10.html

Martin J. Dürst

duerst@it.aoyama.ac.jp

AGU

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

今日の予定

前回の復習

演習についての質問

質問: 出力に <td><td>3</td></td> などができる。なぜですか。

答え: テンプレートを適用するうちに複数回 <td>...</td> に「遭遇」した。

例:

<td><xsl:apply-templates select='@number'/></td>
 ...
<xsl:template match='@number'>
  <td><xsl:value-of select='.'/></td>
</xsl:template>

解決策: どちらかの <td></td> をとる

参考: <td><xsl:value-of select='@number'/></td> でも書けます。

 

分類の目的

自然な分類

明記的な分類、その一: <xsl:if>

明記的な分類、その二: <xsl:choose>

 

発展: XPath 式による分類

演習 1

(提出不要)

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

注意点:

演習 2

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

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

郵送料 (本一冊あたり、円)
本の数
> 50 > 2 ≤ 2
値段 (円) > 10,000 0 500 500
> 2000 100 300 500
> 500 100 200 300
≤500 75 150 200

ヒント (Test-Driven Development):