XML验证中的s4s-elt-invalid-content.1

时间:2012-10-11 09:45:56

标签: xml eclipse validation xsd

我是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>

1 个答案:

答案 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>