- From: Pete Cordell <petexmldev@codalogic.com>
- Date: Tue, 12 Jul 2011 11:50:36 +0100
- To: "Avinash Nagabhushan" <avinash.sit@gmail.com>, <David.Hirtle@nrc-cnrc.gc.ca>, <xmlschema-dev@w3.org>
Hi Avinash, To do this you will need to break "Department" out into its own top-level element (or top-level complexType). For example: <xs:element name="Organization"> <xs:complexType> <xs:sequence> <xs:element ref="ns1:Department" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Department"> <xs:complexType> <xs:sequence> <xs:element name="Name"/> <xs:element name="TotalEmp"/> <xs:element ref="ns1:Department" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="num" type="xs:string"/> </xs:complexType> </xs:element> HTH, Pete Cordell Codalogic Ltd Interface XML to C++ the easy way using C++ XML data binding to convert XSD schemas to C++ classes. Visit http://codalogic.com/lmx/ or http://www.xml2cpp.com for more info ----- Original Message ----- From: "Avinash Nagabhushan" <avinash.sit@gmail.com> To: <David.Hirtle@nrc-cnrc.gc.ca>; <xmlschema-dev@w3.org> Sent: Tuesday, July 12, 2011 7:20 AM Subject: Self reference in an element Hi Sir, I am writing an schema for the following structure: Organization dept + @num name total_emp dept + where dept elements are nested within another dept element, but all departments are under organization. My Schema is: <xs:schema xmlns:ns1="VIPRE Anti-phishing found a known bad URL in your email message. It was deleted or quarantined, depending on your settings, and replaced with this message. The anti-phishing setting is located in File>Settings under the Email Protection tab." xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="VIPRE Anti-phishing found a known bad URL in your email message. It was deleted or quarantined, depending on your settings, and replaced with this message. The anti-phishing setting is located in File>Settings under the Email Protection tab."> <xs:element name="Organization"> <xs:complexType> <xs:sequence> <xs:element name="Department" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="Name"/> <xs:element name="TotalEmp"/> <xs:element ref="ns1:Department" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="num" type="xs:string"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> There is a validation error saying "ns1:Department" is not a QName and cannot find declaration for the same. Is there something wrong in my definition? Can you please let me know whether it is a correct approach or wrong? Thanks, Avinash K N
Received on Tuesday, 12 July 2011 10:51:08 UTC