如何基于现有XSD simpleType Users限制取值并新增枚举值?
实现方案
XSD里对枚举类型做restriction时,只能减少或保留原有枚举值,没法新增新的枚举项,所以不能直接基于原Users类型修改。要满足你的需求,得重新定义一个自定义simpleType,直接以xsd:string为基础类型,把需要保留的三个原枚举值和新增的LegalOffice都列进去即可。
具体代码如下:
<xsd:simpleType name="CustomUsers"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Admin"/> <xsd:enumeration value="Reader"/> <xsd:enumeration value="Writer"/> <xsd:enumeration value="LegalOffice"/> </xsd:restriction> </xsd:simpleType>
这个CustomUsers类型完全符合要求:保留了原Users里的Admin、Reader、Writer,新增了LegalOffice,且完全没有修改原XSD的基础定义。
内容的提问来源于stack exchange,提问作者Daniel Pomrehn
相关产品推荐
相关产品推荐

