Dataset XML Format

nexacro platformはサーバーモジュールとしてX-APIを提供します。このAPIを使って生成された Dataset formatを nexacro platform HTML5が解釈してUI画面に表示します。

ここでは X-APIが生成するDataset formatを説明します。このformatを遵守したXML Formatファイルはnexacro platform HTML5が認識できるデータです。すなわちX-APIを使わなくてもサーバープログラムを開発することはできます。

Dataset XML layout

XML Declaration

Root


Cache

Parameters


Parameter (繰り返し)


Dataset (繰り返し)


ColumnInfo


ConstColumn (繰り返し)

Column (繰り返し)


Rows


Row (繰り返し)


Col (繰り返し)

OrgRow


Col (繰り返し)

XML 宣言

xmlであることを明示するxml 宣言文を、次のように定義します。

<?xml version="1.0" encoding="utf-8"?>

xml 宣言文はxml文書の一番前になければならず、この宣言文の前には空白文字を含めて、いかなる文字もあってはなりません。

xml 例

<?xml version="1.0" encoding="utf-8"?>
<Root xmlns="http://www.nexacroplatform.com/platform/dataset" ver="4000" >
     <Parameters>
          <Parameter id="service">stock</Parameter>
          <Parameter id="method">search</Parameter>
     </Parameters>
     <Dataset id="output">
          <ColumnInfo>
               <ConstColumn id="market" size="10" type="STRING" value="kse"/>
               <ConstColumn id="openprice" size="10" type="INT"
               value="15000"/>
               <Column id="stockCode" size="5" type="STRING"/>
               <Column id="currentprice" size="10" type="INT"/>
          </ColumnInfo>
          <Rows>
               <Row>
                    <Col id="currentCode">10001</Col>
                    <Col id="currentprice">5700</Col>
               </Row>
               <Row>
                    <Col id="currentCode">10002</Col>
                    <Col id="currentprice">14500</Col>
               </Row>
          </Rows>
     </Dataset>
</Root>

Dataset エレメント 説明

Datasetのエレメント(element)を説明します。

Root

概要

Datasetを現わす最上位エレメント

子ノード

Parameters, Dataset

繰り返し指定

必ず、1つは存在する必要があります。

属性
<Root xmlns="http://www.nexacroplatform.com/platform/dataset">
<Root xmlns:nexacro="http://www.nexacroplatform.com/platform/dataset">
<Root xmlns=".." version="1000">

属性名

説明

xmlns

ネームスペース、もし基本ネームスペースを使わない場合なら、 xmlns:nexacroと明示します。

ver

Dataset Layoutのバージョンを明示します。

Parameters

概要

通信時に必要なパラメータを明示するためのエレメント。実際にパラメータ値を有するのは子ノード Parameterであり、Parameters エレメントとは、子ノードParameterを有する集合の役割です。

子ノード

Parameter

繰り返し指定

存在しないか、1つ存在する場合があります。

Parameters > Parameter

概要

パラメータの値を明示します。

子ノード

なし

繰り返し指定

存在しないか、パラメータエレメントはパラメータの個数だけ存在します。

属性
<Parameter id="ErrorMsg" type="STRING">SUCC</ Parameter >

属性名

説明

id

パラメータ名

type

パラメータ値のタイプ

備考

nexacro platformでは次のような必須パラメータを使うように定義した。nexacro platformとの連動のためにはパラメータを設定しなければなりません。

<Parameter id="ErrorCode">1</Parameter>
<Parameter id="ErrorMsg">SUCC</Parameter>
<Parameter id="cachetype">Session</Parameter>

id

説明

ErrorCode

Error Code.

-Transaction 関数呼び出しの時、0より小さい場合にはユーザが定義したエラーで、InputDatasetにUpdateStatusを反映せずに失敗処理されます。

0以上の場合には、ユーザが定義した正常状態で、InputDatasetにUpdateStatusを反映して成功処理されます。

-Load 関数呼び出しの時

0より小さい場合には、ユーザが定義したエラーで失敗処理されます。

0以上の場合には、ユーザが定義した正常状態で成功処理されます。


デフォルト値:0

ErrorMsg

Error Message


未指定時:ErrorCodeが未指定または0(デフォルト)の場合はSUCCESS、それ以外はFAILED

CacheType

Cache方法のTypeを指定する。Typeは Session、Dynamic、Static、Noneに区分されます。


デフォルト値:Session

typeに指定できるデータタイプは次の通りです。

Dataset

概要

一つのDataset内容の値を持っているエレメント。子ノードにはDatasetの構造を表現するためのColumnInfoとDatasetの実際のデータを持っている Rowsがあります。

子ノード

ColumnInfo, Rows

繰り返し指定

存在しないか、xmlが送信するDatasetの個数だけ存在します。

属性
<Dataset id="History">

属性名

説明

id

Dataset 名

Dataset > ColumnInfo

概要

