ページの先頭行へ戻る
Symfoware Server V10.0.0/V10.0.1 XQueryリファレンス

2.2.1 組込み型一覧

Symfowareでサポートする組込み型の一覧を以下の表に示します。

表2.1 組込み型一覧
分類
型名
概要

文字列

string

XQueryで使用可能な任意の文字列を表します。

数値

double

倍精度の浮動小数点数を表します。

日付

date

年、月、日で日付を表します。

時間

time

時、分、秒で時間を表します。

日時

dateTime

年、月、日、時、分、秒で日時を表します。

ブール

boolean

論理値のtrue、またはfalseを表します。

型なし

untypedAtomic

XML-Schemaで型付けされていない値を表します。

2.2.1.1 string型

データ型xs:stringは、文字列を表します。xs:stringの字句形式は、文字列リテラルで表される文字列です。文字列リテラルの詳細については、“4.2.1 リテラル”を参照してください。

"Book"
"rain"
"日本"

2.2.1.2 double型

データ型xs:doubleは、IEEE倍精度64ビット浮動小数点タイプを表します。精度は2進数で52です。xs:doubleの値域は、浮動小数点数で表される数値に、特殊値(正の無限大、負の無限大、正のゼロ、負のゼロ、および非数値)を加えた範囲です。

xs:doubleの字句形式は、浮動小数点数の字句形式と特殊値の字句形式の両方を含みます。浮動小数点数の字句形式は、数値リテラルで表される文字列、正記号(+)、および負記号(-)で構成されます。数値リテラルで表される数値はすべて10進数でなければなりません。数値リテラルの後部に指定できる記号e(またはE)と数字は、指数を表します。

以下に浮動小数点数の字句形式の例を示します。

-1.23
23.456
+20
3.00
076
.998
-3E2
4.76e-2

特殊値の字句形式は、それぞれ以下のようになります。

特殊値

字句形式

正の無限大

INF

負の無限大

-INF

正のゼロ

+0

負のゼロ

-0

非数値

NaN

注意

特殊値INF、-INF、およびNaNのリテラルはありません。xs:double型のコンストラクタ関数を使用することで、対応する文字列から値INF、-INF、およびNaNを構成することができます。

xs:double("INF")

2.2.1.3 date型

データ型xs:dateは、整数値で指定した年、月、日によって指定される日付を表します。xs:dateの字句形式は、yyyy-mm-dd形式の有限長文字列です。

yyyy:

4桁の数字列で年を表します。ただし、0000は使用できません。

mm:

2桁の数字列で月を表します。有効範囲は01<=mm<=12です。

dd:

2桁の数字列で日を表します。有効範囲は01<=dd<=その月の末日(28~31)です。

xs:date型の値を表すリテラルはありません。xs:date型のコンストラクタ関数を使用することで、対応する文字列からxs:date型の値を構成することができます。

xs:date("2008-05-23")

2.2.1.4 time型

データ型xs:timeは、整数値で指定した時、分、秒によって指定される時間を表します。xs:timeの字句形式は、hh:mm:ss形式の有限長文字列です。

hh:

2桁の数字列で時を表します。有効範囲は00<=hh<=23。

mm:

2桁の数字列で分を表します。有効範囲は00<=mm<=59です。

ss:

2桁の数字列で秒を表します。有効範囲は00<=ss<=59です。

xs:time型の値を表すリテラルはありません。xs:time型のコンストラクタ関数を使用することで、対応する文字列からxs:time型の値を構成することができます。

xs:time("06:38:00")

2.2.1.5 dateTime型

データ型xs:dateTimeは、整数値で指定した年、月、日、時、分、秒によって指定される日時を表します。xs:dateTime の字句形式は、yyyy-mm-ddThh:mm:ss形式の有限長文字列です。

年月日形式
yyyy:

4桁の数字列で年を表します。ただし、0000は使用できません。

mm:

2桁の数字列で月を表します。有効範囲は01<=mm<=12です。

dd:

2桁の数字列で日を表します。有効範囲は01<=dd<=その月の末日(28~31)です。

時分秒形式
hh:

2桁の数字列で時を表します。有効範囲は00<=hh<=23。

mm:

2桁の数字列で分を表します。有効範囲は00<=mm<=59です。

ss:

2桁の数字列で秒を表します。有効範囲は00<=ss<=59です。

xs:dateTime型の値を表すリテラルはありません。xs:dateTime型のコンストラクタ関数を使用することで、対応する文字列からxs:dateTime型の値を構成することができます。

xs:dateTime("2008-05-23T06:38:00")

2.2.1.6 boolean型

データ型xs:booleanは、数学上の論理値(trueまたはfalse)を表します。xs:booleanの字句形式は、true、false、1および0の文字列です。文字列trueまたは1で表される論理値はtrueです。文字列falseまたは0で表される論理値はfalseです。

xs:boolean型の値を表すリテラルはありません。xs:boolean型のコンストラクタ関数を使用することで、対応する文字列から値true、またはfalseを構成することができます。

xs:boolean("true")

2.2.1.7 untypedAtomic型

データ型xs:untypedAtomicは、型付けされていない原子値を表します。例えば、XML文書(入力データ)中の属性ノードの属性値とテキストノードの文字列値は、それぞれxs:untypedAtomic型の原子値です。xs:untypedAtomicの字句形式は、XQueryで使用できる文字の範囲で構成された任意の文字列です。

xs:untypedAtomic型の値を表すリテラルはありません。xs:untypedAtomice型のコンストラクタ関数を使用することで、対応する文字列からuntypedAtomic型の値を構成することができます。

xs:untypedAtomic("3b29d")