拡張形式

最終公開日 : Aug 10, 2026
Related information

はじめに

JSON 拡張形式は、マスターデータ、技術情報、およびメタデータを取得するために使用されます。検証、並べ替えなどのいくつかの機能を含めることができるように拡張された方法で設計されています。拡張形式をアクティブにするには、 data や form-data などのサフィックスのない REST カテゴリを URL で使用する必要があります。

グローバル構造

JSON リクエスト本文

リクエストの本文は JSON オブジェクトで表され、その内容は操作とカテゴリによって異なります。

データカテゴリ

リクエストの本文には、マスターデータ値を保持する content プロパティが少なくとも含まれています。
  • データセットノード
    指定したノードの下のターミナルノードのターゲット値を指定します。このリクエストは、データセットノードの Update 操作に使用されます。

    {
      "content": {
        "nodeName1": {
          "content": true
        },
        "nodeName2": {
          "content": 2
        },
        "nodeName3": {
          "content": "Hello"
        }
      }
    }
    以下も参照してください。:
  • レコード
    各フィールドの値を設定して、ターゲットレコードの内容を指定します。欠落しているフィールドの場合、動作はリクエストパラメーター byDelta によって異なります。この構造体は、ローカル列挙型の依存関係フィールド値が宣言されている場合に、テーブルレコードの挿入、レコードの更新、またはセレクターの Select 操作に使用されます。
    以下も参照してください。:
    lastUpdateDate など、一部の技術データは content プロパティの横に追加できます。
    以下も参照してください。:

    {
      ...
      "lastUpdateDate": "2015-12-25T00:00:00.001",
      ...
      "content": {
        "gender": {
          "content": "Mr."
        },
        "lastName": {
          "content": "Chopin"
        },
        "lastName-en": {
          "content": "Chopin",
          "inheritedFieldMode": "inherit"
        },
        "firstName": {
          "content": "Fryderyk"
        },
        "firstName-en": {
          "content": "Frédéric",
          "inheritedFieldMode": "overwrite"
        },
        "birthDate": {
          "content": "1810-03-01"
        },
        "deathDate": {
          "content": "1849-10-17"
        },
        "jobs": {
          "content": [
            {
              "content": "CM"
            },
            {
              "content": "PI"
            }
          ]
        },
        "infos": {
          "content": [
            {
              "content": "https://en.wikipedia.org/wiki/Chopin"
            }
          ]
        }
      }
    }
    以下も参照してください。:
  • レコードフィールド
    各フィールドの値を設定して、レコードターミナルノードの下のフィールドのターゲット値を指定します。欠落しているフィールドの場合、動作はリクエストパラメーター byDelta によって異なります。この構造は、テーブルレコードの更新にのみ使用されます。
    以下も参照してください。:

    {
      "content": [
        {
          "content": "CM"
        },
        {
          "content": "PI"
        }
      ]
    }
    以下も参照してください。:
  • レコードテーブル
    各フィールドの値を示すことにより、1 つ以上のレコードの内容を定義します。欠落しているフィールドの場合、動作はリクエストの byDelta パラメーターによって異なります。この構造は、テーブルのレコードを挿入または更新するときに使用されます。

    {
      "rows": [
        {
          "content": {
            "gender": {
              "content": "M"
            },
            "lastName": {
              "content": "Saint-Saëns"
            },
            "firstName": {
              "content": "Camille"
            },
            "birthDate": {
              "content": "1835-10-09"
            },
            ...
          }
        },
        {
          "content": {
            "gender": {
              "content": "M"
            },
            "lastName": {
              "content": "Debussy"
            },
            "firstName": {
              "content": "Claude"
            },
            "birthDate": {
              "content": "1862-10-22"
            },
            ...
          }
        }
      ]
    }
    以下も参照してください。:
  • 削除するレコードテーブル
    1 つ以上のレコードを定義します。この構造は、同じテーブルから複数のレコードを削除するときに使用されます。

    {
      "rows": [
        {
          "details": "http://.../root/table/1"
        },
        {
          "details": "http://.../root/table/2"
        },
        {
          "primaryKey": "./oid=3"
        },
        {
          "foreignKey": "4"
        },
        ...
      ]
    }
    以下も参照してください。:
  • フィールド
    ターゲットフィールドの内容を指定します。このリクエストは、フィールドの更新に使用されます。
    リクエストは、content エントリのみを保持することにより、 node value で定義されたものと同じ構造になります。追加のエントリは単に無視されます。
    以下も参照してください。:
  • ユーザーインターフェイスを開くまたは閉じる
    ユーザーインターフェイスが開いているか閉じているか、および使用不可メッセージを指定します。

    {
      "content": {
        "toolStatus": {
          "content": true    // or false
        },
        "toolStatusCloseMessage": {
          "content": "Access is temporarily forbidden for maintenance."
        }
      }
    }
    以下も参照してください。:
    リクエストで言及できるのは書き込み可能なフィールドのみです。これには、次の場合は含まれません。
  • 関連付けノード
  • 選択ノード
  • 値関数
  • セッターを持たない JavaBean フィールド
  • 認証されたユーザーのノードに対する書き込み不可権限

