我的XML Schema中有以下内容:
<xsd:simpleType name="DECIMAL_TYPE">
<xsd:restriction base="xsd:double">
<xsd:minInclusive value="-100000"/>
<xsd:maxInclusive value="100000"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ANGLE_VALUE_TYPE">
<xsd:restriction base="DECIMAL_TYPE">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="360"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="ANGLE_TYPE">
<xsd:simpleContent>
<xsd:extension base="ANGLE_VALUE_TYPE">
<xsd:attribute name="UNITS" type="xsd:string" fixed="degrees"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="SPECIAL_ANGLE_TYPE">
<xsd:simpleContent>
<xsd:restriction base="ANGLE_TYPE">
<xsd:maxInclusive value="90" /> <!-- The source of the problem -->
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
此模式用于我正在使用的WSDL作为新SoapUI项目的基础。但是,当我尝试导入项目时,SoapUI会出现此错误:
- 您尝试导入的WSDL有问题:
- 来源:null
- 错误:必须小于或等于之前的maxInclusive
如果我将问题行中的“90”更改为“360”,则会出现相同的错误。
如果我删除带注释的行(“问题的根源”),那么SoapUI就可以很好地导入WSDL了。模式在Eclipse中成功验证,并且WSDL2Java在其上运行正常。
我的架构有什么问题,如果有的话,我需要做什么才能将它导入SoapUI?谢谢!
答案 0 :(得分:0)
我想知道你的问题是否与ANGLE_TYPE将ANGLE_BASE_TYPE命名为其基类型这一事实有关,但你的架构片段没有这种类型的声明。
当我将声明更改为名称ANGLE_VALUE_TYPE时,Saxon和Xerces都告诉我架构文档是有效的,并且一旦使用某些元素声明进行扩充,它似乎表现得很好。