我有一个 REST XML 响应,其中包含如下数据块:
<tag>
<total-pages type="integer">5</total-pages>
<previous-page nil="true"></previous-page>
<next-page nil="true"></next-page>
<offset type="integer">5</offset>
</tag>
现在,有时数据可以像这样返回:
<tag>
<total-pages type="integer">5</total-pages>
<previous-page type="integer">0</previous-page>
<next-page type="integer">1</next-page>
<offset type="integer">5</offset>
</tag>
我一直在尝试提出一个 XSD 模式结构,该结构将解释 JAXB 可以接受的两种可能性。
我努力了:
<tag>
<total-pages type="numeric-type" />
<previous-page type="numeric-type" />
<next-page type="numeric-type" />
<offset type="numeric-type" />
</tag>
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:integer">
<xsd:attribute type="xsd:string" name="type" use="optional">
<xsd:attribute type="xsd:boolean" name="nil" use="optional">
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
但 JAXB 因解组错误而崩溃。
关于我可以使用什么 XSD 模式结构来解释返回 XML 的可变性的想法(我无法更改 XML,它来自我无法控制的第三方)。
谢谢,
佩里