JSON 応答本文

応答の本文は JSON オブジェクトで表され、その内容は操作とカテゴリによって異なります。

データカテゴリ

Select 操作には、2 つの異なる部分が含まれます。
meta という名前の最初のものには、応答の完全な構造が含まれています。
2 番目の content、 rows、 pagination... などの再グループ化には、リクエストに対応する値が含まれています。
  • データセットツリー
    テーブルノードと非ターミナルグループノードの階層が含まれます。

    {
      "meta": {
        "fields": [
          {
            "name": "rootName",
            "label": "Localized label",
            "description": "Localized description",
            "type": "group",
            "pathInDataset": "/rootName",
            "fields": [
              {
                "name": "settings",
                "label": "Settings",
                "type": "group",
                "pathInDataset": "/rootName/settings",
                "fields": [
                  {
                    "name": "settingA",
                    "label": "A settings label",
                    "type": "group",
                    "pathInDataset": "/rootName/settings/settingA"
                  },
                  {
                    "name": "settingB",
                    "label": "B settings label",
                    "type": "group",
                    "pathInDataset": "/rootName/settings/settingB"
                  }
                ]
              },
              {
                "name": "table1",
                "label": "Table1 localized label",
                "type": "table",
                "minOccurs": 0,
                "maxOccurs": "unbounded",
                "pathInDataset": "/rootName/table1"
              },
              {
                "name": "table2",
                "label": "Table2 localized label",
                "type": "table",
                "minOccurs": 0,
                "maxOccurs": "unbounded",
                "pathInDataset": "/rootName/table2"
              }
            ]
          }
        ]
      },
      "validation": [
        {
          "level": "error",
          "message": "Value must be greater than or equal to 0.",
          "details": "http://.../rootName/settings/settingA/settingA1?includeValidation=true"
        },
        {
          "level": "error",
          "message": "Field 'Settings A2' is mandatory.",
          "details": "http://.../rootName/settings/settingA/settingA2?includeValidation=true"
        }
      ],
      "content": {
        "rootName": {
          "details": "http://.../rootName",
          "openApiDetails": "http://.../api/.../rootName",
          "content": {
            "settings": {
              "details": "http://.../rootName/settings",
              "openApiDetails": "http://.../api/.../rootName/settings",
              "content": {
                "weekTimeSheet": {
                  "details": "http://.../rootName/settings/settingA",
                  "openApiDetails": "http://.../api/.../rootName/settings/settingA"
                },
                "vacationRequest": {
                  "details": "http://.../rootName/settings/settingB",
                  "openApiDetails": "http://.../api/.../rootName/settings/settingB"
                }
              }
            },
            "table1": {
              "details": "http://.../rootName/table1",
              "openApiDetails": "http://.../api/.../rootName/table1"
            },
            "table2": {
              "details": "http://.../rootName/table2",
              "openApiDetails": "http://.../api/.../rootName/table2"
            }
          }
        }
      }
    }
    meta および validation プロパティはオプションです。
    以下も参照してください。:
  • データセットノード
    指定されたノードの下のターミナルノードのリストが含まれます。

    {
      "meta": {
        "fields": [
          {
            "name": "nodeName1",
            "label": "Localized label of the field node 1",
            "description": "Localized description",
            "type": "boolean",
            "minOccurs": 1,
            "maxOccurs": 1,
            "pathInDataset": "/rootName/.../nodeName1"
          },
          {
            "name": "nodeName2",
            "label": "Localized label of the field node 2",
            "type": "int",
            "minOccurs": 1,
            "maxOccurs": 1,
            "pathInDataset": "/rootName/.../nodeName2"
          }
        ]
      },
      "content": {
        "nodeName1": {
          "content": true
        },
        "nodeName2": {
          "content": -5,
          "validation": [
            {
              "level": "error",
              "message": "Value must be greater than or equal to 0."
            }
          ]
        }
      }
    }
    以下も参照してください。:
  • テーブル
    次のプロパティを含む JSON オブジェクト
    • (オプション) テーブルメタモデル
    • (オプション) 適用される並べ替え基準
    • (オプション) テーブル検証レポート
    • 選択したレコードの JSON 配列に対応する rows プロパティ。各レコードは、JSON オブジェクトで表されます。レコードが選択されていない場合、JSON 配列は空です。
    • (オプション) pagination データを含む pagination プロパティ。

      {
        "rows": [
          {
            "label": "Claude Levi-Strauss",
            "details": "http://.../root/individu/1",
            "content": {
              "id": {
                "content": 1
              },
              ...
            }
          },
          {
            "label": "Sigmoud Freud",
            "details": "http://.../root/individu/5",
            "content": {
              "id": {
                "content": 2
              },
              ...
            }
          },
          ...
          {
            "label": "Alfred Dreyfus",
            "details": "http://.../root/individu/10",
            "content": {
              "id": {
                "content": 30
              },
              ...
            }
          }
        ],
        "sortCriteria": [
          {
            "path": "/name",
            "order": "lasc"
          },
          ...
        ],
        "pagination": {
          "firstPage": null,
          "previousPage": null,
          "nextPage": "http://.../root/individu?pageRecordFilter=./id=9&pageSize=9&pageAction=next",
          "lastPage": "http://.../root/individu?pageSize=9&pageAction=last"
        }
      }
    以下も参照してください。:
  • レコード
    以下を含む JSON オブジェクト
    • ラベル
    • (オプション) レコード URL
    • (オプション) 技術データ
    • (オプション) テーブルメタモデル
    • (オプション) レコード検証レポート
    • (オプション) レコードの継承モード。 root、 inherit、 overwrite、または occult のいずれかになります。
      以下も参照してください。:
    • レコードの内容

      {
        "label": "Name1",
        "details": "http://.../rootName/table1/pk1",
        "creationDate": "2015-02-02T19:00:53.142",
        "creationUser": "admin",
        "lastUpdateDate": "2015-09-01T17:22:24.684",
        "lastUpdateUser": "admin",
        "inheritanceMode": "root",
        "meta": {
          "name": "table1",
          "label": "Table1 localized label",
          "type": "table",
          "minOccurs": 0,
          "maxOccurs": "unbounded",
          "primaryKeys": [
            "/pk"
          ],
          "inheritance": "true",
          "fields": [
            {
              "name": "pk",
              "label": "Identifier",
              "type": "string",
              "minOccurs": 1,
              "maxOccurs": 1,
              "pathInRecord": "pk",
              "filterable": true,
              "sortable": true
            },
            {
              "name": "name",
              "label": "Name",
              "type": "string",
              "minOccurs": 1,
              "maxOccurs": 1,
              "pathInRecord": "name",
              "filterable": true,
              "sortable": true
            },
            {
              "name": "name-fr",
              "label": "Nom",
              "type": "string",
              "minOccurs": 1,
              "maxOccurs": 1,
              "inheritedField": {
                "sourceNode": "./name"
              },
              "pathInRecord": "name-fr",
              "filterable": true,
              "sortable": true
            },
            {
              "name": "parent",
              "label": "Parent",
              "description": "Localized description.",
              "type": "foreignKey",
              "minOccurs": 1,
              "maxOccurs": 1,
              "foreignKey": {
                "tablePath": "/rootName/table1",
                "details": "http://.../rootName/table1"
              },
              "enumeration": "foreignKey",
              "pathInRecord": "parent",
              "filterable": true,
              "sortable": true
            }
          ]
        },
        "content": {
          "pk": {
            "content": "pk1"
          },
          "name": {
            "content": "Name1"
          },
          "name-fr": {
            "content": "Name1",
            "inheritedFieldMode": "inherit"
          },
          "parent": {
            "content": null,
            "selector":"http://.../rootName/table1?selector=true",
            "validation": [
              {
                "level": "error",
                "message": "Field 'Parent' is mandatory."
              }
            ]
          }
        },
        "validation": {
          ...
        }
      }
    以下も参照してください。:
  • フィールド
    関連付けノードまたは選択ノードの場合、 includeDetails パラメーターが true に設定されている場合に限り、関連付けられたレコードを含むターゲットテーブルが含まれます。
    他の種類のノードの場合、現在のノード値が含まれます。
    以下も参照してください。:
  • ユーザーインターフェイスの状態の取得
    ユーザーインターフェイスのステータスと使用不可メッセージが含まれます。

    {
      "content": {
        "toolStatus": {
          "content": true,
          "label": "Open",
          "selector": "http://.../domain/toolStatus/toolStatus?selector=true"
        },
        "toolStatusCloseMessage": {
          "content": "Access is temporarily forbidden for maintenance."
        }
      }
    }
    以下も参照してください。:
