/*
1) register xmlschema
2) create table with xml datatype
3) import xml and explicit validate using SQL identifiers as well
*/
-- 首先先將xsd寫好如下 ex:region4.xsd
-- ※ 裡面包含地區代碼/地區英文名稱/地區中文名稱
< ?xml version="1.0"? >
< xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
< xsd:element name="region4" >
< xsd:complexType >
< xsd:sequence >
< xsd:element name="regno" type="xsd:string" / >
< xsd:element name="regename" type="xsd:string" / >
< xsd:element name="regcname" type="xsd:string" / >
< /xsd:sequence >
< /xsd:complexType >
< /xsd:element >
< /xsd:schema >
-- 將xmlschema register進去
-- http://localhost/region4是我給定的xmlschema uri
-- xsd_region4 是這個xmlschema的ID
-- 可下sql檢查是否register成功:
-- select * from syscat.xsrobjects where objectname = 'XSD_REGION4'
register xmlschema 'http://localhost/region4' from c:\region4.xsd as xsd_region4 complete
-- 建立一個有XML資料型態的TABLE
create table region4
(
id integer not null,
regioninfo xml,
constraint pk_region4 primary key (id)
);
-- 建好之後處理import要使用的檔案
-- 隨便舉例,import 三個xml檔案
-- 1.xml:
< ?xml version="1.0" encoding="UTF-8"? >
< region4 >
< regno >1< /regno >
< regename >Northern< /regename >
< regcname >北區< /regcname >
< /region4 >
-- 2.xml:
< ?xml version="1.0" encoding="UTF-8"? >
< region4 >
< regno >2< /regno >
< regename >Central< /regename >
< regcname >中區< /regcname >
< /region4 >
-- 3.xml:
< ?xml version="1.0" encoding="UTF-8"? >
< region4 >
< regno >3< /regno >
< regename >Southern< /regename >
< regcname >南區< /regcname >
< /region4 >
-- 準備要import的.del檔案。c:\region4.del
-- 用XDS指定
1,< XDS FIL='1.xml'/ >
2,< XDS FIL='2.xml'/ >
3,< XDS FIL='3.xml'/ >
-- 開始import
import from region4.del of del xml from c:/ xmlvalidate using xds default xsd_region4 insert into region4
-- 看結果
select count(*) from region4
1
---------
3
已選取 1 個記錄。
-- 全部都是validated過的資料
select count(*) from region4 where regioninfo is validated
1
---------
3
已選取 1 個記錄。