<?xml version="1.0" encoding="shift_jis"?>
<?xml-stylesheet type="text/xsl" href="readme.xsl"?>
<document>
<body>
<h1><a name="name_RD2XML-20for-20JavaScript">RD2XML for JavaScript</a></h1>
<h2><a name="name_Name">Name</a></h2>
<p>RD2XML for JavaScript - convert rd files to XML</p>
<h2><a name="name_Abstract">Abstract</a></h2>
<p><![CDATA[主にRubyで使われるドキュメント形式であるRD形式を、
XMLに変換するJavaScriptです。
一般には、これで生成したXMLをXSLTでHTMLに変換して使うことになります。]]></p>
<h2><a name="name_Description">Description</a></h2>
<p><![CDATA[RDの存在を知って、いろいろ遊んでみようと思ったのですが、
RDtoolはRubyが必要な上に、外部依存のライブラリを集めるだけで一苦労、
Windowsで動かすためにコンパイル済みのライブラリを探すのでへとへと、
とあまりに大変だったので、あきらめかけました。
そんなこんなで逆に開き直って、自分でRD解析機を作ることにしたのです。]]></p>
<p><![CDATA[どの言語で作ろうか、少し迷ったのですが、
ここはせっかくなのでMocaScriptで作ることにしました。
MocaScriptで作っておけば、JavaScriptに移植するのも楽ですし、
JavaScriptで動けば、近頃のOSにはたいていブラウザが存在し、JavaScriptが動くので、
まさに“Write Once, Run Anywhere”です。（違]]></p>
<p><![CDATA[そうやって作ったMocaScript版をHTML+JavaScriptに移植したものがこれになります。]]></p>
<p><![CDATA[これはRDtoolのように、単体でRDから任意の形式に変換することを目指さず、
一度中間形式としてのXMLに変換して、その後XSLTで任意の形式に変換することにしました。
このため、別の形式に変換したくなったとしても、
このスクリプトのソースを細部まで読まなくてもよく、
XSLTだけを書けばよいのです。]]></p>
<p><![CDATA[本スクリプトは「RDtoolのJavaScript版」ではなく、
]]><a href="#name_RD-20working-20draft-20-E6-97-A5-E6-9C-AC-E8-AA-9E-E7-89-88"><![CDATA[RD working draft 日本語版]]></a><![CDATA[を参考に、RD解析･表現を独自に実装しているため、
RD処理機の事実上の標準である]]><a href="#name_RDtool">RDtool</a><![CDATA[とは、解釈が異なる場合があります。]]></p>
<h2><a name="name_Synopsis">Synopsis</a></h2>
<p><![CDATA[上のTEXTAREAにRD形式の文書を入れて、「変換」を押すと、下のTEXTAREAに変換結果が表示されます。
XSLTファイルの名前を変えたりしてから使ってください。]]></p>
<h2><a name="name_Bugs-20and-20Limitations">Bugs and Limitations</a></h2>
<dl>
  <dt><a name="name_-E8-84-9A-E6-B3-A8-E3-81-8C-E5-87-A6-E7-90-86-E3-81-A7-E3-81-8D-E3-81-AA-E3-81-84"><![CDATA[脚注が処理できない]]></a></dt>
  <dd><![CDATA[実装する必要があるかどうか、どうやって実装するか、迷ってます。]]></dd>
  <dt><a name="name_-E3-82-B3-E3-83-BC-E3-83-89-E3-81-8C-E6-B1-9A-E3-81-84"><![CDATA[コードが汚い]]></a></dt>
  <dd><![CDATA[解析にInterpreterパターンを使い、XML書き出しをMSXML ParserをcreateObjectで呼び出して行う、
ということも夢見たのですが、現時点ではどちらも良くわからなかったので、こうなってしまいました。
コードの綺麗さよりもとりあえず動くものが欲しかったもので。。。
将来的に書き直したいとは思っているのですが。]]></dd>
  <dt><a name="name_RDtool-E3-81-A8-E5-A4-89-E6-8F-9B-E7-B5-90-E6-9E-9C-E3-81-8C-E7-95-B0-E3-81-AA-E3-82-8B"><![CDATA[RDtoolと変換結果が異なる]]></a></dt>
  <dd><![CDATA[仕様です。]]></dd>
  <dt><a name="name_-E6-9B-B8-E3-81-8D-E5-87-BA-E3-81-99-E3-81-A8-E3-81-8D-E3-81-AE-E3-82-A8-E3-83-B3-E3-82-B3-E3-83-BC-E3-83-89-E3-81-8CShift_JIS-E5-9B-BA-E5-AE-9A"><![CDATA[書き出すときのエンコードがShift_JIS固定]]></a></dt>
  <dd><![CDATA[仕様です。]]></dd>
