XSD 有选择的模式
XSD schema with choice
我需要验证以下数组中的 XML 请求数据:
<studyYear></studyYear>
<orgID></orgID>
<originID></originID>
<providerID></providerID>
<userOID></userOID>
问题 - 我必须将 (orgID
) 或 (userOID
) 或 (originID
和 providerID
) 放在一起。 'studyYear' 永远都在。我怎样才能实现它?如果需要更多信息,请写信。我引用了此 link 以尝试在 xs:all
中使用 xs:choice
但无法使其正常工作。
这个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
根据要求。
我需要验证以下数组中的 XML 请求数据:
<studyYear></studyYear>
<orgID></orgID>
<originID></originID>
<providerID></providerID>
<userOID></userOID>
问题 - 我必须将 (orgID
) 或 (userOID
) 或 (originID
和 providerID
) 放在一起。 'studyYear' 永远都在。我怎样才能实现它?如果需要更多信息,请写信。我引用了此 link 以尝试在 xs:all
中使用 xs:choice
但无法使其正常工作。
这个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
根据要求。