1

私は次のものを持っています:

<xs:complexType name="AnswerType">
    <xs:choice minOccurs="1" maxOccurs="1">
        <xs:element name="Checklist" type="ChecklistType" />
        <xs:element name="OptionList" type="OptionListType" />
        <xs:element name="Measurement" type="MeasureType" />
    </xs:choice>
</xs:complexType> 

SimpleXML を使用して Choice XSD 要素に注釈を付けるにはどうすればよいですか? 現在、それらをすべてrequired=falseに設定する必要があります

@Element(name = "Checklist", required=false)
protected ChecklistType checklist;
@Element(name = "OptionList", required=false)
protected OptionListType optionList;
@Element(name = "Measurement", required=false)
protected MeasureType measurement;

きっともっと良い方法があります。required=true にする必要がありますが、どうすればよいでしょうか?

4

1 に答える 1

1

チュートリアルでこれに対する答えを見つけることができませんでしたが、例に戻って、これを正確に解決するための2番目の例を見つけました。javadocsでElementUnionクラスを検索します。例はここにあります

@Root
public class Example {

   @ElementUnion({
      @Element(name="text", type=String.class),
      @Element(name="int", type=Integer.class),
      @Element(name="double", type=Double.class)
   })
   private Object value;
}
于 2012-12-04T16:08:06.473 に答える