uCosminexus Interschema ユーザーズガイド

[目次][用語][索引][前へ][次へ]

6.5.1 異なる属性型同士での変換

基本的には,数値,文字列,バイト列,日付時刻の同じ分類の属性の型同士で変換できます。異なる分類の型に変換する場合の規則と注意事項を次に示します。

表6-11 異なる分類の属性の型同士での変換可否

入力 出力 変換規則
数値 文字列 ±n.m形式で変換(有効数字だけ。正符号は付けない)します。結果は1バイト文字コードとなります。
バイト列 整数部だけ2進整数化します。符号は常に正符号の扱いとなります。
日付時刻 CCYYMMDDhhmmss形式と見なして日付時刻化,ゾーン部はありません。ただし,変換先が出力フォーマットの日付型コンポーネントの場合は,CCYYMMDD,時刻型コンポーネントの場合は,hhmmssと見なして変換します。
桁が不足する場合は,該当する桁を0と見なします。
桁あふれ部分は無視します。
文字列 数値 ±n.m形式又は0xで始まる(16進表記)場合に数値化します。スペースは0の扱いとなります。
整数部の桁セパレータは使用できます(ただし16進表記以外の場合,3桁ごとのコンマだけを認識します)。
16進表記の場合,英大文字/英小文字の使用は任意で,文字列のバイト数は奇数でもかまいません。
数値として認識できない場合はエラーとなります。
バイト列 文字列をそのままバイト列化します。
日付時刻 CCTT-MM-DDThh:mm:ss,CCYYMMDDThhmmss,CCYYMMDDzzの場合に,日付時刻化します(zz:ゾーン部,ss:小数部可,ss以降の文字列はゾーン部と見なします)。
その他で,CCYY-MM-DD,CCYYMMDDならば日付型,hh:mm:ssならば時刻型に変換します。認識できない場合は,エラーとなります。
バイト列 数値 データエンディアンに従って2進整数化します。最大60桁です。桁あふれのときはエラーとなります。
文字列 出力側要素の文字コードとして認識できる場合に文字列化します。認識できない場合はエラーとなります。
日付時刻 数値型に変換した上で,日付時刻型に変換します。
日付時刻 数値

日付型の場合:
CCYYMMDD形式の10進数化(整数8桁)に変換します。

時刻型の場合:
hhmmss形式の10進数化(整数6桁)に変換します。

日付時刻型の場合:
CCYYMMDDhhmmss形式の10進数化に変換します(整数14桁,SS値に応じて小数部があり,ゾーン部は無視します)。
文字列

日付型の場合:
CCYY-MM-DD形式に変換します。

時刻型の場合:
hh:mm:ss形式に変換します。

日付時刻型の場合:
CCYY-MM-DDThh:mm:ss形式に変換します。
バイト列 数値に変換した上で,バイト列型に変換します。
日付時刻 2項演算,比較演算子に対する処理の場合だけ,日付時刻形式での数値型に変換します。

注※
式中に16進定数で記述されたものはビッグエンディアンの扱いになります。その他は,データが属するフォーマットのエンディアンになります。

 

次に,変換時に発生するエラーについて説明します。