powerbuilder(pb)에서 xml의 응용 사례

4006 단어 powerbuilderxml
예시 파일은 다음과 같다. (DTD를 붙이지 않고 간단한 예를 들어 설명하자면)

<trans>
<transdetail>
<order><date/></order>
<orderdetail><product/></orderdetail>
<orderdetail><product/></orderdetail>
</transdetail>
<transdetail>
<order><date/></order>
<orderdetail><product/></orderdetail>
<orderdetail><product/></orderdetail>
</transdetail>
</trans>
나의 표 구조는 여러분의 표도 모두 이렇게 디자인된 order(판매 주문, 고객, 날짜 등 정보 포함)orderdetail(판매 주문 내역, 제품, 수량 및 가격 정보 포함)이 되어야 한다고 생각한다. 이로써 이 xml의 형식 설정에 문제가 있음을 한눈에 알 수 있다.예를 들어 이렇게 하면 더욱 합리적일 수 있다

<trans>
<!--transdetail -->
<order>
<date/>
<detail><!-- , -->
<orderdetail><product/></orderdetail>
<orderdetail><product/></orderdetail>
</detail>
</order>
<order>
<date/>
<detail>
<orderdetail><product/></orderdetail>
<orderdetail><product/></orderdetail>
</detail>
</order>
</trans>
. 그러나 사람들은 ZF부서이기 때문에 고칠 수 없기 때문에 엉터리도 pb9의 처리 코드를 해야 한다. 사실 pb9종에 세 줄의 코드만 썼는데 진정한 코드는 한 줄밖에 없다. 바로 하나의 창을 추가했다. 그 위에 수치 창을 하나 놓았고 버튼 하나와 버튼 안에 이런 줄의 코드를 썼다. 하하dw_export.save("c:\test.xml", xml!,false) 사실 진정으로 처리해야 할 것은 두 개의 데이터 창을 정의하는 것이다. 주로 그들의 xml 모델을 정의하는 것이다. d_order(주문 헤더 데이터 출구, 두 번째 줄 코드, EITX에서 설정할 수 있음) 1.새 데이터 창 (여기서 주의하건대, 어떤 조건의 데이터가 여러 줄 있을 때, SQL에서 그룹을 하는 것이 가장 좋다. 그렇지 않으면 생성된 데이터가 중복될 수 있다) 3.export/importtemplate xml(이하 EITX) 편집 구역에서 오른쪽 단추를 누르면save as 다른 이름 4.데이터 export에 있는use template를 당신이 방금 저장한 모듈 이름으로 정의한 모듈을 다음과 같이 설정합니다.

<?xml version=~"1.0~" encoding=~"gb2312~" standalone=~"no~"?>
<trans>
<transdetail __pbband=~"detail~"><!-- EITX transdetail "starts detail" [ 1] -->
<order>
<date>order_date</date>
</order>
dw_detail <!-- EITX transdetail "add child" "datawindow control refrence" [ 2] -->
</transdetail>
</trans>
두 가지 주의해야 할 것이 있습니다. [주1] 이 start detail은 데이터의 순환을 제어하기 때문에 선택해야 합니다. 그러나 xml마다 하나만 정의할 수 있습니다. 여기서 문제가 발생할 수 있습니다. 만약에 제 주문 헤드가 순환한 후에 어떻게 다시 주문 내역을 순환시키는지 결론은 하나의 데이터 창에서 실현할 수 없습니다.데이터 창으로 나누어 처리해야 합니다. 주2 [주2] 우리는 d_order에 보고서 삽입, 즉 d_orderdetail, d_order의 control list (datawindow control refrence와 동일) 중 dw_detail(기본 이름은 dw_1, 개명함)d_orderdetail(주문 내역 데이터 출구, 즉 위 리포트, dw_detail에서 인용한 데이터 창, 세 번째 줄 코드, EITX에서 설정할 수 있음) 1.새 데이터 창 2.export/importtemplate xml(이하 EITX) 편집 구역에서 오른쪽 단추를 누르면save as 다른 이름 3.데이터 export에서use template를 방금 저장한 템플릿 이름으로 설정합니다 product_name[주3] 주의, 우리가 d_order에서 xml을 내보낼 때 d_orderdetail의 xml 성명과 맨 위 노드는 무시됩니다. [주4] 이 곳에서 정의한 것은orderdetail 부분입니다. 주문서에 여러 개의 명세 정보가 있을 수 있기 때문에 startdetail, 즉 순환으로 설정해야 합니다.마지막으로 생성된 파일은 다음과 같습니다

<trans>
<transdetail>
<order><date>20080101</date></order>
<orderdetail><product> </product></orderdetail>
<orderdetail><product> </product></orderdetail>
</transdetail>
<transdetail>
<order><date>20080102</date></order>
<orderdetail><product> </product></orderdetail>
<orderdetail><product> </product></orderdetail>
</transdetail>
</trans>
. 주: xml 인터페이스 파일을 설계하려면 사용자의 편의성을 고려해야 합니다.

좋은 웹페이지 즐겨찾기