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