WEB开发网
开发学院数据库DB2 在 DB2 中管理 XML Schema,第 1 部分: 管理 XML ... 阅读

在 DB2 中管理 XML Schema,第 1 部分: 管理 XML Schema 并验证 XML 数据

 2010-03-25 00:00:00 来源:WEB开发网   
核心提示: 当您添加 ACCORDING TO XMLSCHEMA ID 关系 ID 时,则忽略 XML 数据中指定的模式位置,在 DB2 中管理 XML Schema,第 1 部分: 管理 XML Schema 并验证 XML 数据(9),并使用其关系 ID 与这个关系 ID 相同的 XML Schema

当您添加 ACCORDING TO XMLSCHEMA ID 关系 ID 时,则忽略 XML 数据中指定的模式位置,并使用其关系 ID 与这个关系 ID 相同的 XML Schema 来验证 XML 数据。

以上 XML 数据适合 SAMPLE.CUSTOMER1。下面执行以下 SQL,使用 SAMPLE.CUSTOMER2 XML Schema 来验证这个 XML 数据。

INSERT INTO T1(ID, XMLDATA) VALUES (11, 
XMLVALIDATE(XMLPARSE(DOCUMENT 
'<?xml version="1.0"?> 
<customer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:noNamespaceSchemaLocation="customer1.xsd" 
 type="1"> 
  <name>cust1</name> 
  <address>address1</address> 
  <phone>11-2222-3333</phone> 
  <email>cust1@sample.com</email> 
</customer>') ACCORDING TO XMLSCHEMA ID SAMPLE.CUSTOMER2) 
); 

由于这个 XML 数据适合 SAMPLE.CUSTOMER1,但不适合 SAMPLE.CUSTOMER2,因此将出现以下错误:

SQL16205N XML document contains too few elements to match content model 
"((name,address,phone,email,company-name),company-address)". SQLSTATE=2200M

从这个示例可以看出,通过使用关系 ID,无需修改 XML 数据就可以使用多个 XML Schema 来验证 XML 数据。

IMPORT 命令拥有几个 XMLVALIDATE 选项。指定 XML VALIDATE USING SCHEMALOCATION HINTS 将使用 XML 数据中的模式位置,而指定 XMLVALIDATE USING SCHEMA Relational ID 则使用关系 ID。

创建以下 customer1.del 文件来导入 T1 表中的一条记录,该记录的 ID 列为 111,XMLDATA 列为 customer1.xml 文件的内容。

上一页  4 5 6 7 8 9 10  下一页

Tags:DB 管理 XML

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接