Dataset XML Format

넥사크로플랫폼은 서버모듈로 X-API를 제공합니다. 이 API를 사용하여 생성된 Dataset format을 넥사크로플랫폼 런타임이 해석해 애플리케이션을 화면에 보여줍니다.

여기서는 X-API가 생성하는 Dataset format을 설명합니다. 이 format을 준수한 XML 파일은 넥사크로플랫폼 런타임이 바로 적용할 수 있는 데이터로 간주해 사용할 수 있습니다. 즉, 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

반복 여부

없거나 1개가 있을 수 있습니다.

Parameters > Parameter

개요

파라미터의 값을 명시합니다.

자식 요소

없다.

반복 여부

없거나 Parameter 요소는 파라미터 개수 만큼 반복 될 수 있습니다.

속성
<Parameter id="ErrorMsg" type="STRING">SUCC</ Parameter >

속성 이름

설명

id

파라미터 이름

type

파라미터 값의 타입

비고

넥사크로플랫폼에서는 다음과 같은 필수 파라미터를 사용하도록 정의하고 있습니다. 넥사크로플랫폼과의 연동을 위해서는 파라미터를 설정하여야 합니다.

<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

개요

항상 고정된 값을 갖는 컬럼의 스키마를 표현합니다.

자식 요소

없다.

반복 여부

없거나 고정 값 컬럼의 개수만큼 있을 수 있습니다.

속성
<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시 type을 정의

Sumtext

porp값이 text일 때 문자열

비고

type에 설정되는 값은 ColumnInfo에서의 type과 동일합니다.

Prop은 다음과 같은 값을 갖습니다.

Dataset > Rows

개요

Dataset의 각 Row들을 포함하기 위한 집합 의미의 요소. 실제 데이터를 표현하는 Row를 자식 요소로 갖습니다.

자식 요소

Row

반복 여부

없거나 1개 있을 수 있습니다.

Dataset > Rows > Row

개요

Dataset의 하나의 Row의 데이터를 표현하기 위한 요소. 실제 각 컬럼의 값을 표현하는 Col을 자식 요소로 갖습니다. 그리고 type이 “update"일 경우 변경되기 전의 Row의 값을 가지고 있는 Org_Row 자식 요소가 있습니다.

자식 요소

Col, Org_Row

반복 여부

없거나 Dataset의 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

개요

Dataset의 각 컬럼값을 표현합니다.

자식 요소

없습니다.

반복 여부

없거나 컬럼의 개수만큼 있을 수 있습니다.

속성
<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

개요

Dataset의 Row의 값이 변경되었을 때, 원래 값을 가지고 있는 요소. 자식 요소로 실제 값을 가지고 있는 Col이 있습니다.

자식 요소

Col

반복 여부

없거나 1개 있을 수 있습니다.

비고

부모 요소인 Row와 유사하나 속성이 없습니다.

Dataset > Rows > Row > OrgRow > Col

개요

변경되기 전의 Column 값을 표현합니다.

자식 요소

없습니다.

반복 여부

없거나 컬럼의 개수만큼 있을 수 있습니다.

속성
<Col id="department">management</Col>

속성 이름

설명

id

컬럼 이름. ColumnInfo 의 자식 요소(ConstColumn , Column)에서 설정한 이름과 같습니다.