【发布时间】:2012-10-26 09:27:26
【问题描述】:
我有以下架构
<xs:simpleType name="enumType">
<xs:restriction base="xs:string">
<xs:enumeration value="STRING_ONE"/>
<xs:enumeration value="STRING_TWO"/>
</xs:restriction>
</xs:simpleType>
只要我得到一个已知的字符串,我就可以将它切换到我的 jaxbobject,它需要一个 enumType 对象。但是如果我不知道这个字符串怎么办?有没有办法基于 JAXB Schema 来处理它?我知道基于枚举这是不可能的。
编辑:试图使其更清晰
对于给定的 Schema 设计,我的 JAXBObject 接受 enumType 作为参数,只能有 2 个输入值,即 STRING_ONE 或 STRING_TWO,它们将作为编组的一部分转换为 XML。
问题是,如果我想通过我的架构设计来处理这样一种情况,如果我可以拥有 enumType 的对象,那么很好,否则我可以将 XML 提供给 JAXBObject 而不是 enumType,它仍然解析它。
【问题讨论】:
-
您是否希望将属性从枚举更改为字符串,以便可以处理比 XML 模式中定义的值更多的值?
-
这是最后一种方法,是的,它肯定会奏效。但我想知道是否有一个选项可以让我们在模式中指定一个字段,该字段可以同时处理枚举和枚举 base 值(在这种情况下为字符串)。