[UMS 20060714 版リリース] Mitsuhiro TOYODA


最新版の仕様対応

名前空間対応

group, interleave, choice, optional, zeroOrMore, oneOrMore, empty について、 「dat」名前空間に対応しました。 以下のような記述が可能になりました。

  <txt:choice>
    <txt:value type="string">A</txt:value>
    <txt:value type="string">B</txt:value>
    <txt:value type="string">C</txt:value>
  </txt:choice>

encode 属性対応

bit 要素、byte 要素のみ指定できるようにしました (これまでは list 要素も指定可能でした)。

value 要素の type 属性対応(Bugzilla report 72)

type 属性を持たない value 要素には、値が token である type 属性を付け加え、 datatypeLibrary 属性の値を空文字に置き換えるようにしました。

  <!-- type 属性を持たない value 要素 -->
  <txt:value>A</txt:value>

  <!-- このように扱われる -->
  <txt:value type="token" datatypeLibrary="">A</txt:value>


不具合対応

ゼロパディングされた value 要素対応。(Bugzilla report 77)

value 要素の値として 「0255」と記述された数値を扱う際は、「0」を除去するように しました。


チェック機能追加

enocode 属性チェック

bit / byte 要素において、親子関係の中でただ1度だけ encode 属性が指定されているか チェックするようにしました。

  <!-- NG ケース(encode 属性が複数指定) -->
  <txt:byte encode="txt">
    <txt:byte encode="txt">
      :
    </txt:byte>
    <txt:byte>
      :
    </txt:byte>
  </txt:byte>
  <!-- NG ケース(encode 属性が指定されていない) -->
  <txt:byte>
    <txt:byte>
      :
    </txt:byte>
    <txt:byte>
      :
    </txt:byte>
  </txt:byte>

define / ref の再帰定義チェック

define 要素中に、自分自身の参照がされていないかチェックするようにしました。

  <!-- NG ケース(自分自身の参照)-->
  <define name="data-pattern">
      :
    <ref name="data-pattern"/>
      :
  </define>


以上