データ定数¶
集合データを扱う特別な定数を利用することができます。 この定数書式によりCRSスクリプト内にCSV、XML、JSONデータを直接記述することができます。
通常、データ定数は << 演算子によりオブジェクトを初期化する際に利用します。
データ定数は、以下の書式で定義されます。
プレフィックス [ ‘(‘ 引数リスト ‘)’ ] 開始コード データ本体 終了コード
先のCSV定数の場合、プレフィックスは"CSV"、引数リストは省略、開始コードは"{"、終了コードは"}"で、データ本体は1,2,3と4,5,6です。
プレフィックスや開始コード、終了コードは定数の型により決められています。
XML定数やJSON定数の場合、プレフィックスは"XML(JSON)"、開始コードは<<-"、終了コードは"->>"となります。
データ定数ブロック内部(開始コードから終了コードの間)では、CRS文法は無効となります。 CRSの文法、定数、演算子(+や-など)、関数などは使用できず、各データ形式の書式に従う必要があります。
CSV定数の例
CsvDocument csvdoc << csv {
1,2,3
"4","5,6","複数行\n""データ"""
};
CSV定数では行頭から先頭データまでのタブ文字は無視されます。
またデータ中に改行コードなどのコントロールコードを含ませる場合、"(ダブルクォート)でデータを括ることでダブルクォート間を一つのデータとして見なします。
ダブルクォート中に"文字をデータとして扱う場合は""と記述します。
XML定数の例
XmlDocument xmldoc << xml <<-
<?xml version="1.0"?>
<sample>
<node/>
</sample>
->>;
XML定数では<?xml>で記述されたencodingの指定は無視され、CRSの記述されているエンコーディングとして解析されます。
JSON定数の例
JsonDocument jsonDoc << json <<-
{
"data": [
{
"title": "レコード1",
"item1": "アイテム1",
"item2": "アイテム1",
"item3": "アイテム1"
}
]
}
->>;