いがらしです。

管理者の立候補じゃないのですが^_^;)

「[ruby-list:15472] raa」で 、
Masaki Fukushima <fukusima / goto.info.waseda.ac.jp>さんは書きました:

> # こういう情報こそ、XMLを使って、各アーカイブの作者が情報を用意す
> # れば良いのかも...

私も以前同じようなことを考えたことがあります。
キーワードとかで検索できたらいいかなと思って
下のような形式を考えたんですが、実際にツールを
書いたりはしてません。

検索はできなくても、CPANのようにおおまかなカテゴリに
分類されているだけでだいぶ探しやすいと思います。

<?xml version="1.0" encoding="iso-2022-jp"?>

<!DOCTYPE raa [
<!ELEMENT raa  (item*)>
<!ELEMENT item (name, maintainer, desc*)>
<!ATTLIST item kind     (lib|app|port) #REQUIRED>
<!ATTLIST item keywords  NMTOKENS #REQUIRED>
<!ATTLIST item version  CDATA #REQUIRED>
<!ATTLIST item update   CDATA #REQUIRED>
<!ATTLIST item xml:link CDATA #FIXED "simple"
               href     CDATA #IMPLIED>
<!ELEMENT name       (#PCDATA)>
<!ELEMENT maintainer (#PCDATA)>
<!ENTITY % text_elem "#PCDATA|a|ul|dl|code|emph">
<!ELEMENT desc (#PCDATA|a|ul|dl|code|emph)*>
<!ATTLIST desc xml:lang NMTOKEN #IMPLIED>
<!ELEMENT a (#PCDATA|code)*>
<!ATTLIST a xml:link CDATA #FIXED "simple"
            href     CDATA #REQUIRED>
<!ELEMENT ul (li)*>
<!ELEMENT li (#PCDATA|a|ul|dl|code|emph)*>
<!ELEMENT dl (dt,dd)*>
<!ELEMENT dt (#PCDATA|a|ul|dl|code|emph)*>
<!ELEMENT dd (#PCDATA|a|ul|dl|code|emph)*>
<!ELEMENT code (#PCDATA)>
<!ELEMENT emph (#PCDATA)>
]>

<raa>
  <item kind="app" keywords="network http"
	version="0.95" update="1997-12-12">
    <name>HttpTunnel</name>
    <maintainer></maintainer>
    <desc>HTTPを使ってさまざまなプロトコルを
    トンネルさせるプログラムです.</desc>
  </item>
  <item kind="app" keywords="network mail tk"
	version="0.4" update="1997-04-09">
    <name>emie</name>
    <maintainer>あ伊藤</maintainer>
    <desc>Ruby/Tkで書かれたメールリーダです.</desc>
  </item>
  <item kind="app" keywords="network ftp upload"
	version="1.2.3" update="1999-03-11">
    <name>ftpmirror</name>
    <maintainer>前田修吾</maintainer>
    <desc>ftpを使って<emph>アップロード</emph>を行うプログラムです.</desc>
  </item>
</raa>


----
五十嵐  宏  (Hiroshi IGARASHI)