ThePsion5 Posted June 14, 2006 Share Posted June 14, 2006 Hi guys,I'm new to XML, and trying make myself look cool by creating an online resume in XML. To this end, I've created the below schema to assist me with this. The problem is, when I try to validate the document, i'm told that i need to name the first "complexType" element, but when I do that, the validator tells me that the child elements I've declared are invalid...unfortunately, I've looked around and havn't found a good answer to this question...what am I doing wrong?I apolagize for the length of this code segment, by the way. <?xml version="1.0"?><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:complexType> <xsd:element name="category" type="xsd:string"/> <xsd:element name="type" type="xsd:string"/> <xsd:element name="description" type="xsd:string"/> <xsd:element name="accomplishment" type="xsd:string"/> <xsd:element name="class" type="xsd:string"/> <xsd:element name="link" type="xsd:urireference"/> <xsd:element name="role" type="xsd:string"/> <xsd:element name="Date" type="xsd:string"/> <xsd:element name="status" type="statusType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Development"/> <xsd:enumeration value="In Progress"/> <xsd:enumeration value="Complete"/> <xsd:enumeration value="Ongoing"/> </xsd:restriction> </xsd:element> <xsd:element name="skill"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xsd:name"/> <xsd:element ref="xsd:category"/> <xsd:element ref="xsd:link"/> <xsd:attribute ref="xsd:id"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="project"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xsd:name"/> <xsd:element ref="xsd:status"/> <xsd:element ref="xsd:description"/> <xsd:element ref="xsd:skill" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="coursework"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xsd:class"/> <xsd:element ref="xsd:description"/> <xsd:element ref="xsd:skill" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="job"> <xsd:complexType> <xsd:sequence> <xsd:element ref="name"/> <xsd:element ref="link" minOccurs="0"/> <xsd:element ref="role"/> <xsd:element ref="description"/> <xsd:element name="startDate" substitutionGroup="xsd:date"/> <xsd:element name="endDate" substitutionGroup="xsd:date"/> <xsd:element ref="project" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="school"> <xsd:complexType> <xsd:sequence> <xsd:element ref="name"/> <xsd:element ref="link"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:complexType></xsd:schema> Thanks in advance! Link to comment Share on other sites More sharing options...
kgw Posted June 16, 2006 Share Posted June 16, 2006 Hi,I've tried to fix some part of your codes but they still throw some errors. Below is the code that I've fixed. You can refer to the comments to see which part I've edited.For your question, you need to give a name to your complexType. <xsd:element name="myResume"><xsd:complexType>... <?xml version="1.0"?><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="myResume"> <!--added--> <xsd:complexType> <xsd:sequence> <!--added--> <xsd:element name="category" type="xsd:string"/> <xsd:element name="type" type="xsd:string"/> <xsd:element name="description" type="xsd:string"/> <xsd:element name="accomplishment" type="xsd:string"/> <xsd:element name="class" type="xsd:string"/> <xsd:element name="link" type="xsd:anyURI" /><!--xsd:urireference"/>--> <xsd:element name="role" type="xsd:string"/> <xsd:element name="Date" type="xsd:string"/> <xsd:element name="status"> <!-- type="statusType">--> <!--comment--> <xsd:simpleType> <!--added--> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Development"/> <xsd:enumeration value="In Progress"/> <xsd:enumeration value="Complete"/> <xsd:enumeration value="Ongoing"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="skill"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xsd:name"/> <xsd:element ref="xsd:category"/> <xsd:element ref="xsd:link"/> </xsd:sequence> <xsd:attribute ref="xsd:id"/> </xsd:complexType> </xsd:element> <xsd:element name="project"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xsd:name"/> <xsd:element ref="xsd:status"/> <xsd:element ref="xsd:description"/> <xsd:element ref="xsd:skill" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="coursework"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xsd:class"/> <xsd:element ref="xsd:description"/> <xsd:element ref="xsd:skill" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="job"> <xsd:complexType> <xsd:sequence> <xsd:element ref="name"/> <xsd:element ref="link" minOccurs="0"/> <xsd:element ref="role"/> <xsd:element ref="description"/> <xsd:element name="startDate"/> <!-- substitutionGroup="xsd:date"/>--> <!--commented--> <xsd:element name="endDate"/> <!-- substitutionGroup="xsd:date"/>--> <!--commented--> <xsd:element ref="project" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="school"> <xsd:complexType> <xsd:sequence> <xsd:element ref="name"/> <xsd:element ref="link"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> <!--added--> </xsd:complexType> </xsd:element> <!--added--></xsd:schema> Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now