16.Dataset XML Format

XPLATFORM은 서버모듈로 X-API를 제공합니다. 이 API를 사용하여 생성된 Dataset format을 XPLATFORM HTML5 FrameWork이 해독하여 UI화면에 보여줍니다.

여기서는 X-API가 생성하는 Dataset format을 설명합니다. 이 format을 준수한 XML Format 파일은 XPLATFORM HTML5 FrameWork이 바로 Data로 간주하여 사용합니다. 즉, X-API를 사용하지 않아도 서버 프로그램을 개발할 수 있습니다.

16.1Dataset XML layout

XML Declaration

Root


Cache

Parameters


Parameter (반복)


Dataset (반복)


ColumnInfo


ConstColumn (반복)

Column (반복)


Rows


Row (반복)


Col (반복)

OrgRow


Col (반복)

16.1.1XML Declaration

xml임을 명시하는 xml 선언문을 다음과 같이 정의합니다.

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

xml 선언문은 xml 문서의 가장 앞에 있어야 하며, 이 선언문 앞에는 어떠한 공백문자를 포함한 어떠한 문자도 올 수 없습니다.

16.1.2xml 예

<?xml version="1.0" encoding="UTF-8"?>
<Root xmlns="http://www.tobesoft.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>

16.2Dataset엘리멘트 설명

Dataset의 엘리멘트(element)들을 설명합니다.

16.2.1Root

속성 이름

설명

예시

xmlns

네임스페이스, 만약 기본 네임스페이스를 사용하지 않는 경우라면 xmlns:tobe로 명시합니다.

<Root xmlns="http://www.tobesoft.com/platform/Dataset">

<Root xmlns:tobe="http://www.tobesoft.com/platform/Dataset">

ver

Dataset Layout 의 버전을 명시합니다.

<Root xmlns="" ver="5000">

16.2.2Parameters

16.2.3Parameters > Parameter

속성 이름

설명

예시

id

파라매터 이름

<Parameter id="ErrorMsg" type="STRING">SUCC

</Parameter >

type

파라매터 값의 타입

id

설명

예시

ErrorCode

Error Code.

-Transaction 함수 호출 시

0보다 작은 경우에는 사용자가 정의한 에러로 InputDataset에 UpdateStatus를 반영하지 않고 실패 처리됩니다.

0이상일 경우에는 사용자가 정의한 정상 상태로 InputDataset에 UpdateStatus를 반영하며 성공 처리됩니다.

-Load 함수 호출 시

0보다 작은 경우에는 사용자가 정의한 에러로 실패 처리됩니다.

0이상일 경우에는 사용자가 정의한 정상 상태로 성공 처리됩니다.

미지정시 : 0

<Parameter id="ErrorCode">1

</Parameter >

ErrorMsg

Error Message

미지정시 : ErrorCode가 미지정 또는 0일 때 SUCCESS, 그 외는 FAILED

<Parameter id="ErrorMsg">SUCC

</Parameter >

CacheType

Cache 방법의 Type 을 지정한다. Type 은 Session, Dynamic, Static, None 로 구분됩니다.

미지정시 : Session

<Parameter id="cachetype">Session

</Parameter>

16.2.4Dataset

속성 이름

설명

예시

id

Dataset 이름

<Dataset id="History">

16.2.5Dataset > ColumnInfo

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>
...

16.2.6Dataset > ColumnInfo > ConstColumn

속성 이름

설명

예시

id

Column 이름

<ConstColumn id="systemName"

size="255"type="STRING"

value="Production"/>

size

최대 data 크기

type

Column의 데이터 타입

value

컬럼의 고정 값

16.2.7Dataset > ColumnInfo > Column

속성 이름

설명

예시

id

Column 이름

<Column id="department"

size="255"type="STRING"

prop="text"

sumtext="소계"/>

size

최대 data 크기

type

Column의 데이터 타입

Prop

Summury시 type을 정의

Sumtext

porp값이 text일 때 문자열

16.2.8Dataset > Rows

16.2.9Dataset > Rows > Row

속성 이름

설명

예시

type

insert : 원본 Dataset에 추가된 Row.

<Row type="insert">

<Col id="currentCode">10001</Col>

<Col id="currentprice">13400</Col>

</Row>

update: 원본 Dataset에 변경된 Row. 자식 엘리멘트로 Org_Row를 포함한다. Org_Row는 변경전의 원본 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>

delete: 원본 Dataset에 삭제된 Row를 의미합니다.

<Row type="delete">

<Col id="currentCode">10001</Col>

<Col id="currentprice">13400</Col>

</Row>

16.2.10Dataset > Rows > Row > Col

속성 이름

설명

예시

Id

Column 이름. ColumnInfo 의 자식 엘리멘트(ConstColumn , Column)에서 설정한 이름과 같다.

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

16.2.11Dataset > Rows > Row > OrgRow

16.2.12Dataset > Rows > Row > OrgRow > Col

속성 이름

설명

예시

id

Column 이름. ColumnInfo 의 자식 엘리멘트(ConstColumn , Column)에서 설정한 이름과 같습니다.

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