</dl>
<h2><a name="name_See-20also">See also</a></h2>
<dl>
  <dt><a name="name_RD-20working-20draft-20-E6-97-A5-E6-9C-AC-E8-AA-9E-E7-89-88"><![CDATA[RD working draft 日本語版]]></a></dt>
  <dd><a href="http://www.ruby-lang.org/~rubikitch/RDP.cgi?cmd=view;name=RD">&#xab;<![CDATA[http://www.ruby-lang.org/~rubikitch/RDP.cgi?cmd=view;name=RD]]>&#xbb;</a></dd>
  <dt><a name="name_Ruby-20Documentation-20Project">Ruby Documentation Project</a></dt>
  <dd><a href="http://www.ruby-lang.org/~rubikitch/RDP.cgi?cmd=view;name=top">&#xab;<![CDATA[http://www.ruby-lang.org/~rubikitch/RDP.cgi?cmd=view;name=top]]>&#xbb;</a></dd>
  <dt><a name="name_RD-E4-BA-8B-E5-A7-8B-E3-82-81"><![CDATA[RD事始め]]></a></dt>
  <dd><a href="http://www.ruby-lang.org/~rubikitch/computer/rd-intro/">&#xab;<![CDATA[http://www.ruby-lang.org/~rubikitch/computer/rd-intro/]]>&#xbb;</a></dd>
  <dt><a name="name_CGI-E7-89-88RD-E3-82-B3-E3-83-B3-E3-83-90-E3-83-BC-E3-82-BF"><![CDATA[CGI版RDコンバータ]]></a></dt>
  <dd><a href="http://www.ruby-lang.org/~rubikitch/makerd.html">&#xab;<![CDATA[http://www.ruby-lang.org/~rubikitch/makerd.html]]>&#xbb;</a></dd>
  <dt><a name="name_RDtool">RDtool</a></dt>
  <dd><a href="http://www2.pos.to/~tosh/ruby/rdtool/ja/">&#xab;<![CDATA[http://www2.pos.to/~tosh/ruby/rdtool/ja/]]>&#xbb;</a></dd>
</dl>
<h2><a name="name_License">License</a></h2>
<p><![CDATA[一切を放棄し、PublicDomainとします。
このソースの一部または全部を利用しても、著作権表示をする必要はありませんし、
派生物のソースを公開する義務もありません。
このスクリプトを綺麗に書き直して下さった場合、公開してくださると助かりますが、
これもやはり義務ではありません。]]></p>
<p><![CDATA[ちなみに、]]><a href="#name_RDtool">RDtool</a><![CDATA[のソースは一切見ていません。
参考にしたのは、]]><a href="#name_RD-20working-20draft-20-E6-97-A5-E6-9C-AC-E8-AA-9E-E7-89-88"><![CDATA[RD working draft 日本語版]]></a><![CDATA[と、]]><a href="#name_RD-E4-BA-8B-E5-A7-8B-E3-82-81"><![CDATA[RD事始め]]></a><![CDATA[の紹介の部分です。
]]><a href="#name_CGI-E7-89-88RD-E3-82-B3-E3-83-B3-E3-83-90-E3-83-BC-E3-82-BF"><![CDATA[CGI版RDコンバータ]]></a><![CDATA[のソースは見ていません。
言語規格に著作権は無いはずなので、このスクリプトの著作権は成瀬のみに属していました。]]></p>
<h2><a name="name_History">History</a></h2>
<dl>
  <dt><a name="name_Revision-3A-201.2-20(2003-05-23)"><![CDATA[Revision: 1.2 (2003-05-23)]]></a></dt>
  <dd><![CDATA[rd2xml.ms Revision: 1.3に追従]]></dd>
  <dt><a name="name_Revision-3A-201.1-20(2003-03-22)"><![CDATA[Revision: 1.1 (2003-03-22)]]></a></dt>
  <dd><![CDATA[最初のバージョン。
RD2XML for MocaScriptをJavaScriptで書き直したもの。]]></dd>
</dl>
<h2><a name="name_Author">Author</a></h2>
<p><![CDATA[成瀬ゆい ]]><a href="mailto:naruse@airemix.com">&#xab;<![CDATA[mailto:naruse@airemix.com]]>&#xbb;</a></p>
<h2><a name="name_Copyright">Copyright</a></h2>
<p><![CDATA[Copyright (c) 2001-2003 Airemix. No rights reserved.]]></p>
</body>
</document>
