簡體   English   中英

Java-如何指定xsd元素取決於另一個元素

[英]Java - how to specify xsd element depends on another element

我覺得這是一個簡單的問題,但是我找不到任何解決方案。 在我的xsd中,我有一個request對象,它是一個復雜元素,其中有3個元素。 例如:GetApplicationRequest具有元素1(名稱),元素2(dob),元素3(license_id)。 要創建一個有效的請求,需要(元素1和元素2)或(元素3)。 因此,如果您使用元素3創建一個請求,則其他2不應該存在,如果您使用元素1創建一個請求,則元素2是必需的,元素3不應該存在。

我可以在此處使用選擇標記,但這意味着僅需要3個元素之一。 我需要一個選擇和依賴性。 因此,在元素1和元素3之間進行選擇,如果要傳遞元素1,則還需要元素2。

為了提供背景信息,當前該請求對象只有元素1和元素2,並且兩者都是必需的。 我在這里添加元素3。 我不想為(元素1和元素2)創建另一個復雜類型。 這是因為,此服務已在許多地方使用,並且我不得不在那些地方更改請求對象。

感謝您的幫助。

根據您的描述,看起來像這樣的復雜類型可以滿足您的要求:

<xs:complexType name="GetApplicationRequest">
 <xs:choice>
  <xs:sequence>
   <xs:element ref="name"/>
   <xs:element ref="dob"/>
  </xs:sequence>
  <xs:element ref="license_id"/>
 </xs:choice>
</xs:complexType>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM