5

我正在尝试移植一个 MS SQL 脚本以在 PostGreSQL 中执行。它使用定义如下的 XML 模式集合脚本:

CREATE XML SCHEMA COLLECTION [MySchema] AS N'<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> 
<xsd:element name="MyRootElement"> 
<xsd:complexType> <xsd:complexContent> <xsd:restriction base="xsd:anyType"> <xsd:sequence> <xsd:element name="Child1" minOccurs="0"> <xsd:complexType> <xsd:complexContent> <xsd:restriction base="xsd:anyType"> <xsd:sequence>
    .
    .

我可以转换此 XML 模式类型以在 PostGreSQL 中使用吗?所以我可以使用存储过程xml类型输入参数验证的定义。如果没有,我如何确保输入参数具有所需的架构?

我读到xml 类型不会根据文档类型声明 (DTD) 验证输入值,即使输入值指定了 DTD。目前还没有内置支持针对其他 XML 模式语言进行验证,例如 XML Schema

4

1 回答 1

2

我会编写一个自定义函数(可能在 PL/Perl 或 PL/Python 中)来执行所需的验证,并使用检查约束将其挂钩到列。

于 2013-09-23T13:24:54.070 回答