Datasetのスキーマを表現するためのエレメント。実際にスキーマの情報は子ノードであるConstColumnとColumnが表現しColumnInfoはこれらを含む集合の役割を持ちます。固定値のカラムスキーマはConstColumnが非固定値のカラムスキーマはColumnが表現します。

子ノード

ConstColumn, Column

繰り返し指定

存在しないか、1つ存在する場合があります。

ColumnInfoの子要素は、ConstColumn、Column順に配置する必要があり、ConstColumnが常に最初に配置される必要があります。

ConstColumn、Columnが混ざって配置される場合には、アプリケーションからのデータを処理できない場合があります。

(X) ConstColumnが先に配置されない場合
<ColumnInfo>
	<Column id="stockCode" size="5" type="STRING"/>
	<Column id="currentprice" size="10" type="INT"/>
	<ConstColumn id="market" size="10" type="STRING" value="kse"/>
	<ConstColumn id="openprice" size="10" type="INT" value="15000"/>
</ColumnInfo>
...
(X) ConstColumn, Columnが混ざって配置された場合
<ColumnInfo>
	<ConstColumn id="market" size="10" type="STRING" value="kse"/>
	<Column id="currentprice" size="10" type="INT"/>
	<ConstColumn id="openprice" size="10" type="INT" value="15000"/>
	<Column id="stockCode" size="5" type="STRING"/>
</ColumnInfo>
...

Dataset > ColumnInfo > ConstColumn

概要

常に固定値を持つ Columnのスキーマを表現します。

子ノード

なし。

繰り返し指定

存在しないか、固定値カラムの数だけ存在します。

属性
<ConstColumn id="systemName"
     size="255"
     type="STRING"
     value="Production"/>

属性名

説明

id

カラム名

size

最大データサイズ

type

カラムのデータタイプ

value

カラムの固定値

備考

typeに指定できるデータタイプは次の通りです.

Dataset > ColumnInfo > Column

概要

パラメータの値を明示します。

子ノード

なし。

繰り返し指定

存在しないか、非固定値カラムの個数だけあります。

属性
<Column id="department"
     size="255"
     type="STRING"
     prop="text"
     sumtext="小計"/>

属性名

説明

id

カラム名

size

データの最大大きさ

type

カラムのデータタイプ

Prop

Summuryの時タイプを定義

Sumtext

porp値が textである時は文字列

備考

typeに設定される値は ColumnInfoでの typeと同じです。

Propは次のような値を持7.2.9ちます。

Dataset > Rows

概要

データセットの各Rowを内包するエレメント。実データであるRowを子ノードとして持ちます。

子ノード

Row

繰り返し指定

存在しないか、1つ存在する場合があります。

Dataset > Rows > Row

概要

データセットの一つのRowのデータを表現するためのエレメント。実際に各カラムの値を表現するColを子ノードとして有しています。 そしてtypeが“update”の場合、変更される前のRowの値を有するOrg_Rowが、子ノードとしてあります.

子ノード

Col, Org_Row

繰り返し指定

存在しないか、データの Row個数だけあります。

属性
<Row type="insert">
     <Col id="currentCode">10001</Col>
     <Col id="currentprice">13400</Col>
</Row>

<Rows>
     <Row type="update">
          <Col id="currentCode">10001</Col>
          <Col id="currentprice">13400</Col>
          <OrgRow>
               <Col id="currentCode">10001</Col>
               <Col id="currentprice">13700</Col>
          </OrgRow>
     </Row>
</Rows>

<Row type="delete">
     <Col id="currentCode">10001</Col>
     <Col id="currentprice">13400</Col>
</Row>

属性名

説明

type

insert : 原本 Datasetに追加された Row.

update: 原本 Datasetに対して変更された Row。子ノードにOrg_Rowを含む。Org_Rowは変更前の原本Rowです。

delete: 原本Datasetに削除されたRowを意味します.

備考

Dataset > Rows > Row > Col

概要

データセットの各カラム値を表現します。

子ノード

なし。

繰り返し指定

存在しないか、カラムの個数だけあります。

属性
<Col id="department">management</Col>

属性名

説明

Id

カラム名。ColumnInfo の子ノード(ConstColumn 、Column)で設定した名前と同じである。

備考

0 length string の場合

<Col id="department"></Col> 
or
<Col id="department"/>

Nullの場合Tagがないと認識します。

Dataset > Rows > Row > OrgRow

概要

データセットのRow値が変更された時、元々の値を有するエレメント。子ノードとして実際の値を有するColがあります。

子ノード

Col

繰り返し指定

存在しないか、1つ存在する場合があります。

備考

親エレメントである Rowと似ていますが属性がありません。

Dataset > Rows > Row > OrgRow > Col

概要

変更される前のカラム値を持っています。

子ノード

なし

繰り返し指定

存在しないか、カラムの個数だけあります。

属性
<Col id="department">management</Col>

属性名

説明

id

カラム名。ColumnInfo の子エレメント(ConstColumn 、Column)で設定した名と同じです.