Wikiのバックエンドとして、XMLデータベースを使う。

PukiWikiは大規模な情報に弱い(いろんな意味で)。なんとかしたい。

ユーザー視点

  • ぱっと見PukiWikiと変わらない (ように作る)
  • 新機能: カスタムタグ
    • 好きなタグを定義して、ページの一部を囲む
    • これをメタデータとして抽出することで幸せになれる
    • <todo>だけ抽出して、ToDoリストを作るとか
  • 新機能: advanced include
    • 1セクション単位で別ページをincludeできる
    • 編集時は、別ページの内容もインラインで表示される
    • 送信すると、include元のページも同時に書き換わる
  • 履歴が無限だったり、検索まわりが速い

プログラマ視点

  • 入力はWiki文法 <-> XML変換で、出力はXML→HTML変換
    • ユーザーにとっては普通のWikiっぽく使える
    • Wiki文法 <-> XML変換をモジュール化しておけば、各種文法に対応可能
  • XML → HTML変換の親和性が高い
  • その他基本機能の実装も、データベースなので楽
    • 階層構造は、コレクションだっけ?XMLDBの基本機能のはず
    • ls, recentなんか楽勝
    • <link>を抽出して、リンク元探索が簡単

資料

http://www.atmarkit.co.jp/fxml/tanpatsu/18xindice/xindice01.html
http://www.atmarkit.co.jp/fdb/index/subindex/xmldbdev_subindex.html