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

如何使用XSD将动态列表添加到枚举到simpletype(下拉列表)中?,xsd,Xsd,我已经使用XSD使用simpleType限制写下了dorp元素。这是我的示例代码 <xsd:simpleType name="StatusListDropDown"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Submitted" /> <xsd:enumeration value="In Process" />

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

<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导入它。这是正确的方法吗?或者有什么好方法可以做到这一点。请让我知道。提前感谢。

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


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

谢谢您的回复。我的要求改变了,我将严格遵守10条记录。所以我把它们放在同一个xsd文件中。也谢谢你纠正我的错误。