我正在为我们的 REST 服务消息编写 XSD,但遇到了一个问题。根据使用的 HTTP 动词,我们的消息具有不同的限制。
例如,使用 POST 或 PUT 发送的一条消息需要填充两个字段之一,因此我使用选择元素。但是,从 GET 请求返回的同一消息将填充 BOTH,这违反了选择限制。
有什么解决办法吗?下面的示例消息:
<xsd:complexType name="MyMessage">
<xsd:sequence>
<xsd:choice>
<xsd:group ref="GroupA" />
<xsd:group ref="GroupB" />
</xsd:choice>
<xsd:element name="SomeString" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>