Top / Relaxer / 文法覚え書き

文法覚え書き

繰り返しの書き方

基本的に要素の個数の定義は、その定義を

<optional>
<zeroOrMore>
<oneOrMore>

などでくくってあげることで表現する。たとえば

<element name="menubar">
  <zeroOrMore>     <- ココ
    <ref name="menu"/>
  </zeroOrMore>    <- ココ
</element>

などのように。

0 or 1 (optional)

あってもなくてもよい要素(0 or 1) (DTDの?)は

<optional>

でくくればよい。

0...n (zeroOrMore?)

0...n の要素 (DTDの*)は

<zeroOrMore>

でくくればよい。

1...n (oneOrMore?)

1...n の要素 (DTDの+)は

<oneOrMore>

でくくればよい。

属性の定義

属性は

<element name="item">
  <attribute name="className">
    <data type="token"/>
  </attribute>
  <data type="token"/>
</element>

と書く。*1

あってもなくてもよい属性

要素と同様、

 <element name="item">
   <optional>
     <attribute name="className">
       <data type="token"/>
     </attribute>
   </optional>
   <data type="token"/>
 </element>

optionalでくくるだけ。簡単。

要素の選択

たとえばmenuタグでもitemタグでもどちらでもよいとき、つまり

<!ELEMENT menu (title, (item | menu)*)>

<define name="menu">
  <element name="menu">
    <element name="title">
      <data type="token"/>
    </element>
    <zeroOrMore>
      <choice> <-選択
      <ref name="menu"/> <- menu か
      <element name="item"> <- item のどちらか
        <data type="token"/>
      </element>
      </choice>
    </zeroOrMore>
  </element>
</define>

とかく。

参考にしたサイト

http://www.atmarkit.co.jp/fxml/rensai2/xmltool04/02.html


この記事は

選択肢 投票
おもしろかった 1  
そうでもない 0  

Top / Relaxer / 文法覚え書き

現在のアクセス:4189


*1 要素の定義と同じだ。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-08-08 (水) 13:57:15 (131d)