Re: Self reference in an element
"Pete Cordell" <[email protected]>
| Newsgroups | gmane.text.xml.schema.devel |
|---|---|
| Message-ID | <4501B2EF6E8C4DD1AC125FA0B1DB8C7F@codalogic> |
Hi Avinash, I afraid there is no way to refer to an Local 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" <[email protected]> To: "Pete Cordell" <[email protected]> Cc: <[email protected]>; <[email protected]> Sent: Tuesday, July 12, 2011 11:57 AM Subject: Re: Self reference in an element Hi Pete, Thanks a lot for the clarification :) I was wordering if there was a way to refer to an Local element or an "Anonymous Type Definitions". Thanks a lot for the clarification :) Thanks and Regards, Avinash K N On Tue, Jul 12, 2011 at 4:20 PM, Pete Cordell <[email protected]> wrote: > 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" > <[email protected]> > To: <[email protected]>; <[email protected]> > 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 > > > >