我希望我的XML架构包含两个字符串枚举,一个扩展另一个:
我尝试了union,但结果类型似乎不是枚举,至少xAmple无法识别它。
有没有办法让一个枚举扩展另一个枚举?仍然是枚举?
答案 0 :(得分:1)
简单类型只能通过限制而不是通过扩展来派生。 (工会很特殊,被认为是对anySimpleType
的限制。)
如果你只是试图避免重复(而不是定义层次结构),那么联合应该可以用于验证,尽管一些工具不会调查联合以做一些聪明的事情就不足为奇了。
另一个选择是定义一个基类型将所有值(狗,猫,蛇),然后派生一个只包含子集的类。这给了你一个层次结构,但派生类必须重复子集(dog,cat)或者通过regex禁止其他(snake)。 (使用正则表达式可能也会让许多编辑绊倒。)