データ定数

集合データを扱う特別な定数を利用することができます。 この定数書式により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"
        }
    ]
}
->>;