我正在尝试验证此xsd文件,但同样的错误会不断弹出: 异常:元素或属性与QName生成不匹配:QName :: =(NCName':')?NCName。 假
这是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 = line的错误,但我认为我已经正确定义了。关于如何解决这个问题的任何想法都会受到欢迎。谢谢!
答案 0 :(得分:0)
更改
<xs: element name="persons">
到
<xs:element name="persons">
然后您的XSD将格式正确并将成功验证您的XML。