注意:
ノード、レコードとフィールド、プロパティと値は、解決された権限 (権限を参照) に応じて非表示になる場合があります。

メタモデル

このセクションは、includeMetamodel パラメータを使用してオンデマンドでアクティブ化できます。 content セクションの構造と JSON タイプについて説明します。
このセクションは、Select 操作ではデフォルトで無効になっています。
以下も参照してください。:

テーブルの構造

テーブルメタモデルは、次のプロパティを持つ JSON オブジェクトで表されます。
JSON プロパティ
JSON 形式
説明
必須
name
String
モデルで定義されている許可されたテーブルの名前を指定します。
はい
label
String
テーブルのラベルを指定します。未定義の場合、スキーマノードの名前が返されます。
はい
description
String
テーブルの説明を指定します。
いいえ
type
String
ノードのタイプを指定します。値は常に table と等しくなります。
はい
minOccurs
Number
許可された最小レコード数を指定します。
はい
maxOccurs
Number または String
許可された最大レコード数または unbounded を指定します。
はい
history
Boolean
テーブルの内容を履歴化するかどうかを指定します。履歴がアクティブ化されている場合、その値は true であり、それ以外の場合は false です。
以下も参照してください。:
いいえ
primaryKeyFields
Array
パスの配列として表される主キーの構成を指定します。
はい
inheritance
Boolean
テーブルのデータセット継承をアクティブにするかどうかを指定します。継承がアクティブになっている場合、その値は true であり、それ以外の場合は false です。
以下も参照してください。:
いいえ
fields
Array
フィールドの配列として表されるレコードノードの直接の子を指定します。各フィールドには、サブフィールドが再帰的に含まれる場合もあります。
はい

フィールドの構造

許可された各フィールドは、次のプロパティを持つ JSON オブジェクトで表されます。
JSON プロパティ
JSON 形式
説明
必須
name
String
モデルで定義されている許可フィールドの名前を指定します。
はい
label
String
ノードのラベルを指定します。未定義の場合、スキーマノードの名前が返されます。
はい
description
String
フィールドの説明を指定します。
いいえ
type
String
フィールドのタイプを指定します。これには、単純型、group、table、foreignKey、association などがあります。
はい
minOccurs
Number
許可された最小オカレンスの数を指定します。
はい
maxOccurs
Number または String
許可された最大オカレンスまたは unbounded の数を指定します。
はい
readOnly
Boolean
フィールドアクセス許可がデータモデルアクセスプロパティから読み取り専用として定義されているかどうかを指定します。つまり、そのデータを読み書きできるかどうかです。フィールドが読み取り専用の場合、その値は true であり、それ以外の場合は false です。
以下も参照してください。:
はい
autoIncrement
Boolean
フィールドを自動インクリメントするかどうかを指定します。このプロパティは、整数フィールドタイプでのみ使用できます。フィールドが自動インクリメントされる場合、その値は true であり、それ以外の場合は false です。
以下も参照してください。:
いいえ
checkNullInput
Boolean
ユーザー入力時に、null フィールドの制約のチェックをアクティブにするかどうかを指定します。その値は、アクティブ化されている場合は true、それ以外の場合は false です。
フィールドのプロパティ osd:checkNullInput が true に設定されている場合、制約チェックがアクティブになります。
はい
inheritedField
Object
継承されたフィールドの値ソースに関連する情報を保持します。
{
  "inheritedField": {
    "sourceRecord": "/path/to/record", // (optional)
    "sourceNode": "./path/to/Node"
  }
}
以下も参照してください。:
いいえ
foreignKey
Object
ターゲットテーブルに関連する情報を保持します。
以下も参照してください。:
いいえ (*)
association
Object
関連付けテーブルに関連する情報を保持します。
以下も参照してください。:
いいえ (*)
enumeration
String
フィールドが列挙値であるかどうかを指定します。可能な値は次のとおりです。
  • dynamic
  • foreignKey
  • nomenclature
  • programmatic
  • resource
  • static
以下も参照してください。:
その値に従って、selector 要求パラメーターを使用して可能な値を取得するためにフィールドを使用できるかどうかを示します。
いいえ
enumerationDependencies
JSON オブジェクトの Array
メタデータ列挙の依存関係リストを指定します。externalKey、dynamic、またはprogrammatic の列挙型でのみ使用できます。
以下も参照してください。:
いいえ
valueFunction
Boolean
フィールドが計算値であるかどうかを指定します。
以下も参照してください。:
いいえ
linkedField
Object
リンクされたフィールドに関連する情報を保持します。
いいえ
pathInDataset
String
スキーマノードから始まる相対フィールドのパスを指定します。
いいえ (**)
pathInRecord
String
テーブルノードから始まる相対フィールドのパスを指定します。
いいえ (*)
filterable
Boolean
filter リクエストパラメーターを使用してレコードをフィルタリングするためにフィールドを使用できるかどうかを指定します。
いいえ (*)
hiddenFilterPolicy
String
非表示のフィルターポリシーを指定します。
可能な値は、textSearchOnly、true、または false です。
いいえ (*)
sortable
Boolean
sort リクエストパラメーターを使用して、フィールドをソート条件で使用できるかどうかを指定します。
いいえ (*)
constraints
JSON オブジェクトの Array
フィールドの非プログラム制約を指定します。
以下も参照してください。:
いいえ
fields
JSON オブジェクトの Array
各フィールドグループの構造と入力を保持します。
いいえ
(*) テーブル、レコード、およびレコードフィールドの操作でのみ使用できます。
(**) データセットツリー操作でのみ使用できます。

外部キーフィールドの構造

外部キーフィールドのメタモデルは、JSON オブジェクトで表されます。

{
  "dataspace": "BAuthors",
  "dataset": "Authors",
  "tablePath": "/root/Authors",
  "details": "http://.../BAuthors/Authors/root/Authors"
}
次のプロパティを保持します。
JSON プロパティ
JSON 形式
説明
必須
dataspace
String
ターゲットデータスペースまたはスナップショット識別子を指定します。指定しない場合は、テーブルのデータスペースと同じデータスペースに対応します。
いいえ
データセット
String
ターゲットデータセットの識別子を指定します。指定しない場合は、テーブルのデータセットと同じデータセットに対応します。
いいえ
tablePath
String
ターゲットテーブルのパスを指定します。
はい
details
String
ターゲットテーブルの REST リソース URL を指定します。
以下も参照してください。:
いいえ
historyDetails
String
履歴ターゲットテーブルの REST リソース URL を指定します。
以下も参照してください。:
いいえ

関連付けフィールドの構造

関連フィールドのメタモデルは、JSON オブジェクトで表されます。このオブジェクトは、関連タイプに依存するプロパティを保持します。
  • tableRefInverse

    {
      "type": "tableRefInverse",
      "dataspace": "BTitles",
      "dataset": "Titles",
      "tablePath": "/root/Titles",
      "details": "http://.../BTitles/Titles/root/Titles",
      "fieldToSource": "/root/Titles/au_id",
      "filter": "./unit_price > 10"
    }
  • linkTable

    {
      "type": "linkTable",
      "tablePath": "/root/Inventory",
      "details": "http://.../BInventory/Inventory/root/Inventory",
      "linkTablePath": "/root/Inventory",
      "fieldToSource": "/root/Inventory/store",
      "fieldToTarget": "/root/Inventory/item",
      "filter": "./price > 10"
    }
  • xpathLink

    {
      "type": "xpathLink",
      "tablePath": "/root/Inventory",
      "details": "http://.../BAuthors/Authors/root/Inventory",
      "predicate": "/root/Inventory[./price < 100]",
      "filter": "./price > 10"
    }
