ここでは、植物に関する各種の情報を電子化し、どうすれば共有できるかなど少しずつ考えていきたいと思います。
APG II (Angiosperm Phylogeny Group, 2003) は形態や分子系統学のデータをなるべく広く考慮した、植物の科以上の分類です。文献にあるリストそのままでは目名、科名ともに検索しにくいのでスプレッドシートに取り込みました。ついでにこれをXML化してみました。DTDは大体こんな感じで、APG特有の属性もありますが、それだけでなく属以下も含めた一般的な分類に使えるのではないかと思います。シノニムはまだ入れてありません。(2004.1.26)
<?xml version="1.0"?> <!DOCTYPE apg2 [ <!ELEMENT apg2 (source, entry+)> <!ATTLIST apg2 xml:space (default|preserve) "preserve" xml:lang NMTOKEN #IMPLIED> <!ELEMENT source (pub_author, pub_year, title, journal, volume, pages)> <!ELEMENT pub_author (#PCDATA)> <!ELEMENT pub_year (#PCDATA)> <!ELEMENT title (#PCDATA)> <!ELEMENT journal (#PCDATA)> <!ELEMENT volume (#PCDATA)> <!ELEMENT pages (#PCDATA)> <!ELEMENT entry (name, author, year, rank, included_in, submersible_to*, members*)> <!ATTLIST entry new_taxon (yes | no) "no" new_placement (yes | no) "no" new_circum (yes | no) "no" conserved (yes | no) "no"> <!ELEMENT name (#PCDATA)> <!ELEMENT author (#PCDATA)> <!ELEMENT year (#PCDATA)> <!ELEMENT rank (#PCDATA)> <!ELEMENT included_in (#PCDATA)> <!ELEMENT submersible_to (#PCDATA)> <!ELEMENT members (#PCDATA)> ]>
上記DTD中、sourceは元の文献、entryがひとつの分類群です。nameの属性中new_taxonはAPG II中†で、new_placementは*で、new_circumは§でそれぞれ示されているものです。rankはorder, family, genusなどでこれらの形式に当てはまらないもの(例えばeurosid)はinformalとします。included_inはその分類群を含む上位の分類群、submersible_toは[+で示されている分類群のとき、それと同義とされ得る分類群になります。例えばAgapanthaceaeならAlliaceaeです。一応その分類群に属する下位の分類群を記述するためのmembersも入れてありますが、どの分類群までを含めるのか等の問題もあると思います。試しに作ったXMLにはmembersは入れてありません。
apg2.xmlをダウンロードする。インターネットエクスプローラでは直接表示しようとすると思いますが、最新のバージョンではエラーになります。MacOSクラシック用の5.0では表示できますが、OS X用の5.2.3では駄目でした。他のブラウザでは「リンクをダウンロード」等のコマンドでダウンロードしてください。
Angiosperm Phylogeny Group, 2003, An update of the Angiosperm Phylogeny Group classification for the orders and families of flowering plants: APG II, Botanical Journal of Linnean Society, 141: 399–436.
2004年1月26日作成、2004年11月12日更新
國分 尚