[trpg-xml:00026] Re: シナリオ DTD 感謝

Goto (trpg-xml ML) HTML Log homepage


Index: [Article Count Order] [Thread]

Date: Thu, 29 Jul 1999 00:20:16 +0900
From: 梶田晃一 <kajita@trpg.net>
Subject: [trpg-xml:00026] Re: シナリオ DTD   感謝
To: trpg-xml@trpg.net
Message-Id: <199907281518.AAA13275@pk.highway.ne.jp>
In-Reply-To: Your message of "Wed, 28 Jul 1999 18:03:29 +0900" 	<199907280903.JAA21006@caine.vox.tutkie.tut.ac.jp>
References: <199907280903.JAA21006@caine.vox.tutkie.tut.ac.jp>
X-Mail-Count: 00026


 小林さん、御意見とDTDの提案ありがとうございます。
 梶田です。

 まずは小林さんの質問と御意見に対して一つずつ答えていきたいと思います。

> >利用方法      :<scenario_infomation system ="ファンタジー" member = "2 4 6">
> 
>     うーんと、system と genre というのは分離する方が良いかもしれません。

 シナリオ情報の中の情報として
               ・対象システム(system)
               ・対象ジャンル(genre)

 という情報を持った方が良いと言う事ですね。
 個人的に上記の様に対象システムにジャンルを含めた理由として

               ・対象システムを持たないシナリオを示したい
               ・それほど深く考えていない(笑)

 等がありましたが、小林さんの御意見はもっともだと思います。
 ですので、上記の部位を

           ・対象システム(system)  必須ではなく、一つ以上存在する
           ・対象ジャンル(genre)   必須ではなく、一つ以上存在する

 としてみたいと思います。

> あと、system やmember を属性として書くのは... <genre>, <system>,
> <player> (<member>) というようなタグを用意するのが良いと思います。

 属性、要素の情報の分け方に関してですね。
 これまた個人的意見では

           ・同じ種類の情報が一つ以上存在する場合はタグを使用
           ・タグがたくさん並んだ表現は好きではない
           ・あまり深く考えていない

 という理由からタグを積極的に使用していませんでしたが、SGMLの説明を
 していただいてちゃんと考えなきゃ行けないと思いました。

 しかし、まだ漠然としか要素(タグ)と属性の区別が出来ていません。

> SGMLの場合なんですが、属性というはそのタグを解釈した上での表現
> であるとか、あるいは解釈した上でのアプリケーションの動作を制御するとか
> のためのものと、私は理解していますので。


 後者の「アプリケーションの動作を制御する為」というのはある程度わかりやすいと
 思うのですが、前者の「タグを解釈した上での表現」とはどの程度のモノなのかが
 感覚としても実際のレベルでも理解できていません。

 今後も自分で学習していきたいと思いますが、同様の点でのミスを犯して
 いましたら注意してやってください。


  ───────────────────────────────→


> >              	<playwright href ="#梶田晃一" role = "XML担当" ></playwright>
> 
>     playwright というのは、素直に author で良いのではないでしょうか?


 要素名、属性名は一つ前のメールで書きましたぐらいの理由で付けていますが
 確かに小林さんの言う[author]の方が良いと思います。直しておきます。


> あと、href あたりですが、 "#..."という項目は、どっかでそのように設定す
> れば、リンク先を示す変数のようなものとして使えたんでしたっけ?


 "#…"はリンクのリソース(リンク先)を示す際の指定方法の一つで、

 ・ID型の属性を持つ要素をリソースにする場合、'#'の後にID型属性値を記述する。
   (標準XML完全解説 ISBN4-7741-0584-8 P.223)

 という事からリンク先の要素を指定する場合に多用しています。
 (これまた間違った理解の仕方でしたらご指摘ください。)




> あと、この後のメールでですが、次のように書かれていますね。
(中略)
> 
> <author>
>   <item href="....."><role>XML担当</role><name>梶田晃一</name></item> 
>   <item href="....."><role>文章作成</role><name>シナリオ花子</name></item> 
>   <item href="....."><role>画像作成</role><name>グラフィック一郎</name></item> 
> </author>
> 
> とかするほうが、分かり易いんじゃないでしょうか? (後略)


 そうですね。うーん。
 小林さんが仰る通り、要素と属性の書き方の問題だと思います。

 上にも書いた通り、私が書いたときには

 「タグがたくさん並ぶのは好きではない」とか
 「あまり深く考えていない」とか

 でDTDを書いていますから、その辺りはまさに書き方の違いでしょうね。

 でも、普通のソースコードとかなら自由に書いても問題ないと思いますが
 DTDと成るとやはり多くの人が使用しやすく、理解しやすいものを提案できた方が
 有効だとは思います。もう、自分一人の意見とかでは決められないですね。

 (そう言う意味でもこの様なMLはとてもアリガタイです。)



