Означает ли это, что элемент XML является обязательным? Или элемент XML должен иметь некоторое ненулевое значение? Я действительно смущен объяснением javadoc.
Значение XMLElement @required = true
Ответ 1
@XMLElement(required=true)
генерирует что-то подобное в схеме XML:
<xs:element name="city" type="xs:string" minOccurs="1"/>
что означает, что элемент и значение являются обязательными. Значение по умолчанию - false.
Это:
@XMLELement(nillable=true)
генерирует что-то подобное в схеме XML:
<xs:element name="city" type="xs:string" nillable="true"/>
что означает, что вы можете передать значение nil в своем XML следующим образом:
<city xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
Объединяя два типа:
@XMLELement(nillable=true, required=true)
дает определение схемы XML, похожее на это:
<xs:element name="city" type="xs:string" nillable="true"/>
что означает, что элемент является обязательным, но вы можете передать значение nil.
Ответ 2
Индикатор minOccurs
указывает минимальное количество раз, которое может иметь элемент. Если элемент в схеме имеет атрибут minOccurs="1"
, это означает, что элемент является обязательным. Он должен появиться в документе XML
.