パブコメジェネレータ・リポジトリ
前回紹介したパブコメジェネレータは HTML 内部にパブリックコメント・リポジトリを持っているのだが, これを XML 形式に外出しにすることを考えてみる。
パブコメジェネレータ・リポジトリというのは 「 MIAUパブリックコメント促進プロジェクト開発Wiki」 で作成されているパブコメジェネレータ用のデータで以下の形式になっている。
- 質問
- YESの場合のページ番号と項目名
- YESの場合のコメント
- NOの場合のページ番号と項目名
- NOの場合のコメント
これらの情報はパブコメジェネレータの HTML 内部に書かれている。 まぁ, 使い捨てのツールであれば今のままでも全然構わないわけであるが, これから別の案件でパブリックコメントを作成することがあれば, 今のパブコメジェネレータをできるだけ流用したいと考えるかもしれない。 このときユーザインタフェースとデータが分離できれば応用しやすい。 また, パブコメジェネレータ・リポジトリのようなユニークなデータは knowledge base として他にも使い道があるかもしれない。
パブコメジェネレータ・リポジトリの形式として XML を選んだことにたいした意味はないが,
他のフォーマットへの変換のしやすさや Web との親和性を考えて今回は XML を選んでみた。
実装例はこちらをどうぞ。
トップノードは repository
で,
repository
の直下に以下の3つの要素がある。
revision
target
questions
revision
にはリビジョン情報を格納する。
バージョン管理を行う場合に必要になるかもしれない。
target
には案件情報とパブコメの送付先などの情報を格納する。
questions
はリポジトリの本体である。
questions
の直下には1つ以上の question
がある。
question
の直下には更に以下の2つの要素がある。
title
comments
title
には質問の内容を格納する。
comments
は質問に対するコメントで,
直下には1つ以上の comment
がある。
comment
には以下の4つの要素がある。
attribution
item
page
content
attribution
には質問に対する回答を格納する。
YES
または NO
が入ることを期待しているが,
他の値を入れて拡張することもできる。
item
または page
はコメントに対応する項目とページ番号を格納する。
content
はコメント内容を格納する。
思いつきで作ったのだが多分破綻していないと思う。 ついでにリポジトリの内容を表示するデモ画面も作ってみた。 XML の読み込みには JKL.ParseXML を使っている。 結構やっつけのコードなので良い子は真似しないように。
この記事が今後の議論の参考になれば幸いです。
(追記)
XML を読み込むタイプのパブコメジェネレータも試しに作ってみました。