> >                    	<date version ="18-Jul-1999"></date>
> 
>     これは難しいとこですね。version をタグ内に入れるか、
> タグで挟むか...私としては、やはりタグで挟むほうが良いと思うのですが。

 これも上の要素、属性の表示区別問題ですね。


> あと、"data" というのと、"version" というのは意味が違いますよね?
> ここでは、なぜ date の属性として version があるのでしょうか?

 これに関しても個人的な意見を示すと

      ・日付が更新されているのと改版がされているのは在る意味同期が
        取れているのではないのか。
        (日付だけ進んで、改版されていないのはおかしいって言う意味で)
      ・これまた深く考えていない

 って所です。

 最初は二つを別の情報として管理しようと思いましたが、進み方が
 それぞれ異なったりしていてはおかしいと思い、一方の情報だけでも
 良いのではと減らしました。

 でも、良く考えるとおかしな表記はDTDとかで注意するのではなく、
 DTDを利用するアプリケーションとかで注意すべき(エラーを返すべき)
 問題なのかもしれないですね。
 そう考えると、表現できる事は大いに越した事はないですからね。

 


> >      	<exhibit_place uri ="http://www.trpg.net/user/a-GoGo/"></exhibit_place>
> 
>     ここにもリンク機構を入れるわけですよね?  すると、 <playwright> の 
> href と、ここの uri と別の単語を使うわけですが、どちらかと言えば、そう
> いう用語は統一するほうが良いのではないでしょうか?

 確かにそのとおりだと思います。単語統一をする事は大変重要です。
 "href"という単語を使って、ID指定ばかりをしていた為か"uri"という単語を
 使用してしまったのかもしれません。 これは即効、hrefの方に統一します。


>     あと exhibit_place という用語ですが、なんか他に良い言葉は無いもの
> でしょうか... 私も思いつかないんですが... ^^;

 うーん。英語は苦手なもので。
 
 意味的には「公開場所、手に入る方法」を示したいのですが良い言葉が
 出ません。ここに入る情報の例としては
 
     ・URL
     ・ISBN
     ・販売されている時(イベント)や場所

 なんですが、どなたか良い案はないものでしょうか?



> >      	<outline><paragragh>シナリオの概要はこんな感じで書きます。
> ></paragragh></outline>
> 
>     <paragraph> は、単純に <p></p>で良いのではないでしょうか?
> HTMLでも皆さんそれで慣れてるでしょうし。


 名称つけ方
 ・単語に統一したかった
 
 結果この様な長い名前を付けています。
 (これまた確かに 'p' タグの方が理解されやすいですね。)


>     <outline>も、名称の問題ですが、<abstract> とかも魅力が有るように思
> います。

(ちょっと飛んで)

>     あと、hints とは別に、著者が何か良いたい事が有るということも
> 考えられると思うのですが、そういうのを書く箇所は必要無いでしょうか?


 名称のつけ方
 ・和英辞典を引いて見つける。

 このときは「概要」で調べてみたところ、私の辞書では"outline"だった
 までです。個人的には"abstract"とくるともっと論理的な纏めみたいな
 モノを意識してしまうので、ある程度気軽に書けるスペースを用意したいので
 "outline"が好みです。
 (でも、これも多くの人の賛同が得られる方であれば良いと思います。)

 あと、「著者が何か言いたい事が在る」場合も"outline"を使用してみたら
 どうでしょうか?

 (そうすると確かに、"outline" = ごった煮 的で構造的な文章では
   無くなるかもしれませんが)


> >      	<hints><paragragh>シナリオをやる時には電気を薄暗くしてみると・・・
> ></paragragh></hints>
> 
>     <hints>も、通常の文章のように書きますか?
> えーと、つまりですね、 hints という言葉からは何となく箇条書のような
> イメージを受けちゃうんですね、私だけだとは思いますが...

 そうですね。
 要素 "hints" に関しては実際、どのようなことを書くのか見えてこなかった為
 かなり中途半端な作りだと思います。(どれも中途半端ですが)

 逆に小林さんはどのようなヒントをここで示していくのでしょうか?
 出来れば教えていただきたいです。


