[英]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.