如何重用 XML 模式中设置的自定义类型?
How to reuse customized type set in XML schema?
我必须在不同的 SQL 存储过程中创建几个 XML 模式来验证输入 XML,但是重复复制和粘贴自定义模式类型有点烦人,几乎都一样。
喜欢以下类型:
<xs:simpleType name="CodeLen1">
<xs:restriction base="xs:string">
<xs:maxLength value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CodeLen2">
<xs:restriction base="xs:string">
<xs:maxLength value="2" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CodeLen3">
<xs:restriction base="xs:string">
<xs:maxLength value="3" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CodeLen4">
<xs:restriction base="xs:string">
<xs:maxLength value="4" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CodeLen5">
<xs:restriction base="xs:string">
<xs:maxLength value="5" />
</xs:restriction>
</xs:simpleType>
如何在不同的 XML 模式中重用这部分?
我知道我们可以在 XSD 个文件之间使用 <xs:import>
,但是如何在 SQL 模式中使用它?
我的解决办法是把SQL中的XML schema当作String,使用的时候直接拼接起来就可以了。
我必须在不同的 SQL 存储过程中创建几个 XML 模式来验证输入 XML,但是重复复制和粘贴自定义模式类型有点烦人,几乎都一样。
喜欢以下类型:
<xs:simpleType name="CodeLen1">
<xs:restriction base="xs:string">
<xs:maxLength value="1" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CodeLen2">
<xs:restriction base="xs:string">
<xs:maxLength value="2" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CodeLen3">
<xs:restriction base="xs:string">
<xs:maxLength value="3" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CodeLen4">
<xs:restriction base="xs:string">
<xs:maxLength value="4" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CodeLen5">
<xs:restriction base="xs:string">
<xs:maxLength value="5" />
</xs:restriction>
</xs:simpleType>
如何在不同的 XML 模式中重用这部分?
我知道我们可以在 XSD 个文件之间使用 <xs:import>
,但是如何在 SQL 模式中使用它?
我的解决办法是把SQL中的XML schema当作String,使用的时候直接拼接起来就可以了。