[Seasar-user:1137] Re: Seasar2.1 のS2ContainerのDTD

Koichi Kobayashi koichik
2004年 10月 23日 (土) 02:11:44 JST


小林 (koichik) です.

On Fri, 22 Oct 2004 19:27:33 +0900
Yasuo Higa <[E-MAIL ADDRESS DELETED]> wrote:

> >   公開ちょっと待って!パーサー食わせてみましたが、なんかおかしいです。
> > 
> 例のdescriptionまわりがちょっと変のようです。

これは大丈夫だと思いますが,

<!ELEMENT components (
    description?,
    include*, 
    (component | meta)*
)>

こっちはだめですね.

<!ELEMENT component (
    description?,
    (#PCDATA | arg | property | meta | initMethod | destroyMethod | aspect)*
)>

混合内容と呼ばれる,#PCDATAを含む内容モデルの記述は
きわめて制限されています.
許されるのは

(#PCDATA)

と

(#PCDATA | 要素...)

だけだったと思います.後ろに * などを付けるのは大丈夫ですが,
中で使えるのは | だけです.たぶん.
なので,component は

<!ELEMENT component (
  #PCDATA | description | arg | property | meta |
            initMethod | destroyMethod | aspect)*>

でしょうがないですね.

components については上のタイプ (かとちん案) がいいなぁ.
あるいは

<!ELEMENT components (
        description?,
        include*,
        meta*,
        component*
)>

か.
components に書いた meta は component に影響するので (ですよね?)
component の前に書きたいです.


-- 
<signature>
    <name>Koichi Kobayashi</name>
    <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>




Seasar-user メーリングリストの案内