[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>
bit 要素、byte 要素のみ指定できるようにしました (これまでは list 要素も指定可能でした)。
type 属性を持たない value 要素には、値が token である type 属性を付け加え、 datatypeLibrary 属性の値を空文字に置き換えるようにしました。
<!-- type 属性を持たない value 要素 --> <txt:value>A</txt:value> <!-- このように扱われる --> <txt:value type="token" datatypeLibrary="">A</txt:value>
value 要素の値として 「0255」と記述された数値を扱う際は、「0」を除去するように しました。
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 要素中に、自分自身の参照がされていないかチェックするようにしました。
<!-- NG ケース(自分自身の参照)--> <define name="data-pattern"> : <ref name="data-pattern"/> : </define>
以上