さくです.

In article <19981028112128Q.iga / ueda.info.waseda.ac.jp>,
	Hiroshi Igarashi <igarashi / ueda.info.waseda.ac.jp> writes:

>     <class name="Gtk::Window" super="Gtk::Bin">
>       <module-methods>
>         <method name="new" args="(type)">
略.

私も個人的にある種のDTDを設計する上で悩んでいるところなのですが,
name=Gtk::Window とか super=Gtk::Bin のようなものは,属性として記述す
べきものなのでしょうか?それとも,個別に要素を立てて記述すべきものなの
でしょうか?

一説によると,字面として現れるものは要素にすべし,という考えもあるよう
です.

後者のほうが,要素が充実していいかなあ,とは思うのですが,記述が長くなっ
てしまいますよねぇ.たとえばこうなりますか.

<!--snip-->
<!ELEMENT class (name,super?,module-methods?,...)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT module-methods (methods+)>
<!ELEMENT method (name,args*, desc)>
<!ELEMENT args (#PCDATA,desc)>
<!ELEMENT desc (p+)>
<!--snip-->

<class>
  <name>Gtk::Window</name>
  <super>Gtk::Bin</super>
  <module-methods>
    <method>
      <name>new</name>
      <args>(type)
        <desc>Type of a window to be created.</desc>
      </args>
      <desc>
        <p>Create a new Gtk::Window object.</p>
        <p>The <var>type</var> can be one of Gtk::Window::TOPLEVEL,
        Gtk::Window::DIALOG or, Gtk::Window::POPUP.</p>
        <p>The <var>type</var> value determines how this widget
        will interact with the window manager.</p>
      </desc>
    </method>
  </module-methods>
<!--snip-->
</class>
<!--snip-->
-- 
OZAWA Sauro, A.I.Soft Inc.
<mailto:ozawa / aisoft.co.jp>