次のプロパティを保持します。
JSON プロパティ
JSON 形式
説明
必須
type
String
関連付けタイプを指定します。可能な値は、tableRefInverse、linkTable、xpathLink です。
以下も参照してください。:
はい
データスペース
String
ターゲットデータスペースまたはスナップショット識別子を指定します。指定しない場合は、テーブルのデータスペースと同じデータスペースに対応します。
いいえ
データセット
String
ターゲットデータセットの識別子を指定します。指定しない場合は、テーブルのデータセットと同じデータセットに対応します。
いいえ
tablePath
String
ターゲットテーブルのパスを指定します。
はい
details
文字列
ターゲットテーブルの REST リソース URL を指定します。
以下も参照してください。:
いいえ
fieldToSource
String
関連付けのソーステーブルを参照するフィールドを指定します。
関連付けタイプが tableRefInverse または linkTable の場合に定義されます。
いいえ
fieldToTarget
String
ターゲットテーブルへのフィールドのパスを指定します。
関連付けタイプが linkTable の場合に定義されます。
いいえ
linkTablePath
String
リンクテーブルのパスを指定します。
関連付けタイプが linkTable の場合に定義されます。
いいえ
predicate
文字列
現在のノードを基準にして、関連付けの基準を指定します。
関連付けタイプが xpathLink の場合に定義されます。
いいえ
filter
String
関連するオブジェクトをフィルタリングするための XPath 述語式を指定します。
いいえ

リンクされたフィールドの構造

リンクされたフィールドのメタモデルは、JSON オブジェクトで表されます。

{
  "relationshipField": "/au_id",
  "tablePath": "/root/Authors",
  "linkedFieldPath": "/birth_date",
  "details": "http://.../BAuthors/Authors/root/Authors"
}
次のプロパティを保持します。
JSON プロパティ
JSON 形式
説明
必須
relationshipField
String
このリンクされたフィールドによって使用される関係を保持するフィールドのパスを指定します。
以下も参照してください。:
はい
tablePath
String
このリンクされたフィールドによって参照されるテーブルのパスを指定します。
はい
linkedFieldPath
String
このリンクされたフィールドによって参照されるパスを指定します。
以下も参照してください。:
はい
details
URI
ターゲットテーブルの REST リソース URL を指定します。
以下も参照してください。:
いいえ
以下も参照してください。:

列挙依存関係の構造

メタモデル列挙依存オブジェクトは、JSON オブジェクトで表されます。

{
  "localModify": false,
  "dataspace": "BAuthors",
  "dataset": "Authors",
  "targetPath": "/root/Authors",
  "details": "http://.../BAuthors/Authors/root/Authors"
}
次のプロパティを保持します。
JSON プロパティ
JSON 形式
説明
必須
localModify
Boolean
列挙依存フィールドが、同じレコード内のフィールドに対して実行された変更によって影響を受けるかどうかを指定します。
はい
データスペース
文字列
列挙型依存関係のターゲットデータスペースまたはスナップショット識別子を指定します。指定しない場合は、レコードのデータスペースと同じデータスペースに対応します。
いいえ
データセット
String
列挙型依存関係のターゲットデータセットの識別子を指定します。指定しない場合は、レコードのデータセットと同じデータセットに対応します。
いいえ
targetPath
String
列挙型依存関係のターゲットパスを指定します。
はい
details
String
列挙型依存関係のターゲット REST リソーステーブル URL を指定します。
以下も参照してください。:
いいえ

並べ替え基準

リクエストに適用される並べ替え基準は、includeSortCriteria パラメーター (デフォルトでは非アクティブ化) を使用して、オンデマンドで返すことができます。有効にすると、 sortCriteria プロパティが応答ルートノードに直接追加されます。
sortCriteria プロパティは、順序付けられた並べ替え基準を含む JSON Array として表されます。各並べ替え基準は、次のプロパティを持つ JSON オブジェクトに対応しています。
JSON プロパティ JSON 形式 説明 必須
path String フィールドのパス。 はい
order String 可能な値は、 asc、 lasc、 desc、または ldesc です。 はい
sortByRelevancy プロパティは JSON Array で表され、それ自体が次のプロパティを持つ JSON オブジェクトを保持します。
JSON プロパティ JSON 形式 説明 必須
order String 並べ替えを昇順で行うか降順で行うかを定義します。可能な値は、 lasc または ldesc です。 詳細については、 sortByRelevancy を参照してください。 はい

検証レポート

