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

在 DB2 中管理 XML Schemas,第 2 部分: XML Schemas 演变和 XML 数据管理

 2010-04-12 00:00:00 来源:WEB开发网   
核心提示: 关系 ID 也没有改变,但 schema 位置更改为新的 XML schema 的位置,在 DB2 中管理 XML Schemas,第 2 部分: XML Schemas 演变和 XML 数据管理(6),发出以下 SQL 语句获取每个已注册 XML schema 的关系 ID 和 schema

关系 ID 也没有改变,但 schema 位置更改为新的 XML schema 的位置。发出以下 SQL 语句获取每个已注册 XML schema 的关系 ID 和 schema 位置。

 db2 => SELECT OBJECTID, 
       substr(OBJECTSCHEMA,1,12) OBJECTSCHEMA, 
       substr(OBJECTNAME,1,12) OBJECTNAME, 
       substr(SCHEMALOCATION,1,16) SCHEMALOCATION 
     FROM SYSCAT.XSROBJECTS; 
 
 OBJECTID       OBJECTSCHEMA OBJECTNAME  SCHEMALOCATION 
 -------------------- ------------ ------------ ---------------- 
  65020719620281344 SAMPLE2   CUST1    cust2.xsd 
  66857945295662336 SAMPLE2   CUST2    cust2.xsd 
 
 2 record(s) selected. 

上面的结果显示,两条记录指向相同的 schema 位置。在这种情况下,XML 数据没有使用这个 schema 位置验证。如下所示,使用 schema 位置 cust2.xsd 来验证 XML 数据失败,这是因为无法分辨使用的是哪个 schema 位置为 cust2.xsd 的 XML schema。

 db2 => INSERT INTO T1(ID, XMLDATA) VALUES (22, 
 XMLVALIDATE(XMLPARSE(DOCUMENT 
'<?xml version="1.0"?> 
 <customer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:noNamespaceSchemaLocation="cust2.xsd"> 
  <name>cust2-2</name> 
  <address>address2-2</address> 
  <phone>33-4444-5555</phone> 
  <cell-phone>090-5555-6666</cell-phone> 
  <email>cust2-2@sample.com</email> 
 </customer>')) 
 ); 
 DB21034E The command was processed as an SQL statement because it was not a 
 valid Command Line Processor command. During SQL processing it returned: 
 SQL16196N XML document contains an element "customer" that is not correctly 
 specified. Reason code = "37" SQLSTATE=2200M 

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:DB 管理 XML

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