bit 要素
ビットストリームを表すコンテナ
- スキーマのルート要素にすることが出来ます。このスキーマを単独で用いる場合、文書インスタンス全体に対応します。
属性
length 属性
長さをビット数で指定できます。省略した場合任意の長さが許されます。
encode 属性
データのエンコードを指定します。
- テキストエンコード txt, バイナリエンコード signed, unsigned, ieee754single,ieee754double などを指定できます。
- 省略された場合は、直近の祖先の enocde 属性が用いられます。それで決まらない場合は txt が指定されたものとして扱われます。
子ノード
- 子として、複数のコンテナ (byte要素, bit要素) もしくは一つのサブコンテナを持つことができます。
- interleave要素, optional要素, zeroOrMore要素 などを子に持つことも可能です。
- マッピング定義を行う場合は、value-of 要素を子孫に持ちます。
使用例
例 1: length 属性が指定された場合。
この例では、10 bit 分だけ処理が行われます。
<txt:bit length="10" encode="signed"> <data type="int"/> </txt:bit>
例 2: length 属性が指定され ていない場合。
この例では、type が int であるため、32 bit 分、処理が行われます。
<txt:bit encode="signed"> <data type="int"/> </txt:bit>
例 3: bit 要素の入れ子。
bit 要素が入れ子になっている場合、length 属性が指定されていなければ、 直近の祖先で指定された length 属性を元に、 処理を行う bit 数が決められます。 この例では、singned type のデータを 10 bit、unsigneInt type のデータを 6 bit 処理します。
<txt:bit length="16> <txt:bit length="10" encode="signed"> <data type="int"/> </txt:bit> <txt:bit encode="unsigned"> <data type="unsignedInt"/> </txt:bit> </txt:byte>