java - cvc-elt.1.a: Cannot find the declaration of element 'people' -


i trying validate xml document using xsd. have tried providing namespaces everything, including default. however, error persists. if please tell me going wrong highly appreciated

    <?xml version="1.0" encoding="utf-8" ?>     <!-- <!doctype people system "validator.dtd"> -->      <people      xmlns:cmuq="http://www.cmu.edu/ns/students"     xmlns="http://www.cmu.edy/ns/blank"     xmlns:xsi="http://www.w3c.org/2001/xmlschema-instance"     xsi:schemalocation="student.xsd"     >         <cmuq:student>             <name>john</name>             <course>computer technology</course>             <semester>6</semester>             <scheme>e</scheme>         </cmuq:student>          <cmuq:student>             <name>foo</name>             <course>industrial electronics</course>             <semester>6</semester>             <scheme>e</scheme>         </cmuq:student>     </people>    

xsd

<?xml version="1.0"?>  <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns="http://www.cmu.edu/ns/blank" targetnamespace="http://www.cmu.edu/ns/students">     <xs:element name="people">         <xs:complextype>             <xs:sequence>                 <xs:element name="student" maxoccurs="unbounded">                     <xs:complextype>                         <xs:sequence>                             <xs:element name="name" type="xs:string" />                             <xs:element name="course" type="xs:string" />                             <xs:element name="semester">                                 <xs:simpletype>                                     <xs:restriction base="xs:string">                                         <xs:enumeration value="1" />                                         <xs:enumeration value="2" />                                         <xs:enumeration value="3" />                                         <xs:enumeration value="4" />                                         <xs:enumeration value="5" />                                         <xs:enumeration value="6" />                                     </xs:restriction>                                 </xs:simpletype>                             </xs:element>                             <xs:element name="scheme">                                 <xs:simpletype>                                     <xs:restriction base="xs:string">                                         <xs:pattern value = "e|c" />                                     </xs:restriction>                                 </xs:simpletype>                             </xs:element>                         </xs:sequence>                     </xs:complextype>                 </xs:element>             </xs:sequence>         </xs:complextype>     </xs:element> </xs:schema>   

please tell me how solve error


update after ian roberts' answer

the xsd <schema> tag:

  <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"     xmlns="http://www.cmu.edu/ns/blank"     targetnamespace="http://www.cmu.edu/ns/blank"     elementformdefault="qualified">  

the root of xml, <people> tag.

 <people     xmlns="http://www.cmu.edu/ns/blank"     xmlns:xsi="http://www.w3c.org/2001/xmlschema-instance"     xsi:schemalocation="http://www.cmu.edu/ns/blank student.xsd">   

it still not validate. have, now, dropped idea of adding xmlns:cmuq problem persists. >

the schema have there declares people element in http://www.cmu.edu/ns/students namespace (the target namespace of schema) , nested elements in no namespace (because don't use elementformdefault). needs be

<cmuq:people   xmlns:cmuq="http://www.cmu.edu/ns/students"   xmlns:xsi="http://www.w3c.org/2001/xmlschema-instance"   xsi:schemalocation="http://www.cmu.edu/ns/students student.xsd" >     <student> 

note xsi:schemalocation needs list of namespaceuri schema pairs, not single schema address - attribute can associate different schema each namespace.


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -