* 反復ブロック (HTML)

[1]
[CODE(HTMLa)@en[[[repeat]]]] [[属性値]]が[[整数]]である[[要素]]を、
[DFN[[RUBY[反復][はんぷく]@en[repetition]][RUBYB[ブロック]@en[block]]]]といいます。
[SRC@en[WF2 3.2.2]]

[2] 仕様書:
- [[Web Forms 2.0]]
-- [CSECTION@en[3.2.2. Repetition blocks]]
<IW:WF2:"#repetition0">
--<http://www.whatwg.org/specs/web-forms/current-work/#repetition1>

** 構文

[3] '''[CODE(HTMLa)@en[repeat]] 属性'''

[[反復ブロック]]の [CODE(HTMLa)@en[[[repeat]]]] [[属性値]]は、
[[整数]]です。すなわち、
省略可能な [CODE(char)[[[-]]]]
の後に1つ以上の[[十進数]]の[[数字]]が続く[[文字列]]です。
[SRC@en[WF2 3.2.2]]

[4] '''[CODE(HTMLa)@en[repeat-template]] 属性'''

[[反復ブロック]]は、 [CODE(HTMLa)@en[[[repeat-template]]]]
[[属性]]を使って、関連付ける[[反復雛形]]を指定[['''して構いません''']]。
[SRC@en[WF2 3.2.2]]

[[#comment]]

** フォーム

[5] '''反復雛形'''

-[6]
[[反復ブロック]]に [CODE(HTMLa)@en[[[repeat-template]]]]
[[属性]]があり、その[[属性値]]と等しい[[識別子]]を持つ[[要素]]がある場合、
-- [7]
その[[要素]]が[[反復雛形]]なら、それが、
その[[反復ブロック]]が[RUBYB[関連付けられる]@en[associated]][[反復雛形]]です。
なお、同じ[[識別子]]の[[要素]]がある場合の動作は、
[CODE(DOMm)@en[[[getElementById]]]] と同じと[['''するべきです''']]。
[SRC@en[WF2 3.2.2]]
-- [8]
その[[要素]]が[[反復雛形]]でなければ、
その[[反復ブロック]]はどの[[反復雛形]]とも関連付けられません。
[SRC@en[WF2 3.2.2]]
- [9] [[反復ブロック]]に [CODE(HTMLa)@en[[[repeat-template]]]]
[[属性]]がない場合は、
[[反復雛形]]である最初の[[弟]]があるなら、それと関連付けられます。
[SRC@en[WF2 3.2.2]]

;;
一般に[[反復雛形]]は[[反復ブロック]]の[[弟]]である必要はありませんが、
[[反復雛形]]の [CODE(DOMa)@en[[[repetitionBlocks]]]]
には現れないことになります。
[SRC@en[WF2 3.2.2]]

[10] '''孤児反復ブロック'''

関連付けられた[[反復雛形]]のない[[反復ブロック]]を、
[DFN[[RUBY[孤児][こじ]@en[orphan]][RUBY[反復][はんぷく]@en[repetition]][RUBYB[ブロック]@en[block]]]]といいます。
[[孤児反復ブロック]]は[[削除]]されたり[[移動]]されたりすることはありますが、
[[追加]]の影響は受けません。
[SRC@en[WF2 3.2.2]]

[11] '''索引'''

[[反復ブロック]]は[DFN[[RUBY[[[索引]]][さくいん]@en[index]]]]を持ちます。
[[索引]]の[[初期値]]は、
[CODE(HTMLa)@en[[[repeat]]]] [[属性値]]です。
[SRC@en[WF2 3.2.2]]

[[#comment]]

** 歴史

[13]
[[反復ブロック]]は、 [[Web Forms 2.0]]
で [[HTML]] に導入されました。

[[#comment]]

** 例

[12]
[PRE(HTML example code)[
<div>
 <div repeat="0"/> <!-- A simple repetition block, index 0. -->
 <div repeat="-5"/> <!-- Another, index -5 -->
 <div repeat="2"/> <!-- A simple repetition block, index 2. -->
 <div repeat="nothing"/> <!-- Just a normal element. -->
 <div repeat=" 3"/> <!-- Another normal element (leading whitespace). -->
 <div repeat="template"/> <!-- The template for the last few elements. -->
 <div repeat="1"/> <!-- Orphan repetition block, index 1. -->
</div>
<div repeat="0"/> <!-- Orphan repetition block, index 0. -->
]PRE]

[SRC@en[WF2 3.2.2]]

[[#comment]]

** メモ

[[#comment]]

* メモ
