sql-server - SQL Server 架构集合中的可重用 simpleType 定义
问题描述
我正在尝试在 SQL Server XML 架构集合中创建可重用的 simpleType,但出现错误。例如:
<?xml version="1.0" encoding="UTF-16"?>
<xs:schema
attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="SomethingUnique"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="dateTimeOrEmpty">
<xs:union memberTypes="xs:dateTime">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=""/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:element name="Root">
<xs:complexType>
<xs:sequence>
<xs:element name="SomeDate"/>
<xs:simpleType>
<xs:union memberTypes="xs:dateTime">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=""/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:element name="OtherDate" type="dateTimeOrEmpty" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
如果我尝试使用此架构创建 XML 架构集合,我会收到此错误
对未定义名称“dateTimeOrEmpty”的引用
是否可以重用命名的 simpleType 定义,或者我是否必须为要使用它的每个元素重新键入整个 simpleType 定义?
解决方案
看起来像一个命名空间问题。我想我一次就明白了这一点,但现在我只需要摆弄它直到它起作用。例如
CREATE XML SCHEMA COLLECTION foo AS
N'<?xml version="1.0" encoding="UTF-16"?>
<xs:schema
attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="SomethingUnique"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:s="SomethingUnique"
>
<xs:simpleType name="dateTimeOrEmpty">
<xs:union memberTypes="xs:dateTime">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=""/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:complexType name="RootType">
<xs:sequence>
<xs:element name="SomeDate" type="s:dateTimeOrEmpty"/>
<xs:element name="OtherDate" type="s:dateTimeOrEmpty" />
</xs:sequence>
</xs:complexType>
<xs:element name="Root" type="s:RootType"/>
</xs:schema>'
推荐阅读
- python - 使用公共键列 pandas 查找任意两列数据帧之间的差异
- angular - 带有嵌套组件的 Angular 2 反应式表单
- go - 如何使用 Go 在终端的一部分中使用 Vim
- google-chrome - 我的 pageAction 图标在 Chrome 网络扩展中保持非活动状态
- jxbrowser - 如何使用 JXBrowser 上传整个目录,而不仅仅是多个文件
- javascript - 如何在javascript中将多个单词替换为单个单词?
- mapbox - Mapbox - 地图图块会被卸载吗?
- c - 为什么以下两个段的输出不同?
- bootstrap-4 - 从左到右 Bootstrap 4 的手风琴是可能的吗?
- r - ggplot2 使用 Plotly 无法正确渲染