検証は、includeValidation パラメーターを使用してオンデマンドでアクティブ化できます (デフォルトでは非アクティブ化されています)。有効にすると、 validation プロパティが 1 つまたは複数のメッセージとともにターゲットノードに直接追加されます。ターゲットノードのパスがないメッセージの場合、 validation プロパティがルートノードに追加されます。
validation プロパティは JSON Array で表され、メッセージごとに JSON オブジェクトを保持し、検証項目に対応し、次のプロパティを持ちます。
JSON プロパティ
JSON 形式
説明
必須
level
String
検証項目の重大度。可能な値は、info、warn、error、fatal です。
はい
message
String
検証項目の説明。
はい
details
String
絶対 URL に対応します。
検証項目に関連付けられているリソースの URL。
関連するリソースが存在し、それが含まれている場合、テーブルスコープとデータセットスコープでのみ使用できます。
以下も参照してください。:
いいえ

制約

このセクションは、ノードに読み取り/書き込み権限がある場合に自動的にアクティブになります。これは、データモデルで宣言された非プログラム的な制約を提供します。
constraints プロパティは、JSON Array で表されます。すべての制約は、JSON オブジェクトの形式を取ります。それらには次のプロパティがあります。
JSON プロパティ
JSON 形式
説明
必須
type
String
制約のタイプを指定します。
以下も参照してください。:
はい
level
String
制約の重大度レベルを指定します。可能な値は、fatal、error、warning、またはinfo です。
はい
content
Object
非プログラム制約の値を指定します。この値は、String や JSON オブジェクトなどの単純なタイプにすることができます。
いいえ
min
Integer
excludeSegment 制約タイプの最小値を指定します。
いいえ
max
Integer
excludeSegment 制約タイプの最大値を指定します。
いいえ
message
String
フィールドの値が制約に準拠していない場合に返される検証メッセージを指定します。
はい
blocksCommit
String
ブロッキングまたは非ブロッキング制約の制御ポリシー管理を指定します。
詳細については、ブロッキングと非ブロッキングの制約を参照してください。
いいえ

制約タイプ

このセクションでは、プログラム以外の制約タイプをリストします。
タイプ 説明
mandatory フィールドが必須であることを定義します。
fixedLengthStatic このフィールドに必要な正確な文字数を定義します。
fixedLengthDynamic これに必要な正確な文字数を提供するフィールドを指定します。
minLengthStatic このフィールドに許可される最小文字数を定義します。
minLengthDynamic これに許可される最小文字数を提供するフィールドを指定します。
maxLengthStatic このフィールドに許可される最大文字数を定義します。
maxLengthDynamic このフィールドに許可される最大文字数を提供するフィールドを指定します。
excludeSegment このフィールドに許可されていない値の包括的範囲を定義します。
excludeValue このフィールドに許可されていない値のリストを定義します。
fractionDigits このフィールドに許可される小数点以下の最大数を定義します。
pattern フィールドの値と一致する必要がある正規表現パターンを定義します。
totalDigits この整数または 10 進数フィールドに許可される最大桁数を定義します。
boundaryMinInclusiveStatic このフィールドに許可される最小値 (最小値を含む) を定義します。
boundaryMinExclusiveStatic このフィールドに許可される最小値 (最小値を除く) を定義します。
boundaryMinInclusiveDynamic このフィールドに許可される最小値 (最小値を含む) を提供するフィールドを定義します。
boundaryMinExclusiveDynamic このフィールドに許可される最小値 (最小値を除く) を提供するフィールドを定義します。
boundaryMaxInclusiveStatic このフィールドに許可される最大値 (最大値を含む) を定義します。
boundaryMaxExclusiveStatic このフィールドに許可される最大値 (最大値を除く) を定義します。
boundaryMaxInclusiveDynamic このフィールドに許可される最大値 (最大値を含む) を提供するフィールドを定義します。
boundaryMaxExclusiveDynamic このフィールドに許可される最大値 (最大値を除く) を提供するフィールドを定義します。
以下も参照してください。:

コンテンツ

このセクションは、includeContent パラメーター (デフォルトでアクティブ化) を使用して、オンデマンドで非アクティブ化できます。これは、許可されたユーザーのレコード値、データセット、またはコンテンツフィールドの 1 つのフィールドのコンテンツを提供します。また、ラベル、技術情報、URL などの追加情報もあります。
コンテンツは、サブノードごとにプロパティが設定された JSON オブジェクトで表されます。

