Re: [castor-dev] Source Generator - Advice/help? please
Keith, That was it. I had sort of pasted in the line: http://www.castor.org/SourceGenerator/Binding"; defaultBindingType="element"> In my binding file, and didn't notice it. Thank you very much for your help. I am sorry I didn't catch that and had you spend time looking into it. I do appreciate your help. Thanks to everybody. I will now go back and reapply this to the supersized schema I've been working on. Much appreciated. -paul -Original Message- From: Keith Visco [mailto:[EMAIL PROTECTED] Sent: Friday, January 28, 2005 3:16 PM To: castor-dev@exolab.org Subject: Re: [castor-dev] Source Generator - Advice/help? please Hi Paul, See inline... Paul Grillo wrote: > Keith, > > I've tried this several times. I don't see a difference. > Builder properties file has: > org.exolab.castor.builder.javaclassmapping=type > > The following class files are always built. I've checked and rechecked. > The builder file is being picked up. > > VehicleTitle, VehicleTitleDescriptor (top level element?) ok > Yep, ok... > Owner,OwnerDescriptor (2nd level element) don't want this, it's a > Party Registrant, RegistrantDescriptor (2nd level element) don't want > this, it's a Party > That shouldn't happen with the "type" approach, so somehow Castor is not using the "type" approach (see below) > Party, PartyDescripter (ComplexType) ok Lien,LienDescriptor > (ComplexType) ok > > Lienholder, LienholderDescriptor (2nd level element) don't want this, > it's a Party > > Owner, Registrant, Lienholder are all derived from Party, so > technically it is correct. But of course I'd like to be able to > assign the same Party as both the owner and registrant, and this is not possible. > > This scenario appears fairly common (to me I guess). Is there > something I can do in the binding file to help this? Oh, you're using a binding file? In the binding file you might be overriding the "type" centric approach. The binding file has precendence over the castorbuilder.properties. Check your binding file for the following attribute (it'll be on the top binding element): defaultBindingType='element' If you have that, then you're overriding the type-centric approach, either remove that or change it to 'type'. If you're not using a binding file already, then there may be a bug in the "default" internal binding logic that is overriding the 'type' approach. Try using a bindig file with defaultBindingType='type'. Let me know so I know if I need to look into this further. Thanks, --Keith --- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev --- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev
Re: [castor-dev] Source Generator - Advice/help? please
Hi Paul, See inline... Paul Grillo wrote: Keith, I've tried this several times. I don't see a difference. Builder properties file has: org.exolab.castor.builder.javaclassmapping=type The following class files are always built. I've checked and rechecked. The builder file is being picked up. VehicleTitle, VehicleTitleDescriptor (top level element?) ok Yep, ok... Owner,OwnerDescriptor (2nd level element) don't want this, it's a Party Registrant, RegistrantDescriptor (2nd level element) don't want this, it's a Party That shouldn't happen with the "type" approach, so somehow Castor is not using the "type" approach (see below) Party, PartyDescripter (ComplexType) ok Lien,LienDescriptor (ComplexType) ok Lienholder, LienholderDescriptor (2nd level element) don't want this, it's a Party Owner, Registrant, Lienholder are all derived from Party, so technically it is correct. But of course I'd like to be able to assign the same Party as both the owner and registrant, and this is not possible. This scenario appears fairly common (to me I guess). Is there something I can do in the binding file to help this? Oh, you're using a binding file? In the binding file you might be overriding the "type" centric approach. The binding file has precendence over the castorbuilder.properties. Check your binding file for the following attribute (it'll be on the top binding element): defaultBindingType='element' If you have that, then you're overriding the type-centric approach, either remove that or change it to 'type'. If you're not using a binding file already, then there may be a bug in the "default" internal binding logic that is overriding the 'type' approach. Try using a bindig file with defaultBindingType='type'. Let me know so I know if I need to look into this further. Thanks, --Keith --- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev
Re: [castor-dev] Source Generator - Advice/help? please
Keith, I've tried this several times. I don't see a difference. Builder properties file has: org.exolab.castor.builder.javaclassmapping=type The following class files are always built. I've checked and rechecked. The builder file is being picked up. VehicleTitle, VehicleTitleDescriptor (top level element?) ok Owner,OwnerDescriptor (2nd level element) don't want this, it's a Party Registrant, RegistrantDescriptor (2nd level element) don't want this, it's a Party Party, PartyDescripter (ComplexType) ok Lien,LienDescriptor (ComplexType) ok Lienholder, LienholderDescriptor (2nd level element) don't want this, it's a Party Owner, Registrant, Lienholder are all derived from Party, so technically it is correct. But of course I'd like to be able to assign the same Party as both the owner and registrant, and this is not possible. This scenario appears fairly common (to me I guess). Is there something I can do in the binding file to help this? -paul Schema below http://www.w3.org/2001/XMLSchema"; xmlns:bulk="urn:trivininc.com/bulk" targetNamespace="urn:trivininc.com/bulk" elementFormDefault="qualified" attributeFormDefault="unqualified"> -Original Message- From: Keith Visco [mailto:[EMAIL PROTECTED] Sent: Thursday, January 27, 2005 4:42 PM To: castor-dev@exolab.org Subject: Re: [castor-dev] Source Generator - Advice/help? please Hi Paul, With the type-approach Castor will generate classes for all complexTypes and any top-level elements. With the element-approach castor will generate a class for all elements and all complexTypes. You should definately see a difference in the classes generated for both types. Did you delete the existing classes first before trying to regenerate? --Keith Paul Grillo wrote: > I tried both element and type and I get the same 12 classes generated. > Just tried it again to make sure I didn't miss anything, but there > appears to be no difference. I did check to insure it was picking up > my builder properties file (just in case) by also asking it to extend > from a super class. > > It still looks like I get a class for every element that is of a > complex type I've defined and that the getters for each require it to > be cast as such. I'm trying to figure a workaround in my code that > uses the classes, but it's sort of ugly. Hoping there was a clearcut approach. > > > > -Original Message- > From: Keith Visco [mailto:[EMAIL PROTECTED] > Sent: Thursday, January 27, 2005 2:25 PM > To: castor-dev@exolab.org > Subject: Re: [castor-dev] Source Generator - Advice/help? please > > > Paul, > > Try generating your source code using the "type" approach. You can > specify this in the "castorbuilder.properties" or in a binding-file if > you're using one. > > http://castor.exolab.org/sourcegen.html#Class-Creation/Mapping > > --Keith > > > Paul Grillo wrote: > >>I would really appreciate some help on this, i'm sort of up against >>it. any help would be "greatly" appreciated... >> >>I have a fairly complex schema that i'm generating java for. I have >>flexibility to change the schema, write binding files, or whatever. I > > >>guess i'm having a problem understanding how to get the source >>generator to do what i think is fairly straightforward. >> >>I have reproduced this as simply as possible: >> >>The schema/object model contains the following: >> >>VehicleTitle (top level element), contains an Owner, Registrant, and a > > >>Lien. The Lien contains a LienID and a Lienholder. Owner, >>Registrant, and Lienholder are all the same type (Party). >> >>So what i'm hoping to get is (more or less) are classes representing >>VehicleTitle, Party, Lien. With getter/setters for >>Owner/Registrant/Lienholder of type Party. It would seem to me that >>what i' m asking for are classes for only the top level elements or >>complex types. >> >>However i get classes for Lienholder, Registrant, Owner (all derived >>from PartyType). This is problematic. In my realworld schema I have >>the Party Object used in many many places and can't afford to have >>classes generated for every element that references it. >> >>Is there a way to acheive my objective? Different approach to the >>schema? If i need entries in the binding file (i've tried a few), >>please please somebody provide me with the simple example as it is not > > >>
Re: [castor-dev] Source Generator - Advice/help? please
Hi Paul, With the type-approach Castor will generate classes for all complexTypes and any top-level elements. With the element-approach castor will generate a class for all elements and all complexTypes. You should definately see a difference in the classes generated for both types. Did you delete the existing classes first before trying to regenerate? --Keith Paul Grillo wrote: I tried both element and type and I get the same 12 classes generated. Just tried it again to make sure I didn't miss anything, but there appears to be no difference. I did check to insure it was picking up my builder properties file (just in case) by also asking it to extend from a super class. It still looks like I get a class for every element that is of a complex type I've defined and that the getters for each require it to be cast as such. I'm trying to figure a workaround in my code that uses the classes, but it's sort of ugly. Hoping there was a clearcut approach. -Original Message- From: Keith Visco [mailto:[EMAIL PROTECTED] Sent: Thursday, January 27, 2005 2:25 PM To: castor-dev@exolab.org Subject: Re: [castor-dev] Source Generator - Advice/help? please Paul, Try generating your source code using the "type" approach. You can specify this in the "castorbuilder.properties" or in a binding-file if you're using one. http://castor.exolab.org/sourcegen.html#Class-Creation/Mapping --Keith Paul Grillo wrote: I would really appreciate some help on this, i'm sort of up against it. any help would be "greatly" appreciated... I have a fairly complex schema that i'm generating java for. I have flexibility to change the schema, write binding files, or whatever. I guess i'm having a problem understanding how to get the source generator to do what i think is fairly straightforward. I have reproduced this as simply as possible: The schema/object model contains the following: VehicleTitle (top level element), contains an Owner, Registrant, and a Lien. The Lien contains a LienID and a Lienholder. Owner, Registrant, and Lienholder are all the same type (Party). So what i'm hoping to get is (more or less) are classes representing VehicleTitle, Party, Lien. With getter/setters for Owner/Registrant/Lienholder of type Party. It would seem to me that what i' m asking for are classes for only the top level elements or complex types. However i get classes for Lienholder, Registrant, Owner (all derived from PartyType). This is problematic. In my realworld schema I have the Party Object used in many many places and can't afford to have classes generated for every element that references it. Is there a way to acheive my objective? Different approach to the schema? If i need entries in the binding file (i've tried a few), please please somebody provide me with the simple example as it is not clear (to me anyway) how to achieve it there. The schema is below. I have a single top level element, and everything else is a ComplexType that can be used througout. Is this the preferred/advisable way to define the schema to acheive the above objective? http://www.w3.org/2001/XMLSchema"; xmlns:bulk="urn:trivininc.com/bulk" targetNamespace="urn:trivininc.com/bulk" elementFormDefault="qualified" attributeFormDefault="unqualified"> -- -- --- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev --- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev --- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev --- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev
Re: [castor-dev] Source Generator - Advice/help? please
I tried both element and type and I get the same 12 classes generated. Just tried it again to make sure I didn't miss anything, but there appears to be no difference. I did check to insure it was picking up my builder properties file (just in case) by also asking it to extend from a super class. It still looks like I get a class for every element that is of a complex type I've defined and that the getters for each require it to be cast as such. I'm trying to figure a workaround in my code that uses the classes, but it's sort of ugly. Hoping there was a clearcut approach. -Original Message- From: Keith Visco [mailto:[EMAIL PROTECTED] Sent: Thursday, January 27, 2005 2:25 PM To: castor-dev@exolab.org Subject: Re: [castor-dev] Source Generator - Advice/help? please Paul, Try generating your source code using the "type" approach. You can specify this in the "castorbuilder.properties" or in a binding-file if you're using one. http://castor.exolab.org/sourcegen.html#Class-Creation/Mapping --Keith Paul Grillo wrote: > I would really appreciate some help on this, i'm sort of up against > it. any help would be "greatly" appreciated... > > I have a fairly complex schema that i'm generating java for. I have > flexibility to change the schema, write binding files, or whatever. I > guess i'm having a problem understanding how to get the source > generator to do what i think is fairly straightforward. > > I have reproduced this as simply as possible: > > The schema/object model contains the following: > > VehicleTitle (top level element), contains an Owner, Registrant, and a > Lien. The Lien contains a LienID and a Lienholder. Owner, > Registrant, and Lienholder are all the same type (Party). > > So what i'm hoping to get is (more or less) are classes representing > VehicleTitle, Party, Lien. With getter/setters for > Owner/Registrant/Lienholder of type Party. It would seem to me that > what i' m asking for are classes for only the top level elements or > complex types. > > However i get classes for Lienholder, Registrant, Owner (all derived > from PartyType). This is problematic. In my realworld schema I have > the Party Object used in many many places and can't afford to have > classes generated for every element that references it. > > Is there a way to acheive my objective? Different approach to the > schema? If i need entries in the binding file (i've tried a few), > please please somebody provide me with the simple example as it is not > clear (to me anyway) how to achieve it there. > > > The schema is below. I have a single top level element, and > everything else is a ComplexType that can be used througout. > > Is this the preferred/advisable way to define the schema to acheive > the above objective? > > xmlns:xsd="http://www.w3.org/2001/XMLSchema"; > xmlns:bulk="urn:trivininc.com/bulk" > targetNamespace="urn:trivininc.com/bulk" elementFormDefault="qualified" > attributeFormDefault="unqualified"> > > > > > > > > > > > > > > > > > > > > > > > > -- > -- > > --- > If you wish to unsubscribe from this mailing, send mail to > [EMAIL PROTECTED] with a subject of: > unsubscribe castor-dev --- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev --- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev
Re: [castor-dev] Source Generator - Advice/help? please
Bruce, Thanks very much. This does look very promising. I was wondering about possibly having all elements. Forgive me for my newness to schema creation, but I do have one last question related to the solution. In the fixed up schema it has: All of which are of the same type. Just what I want. Except, there is no ComplexType Party anymore. I get an invalid schema (at least that is what XMLSpy tells me). Can an element refer to the element Party? What would be the syntax. This in combination with some tweaks in my binding file will work great. Thanks much for your help and time. -paul -Original Message- From: Bruce Snyder [mailto:[EMAIL PROTECTED] Sent: Thursday, January 27, 2005 1:45 PM To: castor-dev@exolab.org Subject: Re: [castor-dev] Source Generator - Advice/help? please On Thu, 27 Jan 2005 11:41:27 -0500, Paul Grillo <[EMAIL PROTECTED]> wrote: > > I would really appreciate some help on this, i'm sort of up against > it. any help would be "greatly" appreciated... > > I have a fairly complex schema that i'm generating java for. I have > flexibility to change the schema, write binding files, or whatever. I > guess i'm having a problem understanding how to get the source > generator to do what i think is fairly straightforward. > > I have reproduced this as simply as possible: > > The schema/object model contains the following: > > VehicleTitle (top level element), contains an Owner, Registrant, and a Lien. > The Lien contains a LienID and a Lienholder. Owner, Registrant, and > Lienholder are all the same type (Party). > > So what i'm hoping to get is (more or less) are classes representing > VehicleTitle, Party, Lien. With getter/setters for > Owner/Registrant/Lienholder of type Party. It would seem to me that what i' > m asking for are classes for only the top level elements or complex types. > > However i get classes for Lienholder, Registrant, Owner (all derived > from PartyType). This is problematic. In my realworld schema I have > the Party Object used in many many places and can't afford to have > classes generated for every element that references it. > > Is there a way to acheive my objective? Different approach to the schema? > If i need entries in the binding file (i've tried a few), please > please somebody provide me with the simple example as it is not clear > (to me > anyway) how to achieve it there. Paul, Please see the docs on Class Creation/Mapping available here: http://www.castor.org/sourcegen.html#Class-Creation/Mapping In order to get what you want, your schema needs to be defined to facilite this. By wrapping your s in an you should get what you want. Below is the fixed up schema that should work for you: http://www.w3.org/2001/XMLSchema"; xmlns:bulk="urn:trivininc.com/bulk" targetNamespace="urn:trivininc.com/bulk" elementFormDefault="qualified" attributeFormDefault="unqualified"> HTH Bruce -- perl -e 'print unpack("u30","<0G)[EMAIL PROTECTED]&5R\"F9Ehttp://www.castor.org/ Apache Geronimo http://geronimo.apache.org/ --- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev --- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev
Re: [castor-dev] Source Generator - Advice/help? please
Paul, Try generating your source code using the "type" approach. You can specify this in the "castorbuilder.properties" or in a binding-file if you're using one. http://castor.exolab.org/sourcegen.html#Class-Creation/Mapping --Keith Paul Grillo wrote: I would really appreciate some help on this, i'm sort of up against it. any help would be "greatly" appreciated... I have a fairly complex schema that i'm generating java for. I have flexibility to change the schema, write binding files, or whatever. I guess i'm having a problem understanding how to get the source generator to do what i think is fairly straightforward. I have reproduced this as simply as possible: The schema/object model contains the following: VehicleTitle (top level element), contains an Owner, Registrant, and a Lien. The Lien contains a LienID and a Lienholder. Owner, Registrant, and Lienholder are all the same type (Party). So what i'm hoping to get is (more or less) are classes representing VehicleTitle, Party, Lien. With getter/setters for Owner/Registrant/Lienholder of type Party. It would seem to me that what i' m asking for are classes for only the top level elements or complex types. However i get classes for Lienholder, Registrant, Owner (all derived from PartyType). This is problematic. In my realworld schema I have the Party Object used in many many places and can't afford to have classes generated for every element that references it. Is there a way to acheive my objective? Different approach to the schema? If i need entries in the binding file (i've tried a few), please please somebody provide me with the simple example as it is not clear (to me anyway) how to achieve it there. The schema is below. I have a single top level element, and everything else is a ComplexType that can be used througout. Is this the preferred/advisable way to define the schema to acheive the above objective? http://www.w3.org/2001/XMLSchema"; xmlns:bulk="urn:trivininc.com/bulk" targetNamespace="urn:trivininc.com/bulk" elementFormDefault="qualified" attributeFormDefault="unqualified"> --- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev --- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev
Re: [castor-dev] Source Generator - Advice/help? please
On Thu, 27 Jan 2005 11:41:27 -0500, Paul Grillo <[EMAIL PROTECTED]> wrote: > > I would really appreciate some help on this, i'm sort of up against it. any > help would be "greatly" appreciated... > > I have a fairly complex schema that i'm generating java for. I have > flexibility to change the schema, write binding files, or whatever. I guess > i'm having a problem understanding how to get the source generator to do > what i think is fairly straightforward. > > I have reproduced this as simply as possible: > > The schema/object model contains the following: > > VehicleTitle (top level element), contains an Owner, Registrant, and a Lien. > The Lien contains a LienID and a Lienholder. Owner, Registrant, and > Lienholder are all the same type (Party). > > So what i'm hoping to get is (more or less) are classes representing > VehicleTitle, Party, Lien. With getter/setters for > Owner/Registrant/Lienholder of type Party. It would seem to me that what i' > m asking for are classes for only the top level elements or complex types. > > However i get classes for Lienholder, Registrant, Owner (all derived from > PartyType). This is problematic. In my realworld schema I have the Party > Object used in many many places and can't afford to have classes generated > for every element that references it. > > Is there a way to acheive my objective? Different approach to the schema? > If i need entries in the binding file (i've tried a few), please please > somebody provide me with the simple example as it is not clear (to me > anyway) how to achieve it there. Paul, Please see the docs on Class Creation/Mapping available here: http://www.castor.org/sourcegen.html#Class-Creation/Mapping In order to get what you want, your schema needs to be defined to facilite this. By wrapping your s in an you should get what you want. Below is the fixed up schema that should work for you: http://www.w3.org/2001/XMLSchema"; xmlns:bulk="urn:trivininc.com/bulk" targetNamespace="urn:trivininc.com/bulk" elementFormDefault="qualified" attributeFormDefault="unqualified"> HTH Bruce -- perl -e 'print unpack("u30","<0G)[EMAIL PROTECTED]&5R\"F9Ehttp://www.castor.org/ Apache Geronimo http://geronimo.apache.org/ --- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev
[castor-dev] Source Generator - Advice/help? please
I would really appreciate some help on this, i'm sort of up against it. any help would be "greatly" appreciated... I have a fairly complex schema that i'm generating java for. I have flexibility to change the schema, write binding files, or whatever. I guess i'm having a problem understanding how to get the source generator to do what i think is fairly straightforward. I have reproduced this as simply as possible: The schema/object model contains the following: VehicleTitle (top level element), contains an Owner, Registrant, and a Lien. The Lien contains a LienID and a Lienholder. Owner, Registrant, and Lienholder are all the same type (Party). So what i'm hoping to get is (more or less) are classes representing VehicleTitle, Party, Lien. With getter/setters for Owner/Registrant/Lienholder of type Party. It would seem to me that what i' m asking for are classes for only the top level elements or complex types. However i get classes for Lienholder, Registrant, Owner (all derived from PartyType). This is problematic. In my realworld schema I have the Party Object used in many many places and can't afford to have classes generated for every element that references it. Is there a way to acheive my objective? Different approach to the schema? If i need entries in the binding file (i've tried a few), please please somebody provide me with the simple example as it is not clear (to me anyway) how to achieve it there. The schema is below. I have a single top level element, and everything else is a ComplexType that can be used througout. Is this the preferred/advisable way to define the schema to acheive the above objective? http://www.w3.org/2001/XMLSchema" xmlns:bulk="urn:trivininc.com/bulk" targetNamespace="urn:trivininc.com/bulk" elementFormDefault="qualified" attributeFormDefault="unqualified"> --- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev