5章 テンプレート - 6. テンプレートの展開
wr-break は wr-for のループを脱出したい場合に使用します。wr-break は <wr-for...>と</wr-for>の間にのみ記述できます。
<wr-break condition="<cond>"/>
<wr-break condition="<cond>"></wr-break>
<wr-break/>
<wr-break></wr-break>
wr-break には condition="<cond>" の部分に脱出条件を指定することができます。<cond> に指定した条件が成立した場合に wr-break を囲んでいる最も内側の wr-for から脱出します。<cond> に指定可能な式は wr-if と同じです。詳しくは wr-if の説明を参照してください。
wr-break に <cond> を指定しない場合には、無条件に wr-for を脱出します。この形式は wr-if と組み合わせて使用してください。
住所という繰り返しのあるグループ項目に郵便番号と住所という2つの下位項目があるとします。その繰り返しの先頭から3件だけをテーブルで表示してみます。
<wr-for list="住所" variable="address" count="i">
<tr>
<td>%address.郵便番号%</td>
<td>%address.住所%</td>
</tr>
<wr-break condition="i == 3"/>
</wr-for>
wr-for のループを繰り返す過程では i の値は 1...2...3 と変化して行きますが、その値が 3 になると wr-break に指定してある条件が成立するので「住所」の繰り返しがまだ残っていても wr-for の繰り返しは終了してループを脱出します。
住所という繰り返しのあるグループ項目に郵便番号と住所という2つの下位項目があるとします。その繰り返しの先頭から3件だけをテーブルで表示してみます。
<table>
<wr-for list="住所" variable="address" count="i">
<tr>
<td>%address.郵便番号%</td>
<td>%address.住所%</td>
</tr>
<wr-if condition="i == 3">
<tr>
<td colspan="2">以上 %i% 件です</td>
</tr>
<wr-break/>
</wr-if>
</wr-for>
</table>
この例では wr-break には直接条件を指定していませんが、wr-if を使って脱出条件を検出しています。また、脱出直前に「以上 ? 件です」の行を展開してからループの外へ出ています。