cvc-complex-type.2.4.a:具有子元素和属性的复杂类型[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cvc-complex-type.2.4.a:具有子元素和属性的复杂类型[重复]相关的知识,希望对你有一定的参考价值。

我尝试为我的xml文件定义一些xsd架构。

xml结构就像

<?xml version="1.0" encoding="UTF-8"?>
<product name="abc" xmlns="http://example.org/productMetadata.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://example.org/productMetadata.xsd productMetadata.xsd">
    <metainf />
</product>

(带有一些已定义属性“name”的根标​​记和一些嵌套标记,如示例“metainf”中所示)

我定义xsd的方法看起来像

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://example.org/productMetadata.xsd" xmlns="http://example.org/productMetadata.xsd">

    <xsd:element name="product">
        <xsd:complexType>
            <xsd:all>
                <xsd:element type="xsd:string" name="metainf" />
            </xsd:all>
            <xsd:attribute type="xsd:string" name="name" />
        </xsd:complexType>
    </xsd:element>

</xsd:schema>

然而,我无法针对xsd验证xml。

根据验证器(我使用java,web-app和eclipse),我收到以下失败消息。

找到以元素'metainf'开头的无效内容。其中一个'{metainf}'是预料之中的。

要么

Cvc-complex-type.2.4.a:从元素'metainf'开始发现无效内容。其中一个'{metainf}'是预期的,'第5行',第13列。

任何人提示,我的xsd或xml有什么问题。

答案

只需在elementFormDefault="qualified"声明中添加xsd:schema,如下所示:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified"
    targetNamespace="http://example.org/productMetadata.xsd" xmlns="http://example.org/productMetadata.xsd">

根据elementFormDefault属性的文档:

在此架构的目标命名空间中声明的元素的表单。该值必须为“合格”或“不合格”。默认为“不合格”。

  • “unqualified”表示目标名称空间中的元素不需要使用名称空间前缀进行限定。
  • “qualified”表示必须使用名称空间前缀限定目标名称空间中的元素。

以上是关于cvc-complex-type.2.4.a:具有子元素和属性的复杂类型[重复]的主要内容,如果未能解决你的问题,请参考以下文章

无效的 ReportDefinition Xml:cvc-complex-type.2.4.a:发现以元素“运算符”开头的无效内容

weblogic.xml 中的错误:cvc-complex-type.2.4.a:发现以元素“prefer-application-packages”开头的无效内容

cvc-complex-type.2.4.a: Invalid content was found starting with element

cvc-complex-type.2.4.a: Invalid content was found starting with element 错误

解决cvc-complex-type.2.4.a: Invalid content was found starting with element

org.activiti.bpmn.exceptions.XMLException: cvc-complex-type.2.4.a: 发现了以元素 ‘outgoing‘ 开头的无效内容