[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:01002] Re: CLtL の日本語訳ないですか?



こんにちわ。

>> 違います。XMLというルールの中で作ったひとつのアプリケーションがHTMLです。
直
>> 接的な比較の対象の関係はありません。
>
>ううーむ。ますますわからんのんで、理解できたところから、自分なりに解釈。

すいません、説明が悪いですね。
XMLは仕様で、HTMLはその仕様に基づいて作成されたひとつのプログラムみたいなも
のです。
xyzzy Lispとshell.lとの関係みたいな感じですね。そのときのデータ(例えば、
シェルがどれかとか、コマンドとか)がHTMLデータに相当する、みたいな。

>> SGMLのアプリケーションは、DTDというアプリケーション毎のルール集が必須だっ
た
>> ので、そのルール集に閉じを省略できるというように定義していれば省略できた
ので
>> すが、XMLではルール集が無くても使えるようにするため、閉じることによって、
そ
>> の要素の終了を明示します。
>
>XMLがタグを定義できる事はわかったのですが、HTMLみたいに標準のタグと
>いうのはないんですか?
>
>お酒の品種だとか、アルコール度数だとか、というタグがあるのはわかったのです
が、
>そんなん私には全然関係ないし(笑)、HTMLみたいなタグです。


それはXMLの仕様で書かれた、お酒のことを表すためのひとつのプログラムですね。
決してXML自体のことではありません。

例えば、
<メーカ>キリン</メーカ>
<品種>ラガー</品種>
<度数>4.5%</度数>

というデータがあったとき、

<メーカ>の内容を、12pt明朝赤に,<品種>の内容を18ptゴチック黒に,みたいに処理
してくれるレイアウトソフトがあれば、印刷用のカタログはすぐ作れるし、
<メーカ>の内容を「メーカ」フィールドに,<品種>の内容を「品種」フィールドに,
みたいに処理してくれるDBがあれば、データベースへの入力のために再入力しなくて
もよくなります。
しかも、テキストデータだけ読んでも、意味がつかめる(やすい)。

といったようなデータの再利用や汎用性のためのものです。

問題は処理系は自分でカスタマイズしてやらないといけないところですが、XML自体
が標準の規格なので、いろいろなところが、いろいろなツールなどを提供してくれる
可能性があるというわけです。

>もう1つ、たとえばこんな感じでしょうか?
>
>1) XMLでマニュアルを書く
>    <HR></HR>           ---横線とかもこれで書いておく


罫線区切りの理由があると思います。例えば、節の区切りなど。

だから、
<setsu>
<title>節の見出し</title>
<p>節の内容の本文</p>
</setsu>
として、処理系に、<setsu>の前に区切りの罫線入れる、といった指示をします。

>2) 上をHTMLに変換する
>    その時 </HR> がなくなって、通常のブラウザで見える。


HTMLの場合だったら、<setsu>を<HR>と解釈して、</setsu>は捨てる、みたいな。

>3) 1)を今度はTexに変換する。
>   Texの書き方は全然しらないんだけど、なんか印刷用になる。


<setsu>の中の<title>はTimes Bold 14ptでみたいな。
<syou>の中の<title>はHelvetica Bold 18ptでみたいな。

>> lispの括弧と一緒です。
>
>たしかに、シングルタグの(HR, BR, ...)がないと全部LISPで
>表現できちゃいます。親和性すごく高い。
>この前メールしたのに
>lisp2html.lというのがあったと思いますが、
>
>(html ()
>  (body ((bgcolor "red") (link #aabbcc))
>       ああああ
>  )
>)
>
>てなのを
><HTML>
>  <BODY BGCOLOR="RED" LINK=#AABBCC>
>  あああ
>  </BODY>
></HTML>
>
>みたいに変換してくれます。実は逆のもhtml2lisp.l作りかけのが
>あります。


実際にDSSSLというSGML関連の標準仕様は、schemeベースで作成されています。
DSSSLのコードは、一見schemeのプログラムですが、SGMLインスタンスとしても、
validにできています。xmlではタグ記号とかが固定なので、そういうふうに見た目ま
で同じにはできませんが、おっしゃるとおり、同じ意味のことは書けると思います。

>なんでこんなんを作ったかというと、XMLエディタって基本的に
>構造エディタでないかと思うんです。
>それをテキストエディタでやるんが間違ってると思うんですが。>亀井さん
>どんなんでしょう。


私はまだMuleもLispもとうしろなので、何もいえませんが、*scratch*バッファではS
式の括弧の組み合わせを覚えていて、それを正しく処理できるわけですよね。
それを利用して、たとえば、<book><chapter><section><subsection><title>の文字
列だけを検索対象にするとか、<book><chapter><section>の内容の行頭にi++を付け
ていくとか、そんな感じのことができれば、すごく面白いと思います。
(book(chapter(section(subsection(title(*))))))

>構造エディタというのは、古いLISPを使ったことある人しか
>知らないと思いますが、要はロードされたS式を直接, setcarやsetcdrで
>書き換えちゃおうというものです。
>プログラムでなくってS式のデータが、がんがんロードされている状況
>では、あると便利です。
>
>S式で表現したXMLを、表示だけxyzzyのバッファーを借りて表示して
>編集して、最後にどどっとテキストに変換すれば、いいのではないかと?
>
>構造エディタというのは、ちと癖があるので、
>mwakahara さんに使ってもらえるかどうかが心配なのですが。

でも、大変おもしろそうですね。使ってみたいような。


>(構造エディタの作り方が載ってた、古いLISP本が、引越しで紛失して
>  いるので、記憶にたよって作らんと駄目だけど ^^;)


応援します。よろしくお願いします。


以上、よろしくお願いします。

mwakahara <wakahara@xxxxxxxxxxxxxxx>

Index Home