ノード値

JSON プロパティ
JSON 形式
説明
必須
content
ノード値が含まれます。関連付けと選択を除くすべてのノードで使用できます。ただし、コンテンツは、details プロパティで提供される URL を呼び出すことで取得できます。
いいえ
details
String
絶対 REST リソース URL に対応します。
呼び出されたときにノードの詳細を返します。
応答タイプはメタタイプによって異なります。
  • foreignKey:ターゲットレコード (テーブル、レコード、およびフィールド操作で使用可能)。
  • resource:ターゲットリソース (データセットノード、テーブル、レコード、およびフィールド操作で使用可能)。
  • association:関連するレコードを含むターゲットテーブル (テーブルおよびレコード操作で使用可能)。
  • selection:関連するレコードを含むターゲットテーブル (テーブルおよびレコード操作で使用可能)。
  • group:ターゲットデータセットグループノード (データセットツリー操作で使用可能)。
  • table:ターゲットテーブル (データセットツリー操作で使用可能)。
例
http://.../BReference/dataset/root/table/pk/associationField
いいえ
historyDetails
String
絶対 REST リソース URL に対応します。
呼び出されたときにノード履歴の詳細を返します。
以下も参照してください。:
いいえ
label
文字列
現在のロケールの外部キーまたは列挙ラベルが含まれます。
現在のロケールがサポートされていない場合は、デフォルトのラベルが返されます。
いいえ
inheritanceMode
文字列
データセットの継承のみを考慮した、ノードの継承状態が含まれます。inheritedFieldMode プロパティと inheritanceMode プロパティの両方を同じノードで定義することはできません。
いいえ
inheritedFieldMode
String
データセットとフィールドの継承を考慮した、ノードのフィールドの継承状態が含まれます。両方の継承が使用される場合、フィールドの継承はデータセットの継承よりも優先されます。inheritedFieldMode プロパティと inheritanceMode プロパティの両方を同じノードで定義することはできません。
以下も参照してください。:
いいえ
selector
String
絶対 URL に対応します。
selector 操作に適切な URL が含まれています。
例
http://.../BReference/dataset/root/table/pk/enumField?selector=true
いいえ
validation
Array
現在のノードコンテキストに関係する検証レポートが含まれています。
以下も参照してください。:
いいえ

単純型のコンテンツ

単純なフィールド値は JSON オブジェクトに格納され、そのコンテンツは content プロパティの値です。
以下も参照してください。:

グループとリストのコンテンツ

XML スキーマ
JSON 形式
例
メタタイプ
Group
xs:complexType
オブジェクト
サブノードごとのプロパティが含まれます。
単純オカレンスグループの例。
{
  "road": {
    "content": "11 rue scribe"
  },
  "zipcode": {
    "content": "75009"
  },
  "country": {
    "content": "France"
  }
}
グループ
List
maxOccurs > 1
Array
JSON オブジェクトで表されるすべてのフィールドオカレンスの配列が含まれます。
各オブジェクトは、ノード値として表されます。
xs:int タイプの複数オカレンスフィールドの例。
[
  {
    "content": 0
  },
  {
    "content": 1
  },
  {
    "content": 2
  },
  {
    "content": 3
  }
]
複数オカレンスグループの例。
[
  {
    "content": {
      "road": {
        "content": "11 rue scribe"
      },
      "zipcode": {
        "content": "75009"
      },
      "country": {
        "content": "France"
      }
    }
  },
  {
    "content": {
      "road": {
        "content": "711 Atlantic Ave"
      },
      "zipcode": {
        "content": "MA 02111"
      },
      "country": {
        "content": "United States"
      }
    }
  }
]
または
グループ

セレクター

列挙型を提供するフィールドで selector プロパティで表される URL を呼び出すと、次のプロパティを含むJSON オブジェクトが返されます。
  • JSON オブジェクトの Array に対応する rows。各行には返される content (永続化可能) と対応する label の 2 つのエントリが含まれています。確立された可能な項目のリストは、現在のコンテキストによって異なります。
  • (オプション) pagination データを含む pagination (デフォルトでアクティブ化)。

    {
      "rows": [
        {
          "content": "F",
          "label": "feminine"
        },
        {
          "content": "M",
          "label": "masculine"
        }
      ],
      "pagination": {
        "nextPage": null
      }
    }
以下も参照してください。: