【问题标题】:s4s-elt-invalid-content.1 in XML ValidationXML 验证中的 s4s-elt-invalid-content.1
【发布时间】:2012-10-11 09:45:56
【问题描述】:

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

【问题讨论】:

    标签: xml eclipse validation xsd


    【解决方案1】:

    复杂类型的内容模型必须包含“注释”(如果存在);后跟零或以下之一:“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>
    

    【讨论】:

    • 我也试过了。仍然验证失败。这是我原来的 xsd snipurl.com/25argbz
    • XSD 验证失败,正如我之前提到的。你想要 .xml 一样吗?
    • 好的,如果您不想公开,可以删除链接。因此,您必须删除@line 1464(可能因您的格式而异)&lt;conditions when="PREACTIVATION_Enabled_CheckedandNotCREATE" enabled="false"/&gt; ,因为它是第 5 个,XSD 最多允许 4 个。然后再次@line 1564 &lt;conditions when="PREACTIVATION_Enabled_CheckedandNotCREATE" enabled="false"/&gt; 。那么&lt;attribute name="Reset password Call Barring" xsi:type="tns:Check_String" nillable="true" vdsl2Name="PSWD"&gt;这一行真的是关于This is an invalid xsi:type 'CFSConfig:Check_String'
    • (续)在您发布的 XSD 中没有 Check_String 全局类型。因此,您要么必须创建一个从 simpleAttributeType 扩展的新值,要么将值更改为正确的值。
    • 这里是 xsd snipurl.com/25b5gr0 能否请您上传更正后的一个(xsd 和 xml)
    猜你喜欢
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多