xml、xsd验证问题

xml、xsd验证问题,xml,xsd,Xml,Xsd,当我在使用验证程序时,我试图弄清楚这个错误的含义。这就是我从验证器收到的错误 s4s-elt-must-match.1: The content of 'orders' must match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*)). A problem was found starting at: element. 这个错误消息对我有什么影响 这是我的xsd文件 <?x

当我在使用验证程序时,我试图弄清楚这个错误的含义。这就是我从验证器收到的错误

s4s-elt-must-match.1: The content of 'orders' must match (annotation?, (simpleType | 
    complexType)?, (unique | key | keyref)*)). 
    A problem was found starting at: element.
这个错误消息对我有什么影响

这是我的xsd文件

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="orders">
 <xs:element name ="order" maxOccurs="unbounded">
  <xs:complexType>
   <xs:sequence>  
    <xs:element name="case" type="xs:caseColor" >
      <xs:simpleType name="caseColor">
        <xs:restriction base="string">
            <xs:enumeration value="Lemonde" />
            <xs:enumeration value="Strawberry" />
            <xs:enumeration value="Lime" />
            <xs:enumeration value="Blueberry" />
        </xs:restriction> 
      </xs:simpleType>
    </xs:element>
    <xs:element name="batteries" type="xs:numOfBat" default = 
"1"> 
      <xs:simpleType name="numOfBat">
        <xs:restriction base="integer">
            <xs:enumeration value="1" />
            <xs:enumeration value="2" />
            <xs:enumeration value="3" />
            <xs:enumeration value="4" />
        </xs:restriction> 
      </xs:simpleType>
    </xs:element>
    <xs:element name="recharger" type="xs:volt"> 
    <xs:simpleType name="volt">
        <xs:restriction base="string">
            <xs:enumeration value="110-120" />
            <xs:enumeration value="220-240" />
        </xs:restriction> 
    </xs:simpleType>
    </xs:element>
    <xs:element name="arm"> 
       <xs:element name ="reaches" minOccurs="2" maxOccurs="3" 
type="xs:reach">
         <xs:simpleType name="reach">
            <xs:restriction base = "integer">
              <xs:enumeration value = "50" />
              <xs:enumeration value = "75" /> 
              <xs:enumeration value = "100" />
             </xs:restriction>
     </xs:simpleType>
    </xs:element>
   </xs:element>
    <xs:element name ="camera" type="numOfCam"> 
      <xs:simpleType name="numOfCam">
        <xs:restriction base="string">
            <xs:enumeration value="1" />
            <xs:enumeration value="2" />
        </xs:restriction> 
      </xs:simpleType>
    </xs:element>
    <xs:element name = "speech" type="xs:language">
      <xs:simpleType name = "language">
        <xs:restriction base = "string">
            <xs:enumeration value = "Spanish" />
            <xs:enumeration value = "Chinese" />
            <xs:enumeration value = "English" />
            <xs:enumeration value = "German" />
            <xs:enumeration value = "French" />
         </xs:restriction>
       </xs:simpleType>
    </xs:element>
   </xs:sequence>
  </xs:complexType>
 </xs:element>
</xs:element>
</xs:schema>

这是我的xml文件

<?xml version="1.0" encoding="UTF-8"?>
<orders>
  <order>
    <case> Strawberry </case>
    <batteries> 2 </batteries>
    <recharger> 110-120 V </recharger>
    <arm> 2 
       <length> 50 </length>
       <length> 100 </length>
    </arm>
    <camera> 2 </camera>
    <speech> Spanish </speech>
  </order>
  <order>
    <case> Lime </case>
    <batteries> 4 </batteries>
    <recharger> 220-240 V </recharger>
    <arm> 3 
       <length> 75 </length>
       <length> 75 </length>
       <length> 100 </length>
    </arm>
    <camera> 1 </camera>
    <speech> Chinese </speech>
  </order>
  <order>
    <case> Blueberry </case>
    <batteries> 1 </batteries>
    <recharger> 110-120 V </recharger>
    <arm> 2 
       <length> 75 </length>
       <length> 100 </length>
    </arm>
    <camera> 2 </camera>
    <speech> French </speech>
  </order>
</orders>

草莓的
2.
110-120伏
2.
50
100
2.
西班牙的
石灰
4.
220-240伏
3.
75
75
100
1.
中国人
蓝莓
1.
110-120伏
2.
75
100
2.
法语

有多个错误,我已修复了所有错误,请参阅下面改进的代码:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="orders">
    <xs:complexType>
      <xs:sequence>
    <xs:element name ="order" maxOccurs="unbounded">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="case">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="Lemonde" />
                <xs:enumeration value="Strawberry" />
                <xs:enumeration value="Lime" />
                <xs:enumeration value="Blueberry" />
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
          <xs:element name="batteries" default = 
"1">
            <xs:simpleType>
              <xs:restriction base="xs:integer">
                <xs:enumeration value="1" />
                <xs:enumeration value="2" />
                <xs:enumeration value="3" />
                <xs:enumeration value="4" />
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
          <xs:element name="recharger">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="110-120" />
                <xs:enumeration value="220-240" />
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
          <xs:element name="arm">
            <xs:complexType>
              <xs:sequence>
            <xs:element name ="reaches" minOccurs="2" maxOccurs="3">
              <xs:simpleType>
                <xs:restriction base = "xs:integer">
                  <xs:enumeration value = "50" />
                  <xs:enumeration value = "75" />
                  <xs:enumeration value = "100" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
                </xs:sequence>
                  </xs:complexType>
          </xs:element>
          <xs:element name ="camera">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="1" />
                <xs:enumeration value="2" />
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
          <xs:element name = "speech">
            <xs:simpleType>
              <xs:restriction base = "xs:string">
                <xs:enumeration value = "Spanish" />
                <xs:enumeration value = "Chinese" />
                <xs:enumeration value = "English" />
                <xs:enumeration value = "German" />
                <xs:enumeration value = "French" />
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
    </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

有多个错误,我已修复了所有错误,请参阅下面改进的代码:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="orders">
    <xs:complexType>
      <xs:sequence>
    <xs:element name ="order" maxOccurs="unbounded">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="case">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="Lemonde" />
                <xs:enumeration value="Strawberry" />
                <xs:enumeration value="Lime" />
                <xs:enumeration value="Blueberry" />
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
          <xs:element name="batteries" default = 
"1">
            <xs:simpleType>
              <xs:restriction base="xs:integer">
                <xs:enumeration value="1" />
                <xs:enumeration value="2" />
                <xs:enumeration value="3" />
                <xs:enumeration value="4" />
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
          <xs:element name="recharger">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="110-120" />
                <xs:enumeration value="220-240" />
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
          <xs:element name="arm">
            <xs:complexType>
              <xs:sequence>
            <xs:element name ="reaches" minOccurs="2" maxOccurs="3">
              <xs:simpleType>
                <xs:restriction base = "xs:integer">
                  <xs:enumeration value = "50" />
                  <xs:enumeration value = "75" />
                  <xs:enumeration value = "100" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
                </xs:sequence>
                  </xs:complexType>
          </xs:element>
          <xs:element name ="camera">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="1" />
                <xs:enumeration value="2" />
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
          <xs:element name = "speech">
            <xs:simpleType>
              <xs:restriction base = "xs:string">
                <xs:enumeration value = "Spanish" />
                <xs:enumeration value = "Chinese" />
                <xs:enumeration value = "English" />
                <xs:enumeration value = "German" />
                <xs:enumeration value = "French" />
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
    </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>


我试着用xml文件验证这一点,但我收到了大量关于xml的错误,我想您指的是您提供的xml!它没有给我任何错误!这怎么可能呢??它应该有用!!你在使用什么验证器(XML解析器)?我收回我的话,它也会在我的验证器上抛出错误。。问题是XML中的数据存在不需要的空格和标记..我不确定您使用不需要的空格和标记做了什么..我尝试根据我的XML文件验证这一点,我收到了大量错误使用我的XML,我想您指的是您提供的XML!它没有给我任何错误!这怎么可能呢??它应该有用!!你在使用什么验证器(XML解析器)?我收回我的话,它也会在我的验证器上抛出错误。。问题在于XML中的数据存在不需要的空格和标记。我不确定不需要的空格和标记是什么意思