0

我是 XML 的新手。

我正在验证一个 XML/XSD 文件。但是 Eclipse 抛出低于验证错误

s4s-elt-invalid-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>
4

1 回答 1

2

复杂类型的内容模型必须包含“注释”(如果存在);后跟零或以下之一:“simpleContent”、“complexContent”、“group”、“choice”、“sequence”或“all”;后跟零个或多个“属性”或“属性组”;后跟零个或一个“anyAttribute”。

在这里你展示了两个 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>
于 2012-10-11T16:27:35.290 回答