如何使用XSD将动态列表添加到枚举到simpletype(下拉列表)?

时间:2013-01-16 11:08:51

标签: xsd

我使用XSD使用simpleType限制编写了dorp down元素。这是我的示例代码。

<xsd:simpleType name="StatusListDropDown">
   <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Submitted" />
            <xsd:enumeration value="In Process" />
            <xsd:enumeration value="Cancelled" />
            <xsd:enumeration value="Completed" />
            <xsd:enumeration value="Saved" />           
        </xsd:restriction>
    </xsd:simpleType> 

实际上我的列表大小超过30条记录,我不想在同一个XSD中对它们进行硬编码。有什么我可以动态地得到它们。一个想法是为此列表分别使用XSD并使用xsi:schemaLocation导入。这是正确的方法吗?或者有什么好方法可以做到这一点。请告诉我。提前谢谢你。

1 个答案:

答案 0 :(得分:1)

是的,采用频繁更改的枚举(如您描述的枚举)并将其放入单独的架构文档中是完全正确的做法,该文档可以独立于架构的其余部分进行更新。你要求有很好的方法,但我认为你已经找到了最好的方法。

一个技术要点:除非您想将StatusListDropDown类型放在单独的命名空间中,否则您将需要使用xsd:include而不是xsd:import将其带入主架构文档。