Xml XSD错误:元素是简单类型,因此它必须没有元素信息项[子项]

Xml XSD错误:元素是简单类型,因此它必须没有元素信息项[子项],xml,xsd,xsd-validation,xml-validation,Xml,Xsd,Xsd Validation,Xml Validation,我正在研究一个非常基本的XML模式,我收到了 cvc类型。3.1.2:元素“creator”是一个简单类型,因此它必须没有 元素信息项[子项]。[8] 在NetBeans中,当我尝试验证XML时。我正在学习W3学校的教程,我的代码似乎与他们的非常相似。当我将creator声明为complex时,我对它是一个简单类型的错误状态感到困惑。我是否错误地将creator元素声明为复杂类型 XML文档: <?xml version="1.0" encoding="UTF-8" ?> <g

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

cvc类型。3.1.2:元素“creator”是一个简单类型,因此它必须没有 元素信息项[子项]。[8]

在NetBeans中,当我尝试验证XML时。我正在学习W3学校的教程,我的代码似乎与他们的非常相似。当我将creator声明为complex时,我对它是一个简单类型的错误状态感到困惑。我是否错误地将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>

无名氏
模式:

<?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"/>



的内容模型中重用
元素
的全局声明。正如您使用的XSD一样,
gallery
中的
creator
只允许简单的
xs:string
内容,这与包含复杂内容(包括
名称
子元素)的XML相反。

您已经向我说明了这一点。感谢您分享您的知识!:)