什么是在Java中表示“选择”命名标签的最佳方式? 即

<xs:complexType name="MyType">
  <xs:sequence>
    <!-- common elements here -->
    <xs:element type="xs:string" name="name" ... />
  </xs:sequence>
  <xs:choice>
    <xs:element name="stringValue" type="xs:string"></xs:element>
    <xs:element name="intValue" type="xs:int"></xs:element>
  </xs:choice>
</xs:complexType>

我如何在Java模型呢?我在想是这样的:

public class MyType
  String name;

  String stringValue;
  int intValue;
...

但是这肯定不是最好的办法,还是我错了?另外,如果我要揭露使用Axis2其使用该类型的服务,做我需要实现一些自定义的消息接收器?

有帮助吗?

解决方案

我们通常翻译XSD到Java与JAXB或其他一些具有约束力的机制(其中你有Axis2的几个)对象。那些产生完全像你证明对象:即,在选择所有属性在那里,你看不到任何指示只有一个可以存在。如果您所翻译的东西转化成XML格式,这将是唯一的,如果你打开验证发现。没有与选择没有问题,如果你知道你不应该设置在两者同时Java的变种 - 结果有时甚至可以是他们没有做它成生成的XML

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top