• 追加された行はこの色です。
  • 削除された行はこの色です。
RIGHT:[[:t/ページ]] [[:t/属性]] [[:t/権限]] [[:t/継承]]

ページ/属性は下位ページに継承される。
%%本文とは異なり、Wiki構築のために書く。%%

%%何を書くか。%%
-%%ヘッダー、ディレクトリ別サブヘッダー%%
-%%ページ/属性%%
-%%その他ディレクトリ別、下位ページにも適用したい機能やページ/属性%%


***継承される領域 [#ld61a28b]
ページに付随するページ/属性領域。ページではないが、ページのようにページ/要素で構成されていてデータアクセス可能。

----
%%→ページ/編集/UI、ページ/属性%%
%%タグもここに。記法で。1ページにいくつでも入れられる。継承され、下位のページにも適用される。ページ移動時、消えたり追加されたり。ただしシステムが追加、削除するのはページ/裏にある継承可能領域のみ。%%

-%%継承される(ページ/裏と同様)%%
-%%システムはここを変更しない(ページ/裏と異なる)%%
#contents

%%継承に単位が無いのが問題?ページの内容はテキスト1つ。これを継承するので分ける必要がある。内容(継承されない)、ページ全体に影響する機能呼び出しを書くところ(継承される)、裏の3つに分ける?継承したものは埋め込み位置が失われている。位置が重要なページ/内容は継承できなくていい。%%

#br

この領域に機能呼び出しを書けば、下位にあるページすべてに書いたのと同じ。
この領域から呼び出す機能を作れば、下位にあるページを管理するようなものも作れそう。
WikiEngineのオブジェクトを組み合わせて独自のCMSを作るとか。

***継承ルール [#d662e040]
%%属性は''未定義のものだけ''親ページから継承する。先祖に無ければデフォルト値。デフォルト値はWikiの設定にある。%%

%%ページ/内容内に章見出しか定義リストの形式で…%%
-%%属性名(継承する)%%
-%%値%%
-%%継承できるか否か%%

%%…を与えられるように。%%
%%通常のページ/内容は元からこの定義リストになっていることにする。属性名が無いと通常の内容の定義になる。%%
RIGHT:%%[[:t/継承]] [[:t/属性]]%%

----
未定義の属性だけ継承…というのはやめる。継承されるはずの値は全て評価しないと、属性にした要素が呼ばれないことになる。要素はただ呼ばれるだけでも意味があるが、それがなくなると応用が利かなくなってしまう。
→継承は最上位からの上書きで。

属性名を検出、継承ルールを適用するのはフレームワーク/WikiEngineの役目。属性記述に使える要素もフレームワーク次第。記述方法もフレームワークに従う。
***継承ルール [#b9848a10]
> /1/2/3 (/2/3/1なども同じページを指す)

上記のページは以下のページ(上位ページ)が持つ属性を継承する。

> /1/2 (/2/1と同じページ)
> /1/3 (/3/1と同じページ)
> /2/3 (/3/2と同じページ)
> /1
> /2
> /3
> / (ルートページ)

継承順は上位から下位へ。異階層間は上書きなので下位が有効になる。同階層間はマージ。1ページ内での重複もマージ。
属性の型は1つ。継承ルールも上書き・マージの仕方も1つ。
***[[:i/継承される領域]] [#ld61a28b]
***[[:Done/属性継承時の権限判定は?]] [#of1e4c10]
継承に権限は不要。設定には必要。


***[[:i/属性の継承法則]] [#o9588ac1]
同階層間はマージ、異階層間はオーバーライド。