在 DB2 中管理 XML Schema,第 1 部分: 管理 XML Schema 并验证 XML 数据
2010-03-25 00:00:00 来源:WEB开发网当您添加 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 文件的内容。
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››管理/var/spool/clientmqueue/下的大文件
- ››XML 转成 数组对象
- ››XML注意的转义字符
- ››xml文件正确性验证类实现
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
更多精彩
赞助商链接