ページはオブジェクト(をシリアライズした)形式で保存しておく。
記法以外の方法で更新できるように。記法変換にも役立つ。

→更新(要素の追加・削除)はできなくていいのでデータアクセスがあればいい。記法変換せずに更新するとなるとできるのはセレクターで指定した要素の削除や、他のページとの要素入れ替えや、コンストラクターを直接利用した要素生成になる。JSONのような構造化された形式で1ページ分の要素を更新できれば十分。でもデータアクセス利用者が書いたことをデータ交換用形式にするもので、更新はできない。→ :Done/データアクセスでページ要素を更新したい

内部形式 Edit

HTML出力の他に内部形式での出力(Decoratorになったままのオブジェクト)も。
APIでの話。機能が扱う形式。

1ページに4つの形式 Edit

  • 閲覧用(保存用と統合)
    HTML
  • 編集用(保存用と統合)
    WikiText
  • 保存用
    オブジェクト
    内部用のページIDなどを使う
    (オブジェクト間を間接的な参照に)
  • 検索用(保存用と統合、どう同一視するかはオブジェクト次第)
    表記の揺れを省く、大文字/小文字統一、カタカナ/ひらがな統一、全角/半角統一
    →同一視などは検索処理側で行なう。保存しない。キャッシュするなら検索側で。ページ側の仕様には含めない。

→必要になるたびに変換するのでもういい。形式は4つとは限らない。