Hi Werner

Yes, i tried that approach, but couldnt get over the issues with the
XSD. 

i created this binding file as you suggested to differentiate complex
type from element type and i got the same error, am sure it is reading
the binding file, but not sure if i my intentions in that file are
imposed.

Warning: A class name generation conflict has occured between
complexType 'Instances' and element 'Instances'. Please use a Binding
file to solve this problem.Continue anyway [not recommended] (y|n|?)

<binding>
     <namingXML>
              <complexTypeName suffix = "Suggestion"/>        
     </namingXML>
</binding>

Source code is as below

import java.io.IOException;
import org.exolab.castor.builder.FieldInfoFactory;
import org.exolab.castor.builder.SourceGenerator;


public class SchemaToSource {

        public static void main(String[] args) {

                SourceGenerator srcGen = new SourceGenerator(

                                new FieldInfoFactory("arraylist"));
                srcGen.setDestDir("C:\\MiniMe\\OffCode\\Summa");

                try {
        
srcGen.setBinding("C:\\MiniMe\\OffCode\\Summa\\com\\cisco\\rnoc\\infovis
ta\\design\\Xmls\\Binder.xml");
                        
        
srcGen.generateSource("C:\\MiniMe\\OffCode\\Summa\\com\\cisco\\rnoc\\inf
ovista\\design\\Xmls\\NewAD.xsd",
"com.cisco.rnoc.infovista.design.topology");
                } catch (IOException e) {

                        e.printStackTrace();
                }

        }

}


 

-----Original Message-----
From: Werner Guttmann [mailto:[EMAIL PROTECTED] 
Sent: Friday, February 29, 2008 5:28 PM
To: dev@castor.codehaus.org
Subject: Re: [castor-dev] RE: Class name Conflicts.

Hi Vinodh,

in my view, you should be using a binding file (you will find an example
o its usage at http://castor.org/srcgen-example.html).

In your particular case, it should be sufficient to instruct the Castor
XML generator to append a suffix of your choice to all classes generated
from (complex) type definitions.

In other words, include a

<namingXML>

directive and specify a suffix for type names, as documented at

http://castor.org/srcgen-binding.html#%3CnamingXML%3E-element

Regards
Werner

Vinodh Rajaraman (vrajaram) wrote:
>  
> Am very sorry, i sent the mail by mistake, sans my queries. How can i 
> possibly create Classes without these conflicts.
>  
> 1. Was my approach of changing the type to a unique name partly right?

> or is there a better method where Castor can generate without 
> conflicts 2. Am using "ArrayList" as FieldInfoFactory for all 
> collections. I expect Castor to generate "Instance" within "Instance"
as ArrayList.
> However this is where the conflict is and am unable to proceed.
> 3. Should i be using a Binding file to resolve this? Will that help?
>  
> any pointers and help would be much appreciated.
>  
> Regards
> Vinodh
>  
> 
>  
> ----------------------------------------------------------------------
> --
> *From:* Vinodh Rajaraman (vrajaram)
> *Sent:* Thursday, February 28, 2008 9:44 AM
> *To:* 'dev@castor.codehaus.org'
> *Subject:* Class name Conflicts.
> 
>  
> Hi All
>  
> I am using Castor Source Generator with the attached XSD, and am 
> getting lot of "Class name Conflicts", and for almost all elements, am

> bound to get similar errors. Because, they have defined the XSD that 
> way, where a complex type is of the same type.
> *<xs:element name="Instances" type="Instances" minOccurs="0"/>*
> **
> 
> *Warning: A class name generation conflict has occured between 
> complexType 'Instances' and element 'Instances'. Please use a Binding 
> file to solve this problem.Continue anyway [not recommended] (y|n|?)*
> 
> To an extent, i overcame these errors by changing the type to 
> InstancesType so that it doesnt confuse between element and type. I 
> did this for all the elements and types that had conflicts.
> 
> *<xs:element name="Instances" type="InstancesType" minOccurs="0"/>*
> 
>  
> *However, the one complex type that gives issues is as below. The 
> element Instance of Instance type, can contain 0 or more Instance of 
> the same type, Now going by my idea of changing only the types to 
> avoid conflicts, if i change to*
> **
> 
> <xs:element name="*Instance*" type="*InstanceType*" minOccurs="0" 
> maxOccurs="unbounded"/>
> 
> SrcGen complains of Class conflict again.
> 
>  
> 
> <xs:complexType name="*Instance*">
> 
> <xs:sequence>
> 
> <xs:element name="Description" type="xs:string" minOccurs="0"/>
> 
> <xs:element name="Vista" type="VistaDefinitionType" minOccurs="0" 
> maxOccurs="unbounded"/>
> 
> <xs:element name="Location" type="Location" minOccurs="0" 
> maxOccurs="1"/>
> 
> <xs:element name="PropertyValue" type="PropertyValue" minOccurs="0" 
> maxOccurs="unbounded"/>
> 
> <xs:choice minOccurs="0">
> 
> <xs:element name="Basic" type="BasicReferenceType" minOccurs="0"/>
> 
> <xs:sequence>
> 
> <xs:element name="*Instance*" type="*Instance*" minOccurs="0" 
> maxOccurs="unbounded"/> *---Changing this line above*
> 
> </xs:sequence>
> 
> </xs:choice>
> 
> </xs:sequence>
> 
> <xs:attribute name="Name" type="xs:string" use="optional"/>
> 
> <xs:attribute name="Tag" type="xs:string" use="required"/>
> 
> <xs:attribute name="VistaName" type="xs:string" use="optional"/>
> 
> <xs:attribute name="VistaWid" type="xs:string" use="optional"/>
> 
> </xs:complexType>
> 

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Attachment: NewAD.xsd
Description: NewAD.xsd

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to