我是XML的新手。
我正在验证一个XML / XSD文件。但Eclipse正在抛出验证错误
S4S-ELT-无效-content.1
以下是在XSD中遇到问题的代码。
<complexType name="Check_String">
<complexContent >
<extension base="tns:Boolean"/>
</complexContent>
<complexContent >
<extension base="tns:String"/>
</complexContent>
</complexType>
我不知道如何解决这个问题。可以任何人解释为什么这个错误和解决方法。 因为这种XML验证失败
<attribute name="Reset password Call Barring" xsi:type="tns:Check_String" nillable="true" vdsl2Name="PSWD">
<conditions when="BADPAYER_DisableAllForPSTN" enabled="false"/>
</attribute>
答案 0 :(得分:2)
复杂类型的内容模型必须包含&#39;注释&#39; (如果有的话);接着是零或以下之一:&#39; simpleContent&#39;,&#39; complexContent&#39;,&#39; group&#39;,&#39; choice&#39;,&#39; sequence& #39;或者&#39;所有&#39 ;;然后是零或更多属性&#39;或者&#39; attributeGroup&#39 ;;然后是零或一个&#39; anyAttribute&#39;。
此处您正在显示两个 complexContent
。
我认为在您的情况下,默认命名空间是 http://www.w3.org/2001/XMLSchema
很难说你想要实现的目标;如果这些是简单的类型,那么也许工会可能会帮助你,如果你试图继续允许这两种类型......
更新:这是一个联盟的例子:
<?xml version="1.0" encoding="utf-8" ?>
<!--XML Schema generated by QTAssistant/XML Schema Refactoring (XSR) Module (http://www.paschidev.com)-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:simpleType name="Boolean">
<xsd:restriction base="xsd:boolean"/>
</xsd:simpleType>
<xsd:simpleType name="String">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="some"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="Check_String">
<xsd:union memberTypes="Boolean String"/>
</xsd:simpleType>
<xsd:element name="root" type="Check_String"/>
</xsd:schema>