我需要验证以下数组中的XML请求数据:
<studyYear></studyYear>
<orgID></orgID>
<originID></originID>
<providerID></providerID>
<userOID></userOID>
问题 - 我必须同时获得(orgID
)或(userOID
)或(originID
和providerID
)。 'studyYear'将永远存在。我怎么能实现它?如果需要更多信息,请写。我引用了这个link,以便尝试在xs:choice
内使用xs:all
,但无法使其正常工作。
答案 0 :(得分:1)
此XSD,
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="r">
<xs:complexType>
<xs:sequence>
<xs:element name="studyYear" type="xs:string"/>
<xs:choice>
<xs:element name="orgID" type="xs:string"/>
<xs:element name="userOID" type="xs:string"/>
<xs:sequence>
<xs:element name="orginID" type="xs:string"/>
<xs:element name="providerId" type="xs:string"/>
</xs:sequence>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
将需要studyYear
后面的一个案例,
orgID
或userOID
或originID
和providerID
按要求。