2017-07-19 48 views
1

我試圖驗證此xsd文件,但同樣的錯誤不斷彈出: 異常:元素或屬性不匹配QName生產:QName: :=(的NCName ':')?NCName來。 假元素或屬性不匹配QName生產,xmlns:xs正確定義

這是XSD文件:

<?xml version="1.0" encoding="UTF-8"?> 

<xs:schema xmlns:xs ="http://www.w3.org/2001/XMLSchema"> 

<xs:element name="student"> 
<xs:complexType> 
<xs:sequence> 
<xs:element name="rollno" type="xs:int"/> 
<xs:element name="standard" type="xs:int"/> 
<xs:element name="section" type="xs:string"/> 
</xs:sequence> 
</xs:complexType> 
</xs:element> 

<xs:element name="staff"> 
<xs:complexType> 
<xs:sequence> 
<xs:element name="staffid" type="xs:int"/> 
<xs:element name="subject" type="xs:string"/> 
</xs:sequence> 
</xs:complexType> 
</xs:element> 
<xs: element name="persons"> 
<xs:complexType> 
<xs:sequence> 
<xs:element name="person" maxOccurs="unbounded"> 
<xs:complexType> 
<xs:sequence> 
<xs:element name="name" type="xs:string"/> 
<xs:element name="age" type="xs:int"/> 
<xs:element name="gender"> 
<xs:simpleType> 
<xs:restriction base="xs:string"> 
<xs:pattern value="M|F"/> 
</xs:restriction> 
</xs:simpleType> 
</xs:element> 
<xs:element name="address"> 
<xs:complexType> 
<xs:sequence> 
<xs:element name="doorno" type="xs:int"/> 
<xs:element name="street" type="xs:string"/> 
<xs:element name="city" type="xs:string"/> 
<xs:element name="state" type="xs:string"/> 
</xs:sequence> 
</xs:complexType> 
</xs:element> 
<xs:choice> 
<xs:element ref="student"/> 
<xs:element ref="staff"/> 
</xs:choice>   
</xs:sequence> 
</xs:complexType> 
</xs:element> 
</xs:sequence> 
</xs:complexType> 
</xs:element> 
</xs:schema> 

這是它的XML文件:

<?xml version="1.0" encoding="utf-8"?> 

<persons> 

    <person> 

     <name>Tom</name> 

     <age>11</age> 

     <gender>M</gender> 

     <address> 

      <doorno>27</doorno> 

      <street>Tony's road, koramangala</street> 

      <city>Bangalore</city> 

      <state>Karnataka</state> 

     </address> 

     <student> 

      <rollno>10</rollno> 

      <standard>6</standard> 

      <section>A</section> 

     </student> 

    </person> 

    <person> 

     <name>Shiny</name> 

     <age>12</age> 

     <gender>F</gender> 

     <address> 

      <doorno>10</doorno> 

      <street>Main Bazar, Madiwala</street> 

      <city>Bangalore</city> 

      <state>Karnataka</state> 

     </address> 

     <staff> 

      <staffid>123</staffid> 

      <subject>Maths</subject> 

     </staff> 

    </person> 

</persons> 

所有我見過提到的錯誤與的xmlns的其他問題: xs =行,但我想我已經正確定義了。任何關於如何解決這個問題的想法都會受到歡迎。謝謝!

+0

顯示哪些行號?這是關於XSD文件的錯誤消息還是嘗試使用XSD來驗證XML?你已經省略了很多必要的信息。 –

回答

0

變化

<xs: element name="persons"> 

<xs:element name="persons"> 

,然後你的XSD將得到很好的形成,併成功地驗證XML。

相關問題