• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:[[:t/データコンテキスト]] [[:t/型]]
RIGHT:[[:t/コンテキスト]] [[:t/型]] [[☆]]

† [[:i/ページ要素間の連携方法,データコンテキスト]]
Perlのスカラーコンテキスト/配列コンテキストのような仕組み。というか、ページやページ/要素を呼ぶときに、型指定できるだけのこと。
ページ/要素は指定された型のデータを返す。要素は内包する要素(下位要素)に同じ型を要求して…各要素が同じ型を返すために働く。返せない型でも一応返す。子要素の戻り値があればそのまま、無ければそれもそのまま返す。

Perlのスカラーコンテキスト/配列コンテキストのような仕組み。
どこから呼ばれたかによってページ/要素は異なる型のデータを返す。要素は内包する要素(下位要素)に同じ型を要求して…各要素が同じ型を返すために働く。

第一に考えるのはHTMLを返すコンテキスト。

…をもっと柔軟にして…ページ/要素を呼び出す場面のすべてで使用可能に。呼び出し時に型指定。ページ/要素は指定通りの型''で''データを返すように。(型が変わっても同じ情報。型によっては欠けている部分があるかも知れないけど)
…をもっと柔軟にして…ページ/要素を呼び出す場面のすべてで使用可能に。呼び出し時に型指定。ページ/要素は指定通りの型''で''データを返すように。(型が変わっても同じ情報。型によっては欠けている部分があるかも知れないけど適宜対処)

----------------------------------------
子要素は複数あるし、ネストしている。少なくとも要素同士の合成ルールが要る。
%%[[:/ページ要素間の連携方法,コンテキスト]]%%

子要素は複数あるし、ネストしている。少なくとも合成と1階層分の平坦化のルールが要る。
%%PageElement構造上で同じ形式を扱えるelementがつながっていないと伝播しない。呼び出せないし戻り値も得られない。%%
%%標的までのパスがないときはDOM風アクセスで直接標的を決めてもらわないといけない。%%

PageElement構造上で同じ形式を扱えるelementがつながっていないと伝播しない。呼び出せないし戻り値も得られない。
標的までのパスがないときはDOM風アクセスで標的を決めて。

**コンテキストに対応するメソッド名 [#i3ab99f7]

MIMEタイプで指定されたときは下記の対応する名前にマッピング。

-Element.ToPagenameSet
ページ名の集合。順序なし。
-ToPagenameList
ページ名の順序ありリスト。
-ToHTML
HTML(単要素)
-ToWikiText
WikiText。つまり処理前の入力されたデータそのまま。単要素。
-ToDataSet
何かの集合。Element次第。呼び出した方もそれなりに処理。

で、Elementによってはこれが別のメソッドのラッパーだったりしていい。
***[[:i/目次生成もデータコンテキストで]] [#q4efb20b]
-ToOutline
アウトラインコンテキスト。

***ページを展開するデータコンテキスト [#u1128981]
[[→:ページを展開するデータコンテキスト]]

***[[:i/ビュー別テンプレート]] [#n7f24fa2]
データコンテキストの始まりはリクエスト。その次がビュー。
リクエスト以降同じデータコンテキストが要求されていく。データコンテキストはリクエストからレスポンスまで連鎖するもの。