myGroup > myProject
 

value-of 要素

変数を表すコンテナ

属性

select 属性

変数アクセスの方法 (C 言語で言うところの左辺値) を指定します。必須です。

制約

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)

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-)。