ページはオブジェクト(をシリアライズした)形式で保存しておく。
記法以外の方法で更新できるように。記法変換にも役立つ。
→更新(要素の追加・削除)はできなくていいのでデータアクセスがあればいい。記法変換せずに更新するとなるとできるのはセレクターで指定した要素の削除や、他のページとの要素入れ替えや、コンストラクターを直接利用した要素生成になる。JSONのような構造化された形式で1ページ分の要素を更新できれば十分。でもデータアクセスは利用者が書いたことをデータ交換用形式にするもので、更新はできない。→ :Done/データアクセスでページ要素を更新したい
内部形式 †
HTML出力の他に内部形式での出力(Decoratorになったままのオブジェクト)も。
APIでの話。機能が扱う形式。
1ページに4つの形式 †
- 閲覧用(保存用と統合)
HTML - 編集用(保存用と統合)
WikiText - 保存用
オブジェクト
内部用のページIDなどを使う
(オブジェクト間を間接的な参照に) 検索用(保存用と統合、どう同一視するかはオブジェクト次第)
表記の揺れを省く、大文字/小文字統一、カタカナ/ひらがな統一、全角/半角統一
→同一視などは検索処理側で行なう。保存しない。キャッシュするなら検索側で。ページ側の仕様には含めない。
→必要になるたびに変換するのでもういい。形式は4つとは限らない。