value-of 要素
変数を表すコンテナ
属性
制約
value-of 要素は、 Mapping definition の以下の位置のみに現れることができます。
- - lang:value-of - lang:data -
- - lang:value-of - lang:value -
- - dat:container - lang:value-of - ums:data -
- - dat:container - lang:value-of - ums:value -
ただし、ここで dat:container は dat:byte, dat:bit, rng:element, rng:attribute などを示しています。以下は obsolete です。
- - lang:value-of - dat:container - ums:data -
- - lang:value-of - dat:container - ums:value -
子ノード
子にサブコンテナが一つだけ必要です(上記の制約を参照)。
使用例
例 1: mapping の例 (proposal for v0.4)
以下は XML-XML syntax での mapping defition 中のパターンの例です。
<bin:byte length="1"> <lang:value-of select="var"> <data type="int"/> </lang:value-of> </bin:byte>
このパターンは双方向 - つまり encode と decode の 両方に使うことができます。 decode では、変数 var に値が読み込まれ encode では、変数 var に値が書き出されます。
これを XML-language syntax に書き直すと以下のようになります。 まず、decode の例。
<bin:byte length="1"> var = <data type="int"/>; </bin:byte>
また、対応する encode のパターンは以下になります。
<bin:byte length="1"> <data type="int"/> = var; </bin:byte>
XML-language syntax の方が若干コンパクトです。 また、プログラマには馴染みやすいかもしれません。 一方、mapping definition を XSL の処理する場合、 XML-XML syntax の方が取り扱いやすいです。
謝罪
整備状況が悪くすいません(-KM-)。