>     えーと、それから全般的なことですが、XMLにも閉じタグ無し...という
> ような書き方がありませんでしたっけ? <?...?> だったか、 </.../> だったか
> のような気がするんですが。

 閉じタグ無しって言うのが「空要素 EMPTY」の事でしたら

 <要素名 属性 />

 と言うのが書き方です。
 ではなぜ、それを書かないかといいますと月刊ジャバワールド1999年6月号の記事で
「(前略)複数の表記が可能であるとすると、二つの文章が同じないかどうか
  比較したい場合などには、少し不便です。(中略)そこでジェームズ・クラーク氏が
  Canonical XML(規範的なXML)というものを定義しています。
  (http://www.jclark.com/xml/canonxml.html)
  (中略)
  具体的な内容は、例えば次のようになっています。
  ・<○○/>でなく<○○></○○>を使う。
  ・属性はUnicode順にソートする。
  ・UTF-8でエンコードする。
  ・&amp;、&lt;、&gt;、6quot;、&#9;、&#10;、&#13;を使用する。
  ・無視する事が可能な空白も無視しないでそのまま扱う。
   (後略) 」

と言うものが在りました。XML初心者でかつJava好きな私はこの記事でXMLをやろうと
心に決めた事も在り、出来るなら上の規範を守っていきたいと思ったわけです。

(最初の一つ以外はどうすれば良いのかわからないので、やっていません。(笑))

 ですので、空要素を簡単に表記しないのはとても個人的な事です。



>     それからですね、梶田さんは、何のためにXMLでシナリオを書こうとお考
> えでしょうか? もしかしたら、そこのところを詰めておかないと、あとで大変
> になりかねないなぁと思いますので...

 そうですね、何でも目的〈目標)がはっきりしていないと不味いですからね。
 XMLを使用しようとした流れを書いてみたいと思います。

 1. 私は、もともとシナリオを書くのに便利なアプリケーションを作成し様と思い
 シナリオはどの様に細かく分解できるのかを考えていました。

 2.最初はイベント毎に分解できるとおもい、アプリケーションの保存形式として
 htmlを利用すれば誰でも修正がたやすいし、公開もしやすいと考えて進めていました。

 3.しかし考えていくと、イベント毎よりもオブジェクト毎(キャラクター毎)に
 シナリオを分解した方がアプリケーションとして判りやすいと思い、また
 htmlでは保存したものを読み込む事が事実上不可能だと思ったわけです。

 4.そこで、上で示した記事に出会い、java(開発言語)でXMLという便利なものが
 使えると判った為にならば、XMLでシナリオの構造を表記してからアプリケーションを
 作ってみようと考え始めました。


 この様なことで、XMLに飛びついたわけです。

 そして今XMLで表記したいものが以下のようなものです。

 1.シナリオ
     1.1  セッション内ストーリー(時間的な流れ)
     1.2  セッション内登場キャラクター
     1.3  セッション内アイテム
     1.4  セッション内場所
     1.5  セッション内情報

     1.6  セッションをGMがどう仕切るかの流れ
     1.7  セッションに参加する人物
     1.8  セッションで使用するアイテム(フィギア、画像等)
     1.9  セッション外情報(セッション時間等)

 2.セッション結果

 3.シナリオ作成の為のデータベース
     3.1  キャラクター表
     3.2  行動表(前の行動が次の行動を示すようなもの)
     3.3  アイテム表
     3.4  場所表
     3.5  情報表

 そしてこれらを統合環境的なアプリケーションで纏めてみたいと思っています。





 それにしても小林さん、御意見ありがとうございました。
 今後もどんどん示していきたいと思いますのでよろしくお願いします。

 (というより、出来るなら統合的なDTDをここで作れたらと思っているのですが、
   どの様に話を進めていったら良いのでしょうか?   このまま提案ばかりで良いのかな?)



 それでは。ひとまず。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
梶田晃一(KZ → KAH)
  Email:kajita@trpg.net                              TRPG用
         kajita@pk.highway.ne.jp                      個人用
                   
    WWW:http://www.trpg.net/user/a-GoGo/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    

Goto (trpg-xml ML) HTML Log homepage