XSD error: Element is a simple type, so it must have no element information item [children]

XSD error: Element is a simple type, so it must have no element information item [children]

我正在研究一个非常基本的 XML 模式,我收到了

cvc-type.3.1.2: Element 'creator' is a simple type, so it must have no element information item [children]. [8]

当我尝试验证 XML 时

在 NetBeans 中。我正在关注 W3 学校教程,看来我的代码与他们的非常相似。当我将其声明为复杂时,我很困惑错误状态 creator 是如何成为简单类型的。我是否错误地将 creator 元素声明为复杂类型?

XML 文件:

<?xml version="1.0" encoding="UTF-8" ?>
<gallery
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="Proj1Schema.xsd">
    <creator>
        <name>John Doe</name>
    </creator>
</gallery>

架构:

<?xml version="1.0"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:tns="http://xml.netbeans.org/schema/gallery"
    elementFormDefault="qualified">

    <xs:element name="creator">
            <xs:complexType>
                <xs:sequence>
                    <xs:element name="name" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
    </xs:element>

    <xs:element name="gallery">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="creator" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

</xs:schema>

替换

            <xs:element name="creator" type="xs:string"/>

            <xs:element ref="creator"/>

gallery 的内容模型中重用 element 的全局声明。由于您有 XSD,gallery 中的 creator 只允许简单的 xs:string 内容,而您的 XML 具有复杂的内容,包括 [=17] =] 子元素.