Java 发现以元素开头的无效内容

Java 发现以元素开头的无效内容,java,xml,xsd,schema,Java,Xml,Xsd,Schema,我在编写xml和xsd时出错。 我写了students.xsd: <?xml version="1.0" encoding="UTF-8" ?> <xs:schema attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="students"&

我在编写xml和xsd时出错。 我写了students.xsd:

<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema attributeFormDefault="unqualified"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified">
    <xs:element name="students">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="student">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="name">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="firstName" type="xs:string"/>
                                        <xs:element name="lastName" type="xs:string"/>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="faculty">
                                <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                        <xs:enumeration value="fkp"/>
                                        <xs:enumeration value="fitu"/>
                                        <xs:enumeration value="fre"/>
                                        <xs:enumeration value="fksis"/>
                                        <xs:enumeration value="ftk"/>
                                        <xs:enumeration value="fnido"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                            <xs:element name="address">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="country">
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:minLength value="2"/>
                                                    <xs:maxLength value="20"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                        <xs:element name="city">
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:minLength value="2"/>
                                                    <xs:maxLength value="20"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                        <xs:element name="street">
                                            <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                    <xs:minLength value="2"/>
                                                    <xs:maxLength value="30"/>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="phone">
                                <xs:simpleType>
                                    <xs:restriction base="xs:positiveInteger">
                                        <xs:length value="6"/>
                                        <xs:pattern value="[0-9]"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                        </xs:sequence>
                        <xs:attribute name="id" type="xs:int" use="required"/>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

我有一个文件students.xml:

<?xml version="1.0" encoding="utf-8" ?>
<students xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:noNamespaceSchemaLocation="students.xsd">
    <student id="1">
        <name>
            <firstName>Ivan</firstName>
            <lastName>Ivanov</lastName>
        </name>
        <faculty>fksis</faculty>
        <address>
            <country>Belarus</country>
            <city>Minsk</city>
            <street>Rokossovskogo 24</street>
        </address>
        <phone>6677088</phone>
    </student>
    <student id="2">
        <name>
            <firstName>Petr</firstName>
            <lastName>Petrov</lastName>
        </name>
        <faculty>fre</faculty>
        <address>
            <country>Belarus</country>
            <city>Mogilev</city>
            <street>Leninskaya 25</street>
        </address>
        <phone>5467043</phone>
    </student>
</students>

伊凡
伊万诺夫
fksis
白俄罗斯
明斯克
Rokossovskogo 24
6677088
彼得
佩特罗夫
弗雷
白俄罗斯
莫吉列夫
列宁斯卡亚25
5467043
在students.xml中,我发现错误(发现以元素“student”开头的内容无效。此时不需要子元素。)部分:


彼得
佩特罗夫
弗雷
白俄罗斯
莫吉列夫
列宁斯卡亚25
5467043
问题是什么?如何更正此错误?
谢谢大家!

模式的设置方式默认为“学生”中只允许一个“学生”元素。如果需要一个或多个学生元素,则应将maxOccurs设置为unbounded

<xs:element name="student" maxOccurs="unbounded">

(如果省略,maxOccurs默认为1)

<xs:element name="student" maxOccurs="unbounded">