XSR_DTD 过程

XSR_DTD 过程向 XML 模式存储库 (XSR) 注册文档类型声明 (DTD)。

Read syntax diagramSkip visual syntax diagramXSR_DTD(rschema,name,systemid,publicid,content)

模式为 SYSPROC。

授权

该过程的调用者的授权标识必须至少具有下列其中一种权限或特权:
  • DBADM 权限。
  • IMPLICIT_SCHEMA 数据库权限(如果 SQL 模式不存在)。
  • CREATEIN 特权(如果 SQL 模式存在)。
rschema
类型为 VARCHAR (128) 的输入和输出参数,用于指定 DTD 的 SQL 模式。 SQL 模式是用来在 XSR 中标识此 DTD 的 SQL 标识的一部分。 (SQL 标识的另一部分是由 name 参数提供的。) 此参数可以有一个空值,该值指示使用缺省 SQL 模式(如在 CURRENT SCHEMA 专用寄存器中所定义)。 应用于任何 SQL 标识的有效字符和定界符的规则也适用于此参数。 不能将以字符串“SYS”开头的关系模式用于此值。 XSR 对象不会与 XSR 外部存在的数据库对象发生名称冲突,因为 XSR 对象与 XML 模式存储库外部的对象在不同的名称空间中出现。
名称
VARCHAR (128) 类型的输入和输出参数,它指定 DTD 的名称。 DTD 的完整 SQL 标识为 rschema.name,并且对于 XSR 中的所有对象应该是唯一的。 此参数接受空值。 当为此参数提供空值时,就会生成一个唯一值并存储在 XSR 中。 应用于任何 SQL 标识的有效字符和定界符的规则也适用于此参数。
系统标识
VARCHAR (1000) 类型的输入参数,它指定 DTD 的系统标识。 DTD 的系统标识应该与 XML 实例文档的 DOCTYPE 声明或者 ENTITY 声明(如果使用的话,在前面添加关键字 SYSTEM 作为前缀)中的 DTD 的统一资源标识相匹配。 此参数的值不能为空。 系统标识可与公用标识同时指定。
公用标识
VARCHAR (1000) 类型的输入参数,它指定 DTD 的公用标识。 DTD 的公用标识应该与 XML 实例文档的 DOCTYPE 声明或者 ENTITY 声明(如果使用的话,在前面添加关键字 PUBLIC 作为前缀)中的 DTD 的统一资源标识相匹配。 此参数接受空值,且应仅在 XML 实例文档的 DOCTYPE 声明中或者在 ENTITY 声明中同时指定时使用。
内容
BLOB (30M) 类型的输入参数,它包含 DTD 文档的内容。 此参数的值不能为空。

示例

注册由系统标识 http://www.test.com/person.dtd 和公用标识 http://www.test.com/person 标识的 DTD:

       
CALL SYSPROC.XSR_DTD ( 'MYDEPT' , 
   'PERSONDTD' ,
   'http://www.test.com/person.dtd' ,
   'http://www.test.com/person',
   :content_host_variable 
   )