XSR_DTD 过程
XSR_DTD 过程向 XML 模式存储库 (XSR) 注册文档类型声明 (DTD)。
模式为 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
)