我想知道什么是定义为XSD simpleType的XSD属性的类型,因此下面的模式失败验证。请在此处获取一个战利品,架构验证工具在“*”划分区域抛出错误,说基本属性类型未正确导出。不确定这是否是正确的结构来定义...我没有业务模型aroud这个,我只想尝试在这里使用不同的限制和扩展选项..
<xsd:complexType name="comptype_simplecontent">
<xsd:simpleContent>
<xsd:restriction base="AAA">
<xsd:attribute name="aaa_attr" *type="xsd:anySimpleType"*></xsd:attribute>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="AAA" block="extension">
<xsd:simpleContent>
<xsd:extension base="xsd:integer">
<xsd:attribute name="aaa_attr">
<xsd:simpleType>
<xsd:restriction base="xsd:decimal">
<xsd:minExclusive value="90"></xsd:minExclusive>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
答案 0 :(得分:1)
AAA定义具有整数内容和十进制属性的复杂类型;一个例子可能是
<X aaa_attr="93.7">5</X>
您将comptype_simplecontent定义为对此的限制,这意味着它允许的元素必须是AAA允许的元素的子集。但是在您的限制中,您可以说它可以取任何值(anySimpleType),而不是缩小属性中允许的值范围。这是不允许的;受限制的类型不允许其基本类型不允许的内容。