从XSD创建具有联合类型限制的SQL模式集合

时间:2018-12-27 20:54:02

标签: sql-server xml xsd xsd-validation

根据docs.microsoft.com上的此文章,SQL Server不支持联合类型的限制:Requirements and Limitations for XML Schema Collections on the Server

我正尝试从提供的XSD创建一个包含这样的模式集合,并且(按预期)收到此错误:

  

XML验证:类型'{http://www.mismo.org/residential/2009/schemas}MISMODate_Base'的无效定义。 SQL Server当前不支持对联合类型的限制。

如果我修改XSD以消除并集类型限制,那么我已经能够创建模式集合,但是我想知道是否有一种方法可以以某种方式表示预期的限制(见下文) SQL Server支持的:

<xsd:simpleType name="MISMODate_Base">
    <xsd:restriction base="MISMODate_Union">
        <xsd:pattern value="[0-9]{4}([\-][0-9]{2}){0,2}([Z]|(([+]|[\-])[0-9]{2}[:][0-9]{2}))?"/>
    </xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="MISMODate_Union">
    <xsd:union memberTypes="xsd:gYear xsd:gYearMonth xsd:date"/>
</xsd:simpleType>

理想情况下,MISMODate_Base类型将保留MISMODate_Union类型的多个限制基础……对于XSD构建的新手,我欢迎提出任何建议。

0 个答案:

没有答案