在XML Schema中,如何定义呈现如下所示的ComplexType
?
<ValidationError code="X501">I love cats!</ValidationError>
如果我尝试以下操作,我的工具*会说它无效
<xsd:complexType name="ValidationErrorType">
<xsd:attribute name="code" type="xsd:string"></xsd:attribute>
<xsd:simpleContent>
<xsd:extension base="xs:string"/>
</xsd:simpleContent>
</xsd:complexType>
我使用的工具是用于可视化编辑的Altova XMLSpy和用于生成类的wsdl2java
更新:我尝试了another flavour
<xsd:complexType name="ValidationErrorType">
<xsd:simpleContent>
<xsd:extension base="xs:string">
<xsd:attribute name="code" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
Altova说Invalid XML schema: 'Value 'xs:string' is not allowed for attribute 'base'.'
答案 0 :(得分:2)
好的,我吸取了教训
simpleContent
,但必须出现在extension
xsd
前缀几乎是正确的正确的表格是
<xsd:complexType name="ValidationErrorType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="code" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>