Not yet, Josh, as I am focusing on the 1.1.2 release this weekend. In
other words, I will not be looking into this before early next week.

Even if I might be repeating myself, there's only so much time I can
dedicate to this project as an (open source) committer; I wish I could
spend even more time with the project, but we all depend on steady
income to support ourselves.

If let's say my work on Castor would create a part of this minimum
income in one way or the other, things (could and) would be different.

Regards
Werner

Josh Foure wrote:
> Hi Werner,
>  
> Have you had a chance to take a look at this yet?  I am eager to find
> out how best to use Castor with Web Services when dealing with more than
> one schema.
>  
> Thanks,
> Josh
> 
> ----- Original Message ----
> From: Josh Foure <[EMAIL PROTECTED]>
> To: [email protected]
> Sent: Saturday, June 9, 2007 10:37:39 AM
> Subject: Re: [castor-user] Castor namespace help when using multiple schemas
> 
> Hi Werner,
> 
> The following issue was created:
> 
> http://jira.codehaus.org/browse/CASTOR-2010
> 
> I did not attach any of the files but rather inlined them in the
> descriptions as I did in my emails on the mailing list.  I think it will
> be easiest to print out the description so you can see the schemas and
> the XMLs all in one shot.  But if you would like me to upload each
> individual schema I can also do that on Monday.  Let me know what you
> prefer.
> 
> Thanks,
> Josh
> 
> 
> ----- Original Message ----
> From: Werner Guttmann <[EMAIL PROTECTED]>
> To: [email protected]
> Sent: Friday, June 8, 2007 12:54:38 PM
> Subject: Re: [castor-user] Castor namespace help when using multiple schemas
> 
> Can I ask you one favour ? Can you please create a new issue at
> 
> http://jira.codehaus.org/browse/CASTOR
> 
> and attach all relevant files to it ? And please don't forget to include
> all your comments/instructions/questions.
> 
> Thanks in advance
> Werner
> 
> Josh Foure wrote:
>> Thanks for looking into this Werner.  Let me give you a little more
>> information on the schemas I have tried and what I have discovered.
>> Hopefully this is in an undertstandable format:
>>  
>> Attempt 1:
>>  
>> This is how I originally wanted to have my schemas.  I have a common
>> schema that defines my "name" type and my order schema uses that type
>> using the "type" attribute:
>>  
>> The common.xsd:
>>  
>> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> <http://www.w3.org/2001/XMLSchema%22>;
>> xmlns="http://www.w3.org/2001/XMLSchema";
> <http://www.w3.org/2001/XMLSchema%22>; xmlns:common="http://common";
> <http://common%22/>;
>> targetNamespace="http://common"; <http://common%22/>;
> elementFormDefault="qualified">
>>  <xsd:complexType name="name">
>>   <xsd:sequence>
>>    <xsd:element name="first-name" type="string"/>
>>    <xsd:element name="last-name" type="string"/>
>>   </xsd:sequence>
>>  </xsd:complexType>
>> </xsd:schema>
>>  
>> The order.xsd:
>>  
>> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> <http://www.w3.org/2001/XMLSchema%22>;
>> xmlns="http://www.w3.org/2001/XMLSchema";
> <http://www.w3.org/2001/XMLSchema%22>; targetNamespace="http://order";
> <http://order%22/>;
>> xmlns:order="http://order"; <http://order%22/>;
> xmlns:common="http://common"; <http://common%22/>;
>> elementFormDefault="qualified">
>>  <xsd:import namespace="http://common"; <http://common%22/>;
> schemaLocation="common.xsd"/>
>>  <xsd:element name="order">
>>   <xsd:complexType>
>>    <xsd:sequence>
>>     <xsd:element name="order-number" type="xsd:integer"/>
>>     <xsd:element name="buyer-name" type="common:name"/>
>>     <xsd:element name="seller-name" type="common:name"/>
>>    </xsd:sequence>
>>   </xsd:complexType>
>>  </xsd:element>
>> </xsd:schema>
>>  
>> The problem with these schemas is that namespace expected for the
>> "seller-name" and "buyer-name" is "order" and not "common".  So either I
>> need to be able to configure Castor to return the different namespace
>> (remember, Castor is returning the "common" namespace for the name
>> elements) or I can't use these schemas.  Here is an XML that is
>> validated by these schemas:
>>  
>> <?xml version="1.0" encoding="UTF-8"?>
>> <order:order xmlns:order="http://order"; <http://order%22/>;
> xmlns:common="http://common"; <http://common%22/>;>
>>     <order:order-number>1234</order:order-number>
>>     <order:seller-name>
>>         <common:first-name>Bob</common:first-name>
>>         <common:last-name>Smith</common:last-name>
>>     </order:seller-name>
>>     <order:buyer-name>
>>         <common:first-name>Fred</common:first-name>
>>         <common:last-name>Peterson</common:last-name>
>>     </order:buyer-name>
>> </order:order>
>>
>> Attempt 2:
>>  
>> In order to get the correct namespace for the name elements in the
>> schema, I could define an element in my common schema and refer to this
>> element in the order schema using the "ref" attribute as follows:
>>  
>> The common.xsd (note: I am defining an element instead of a type now):
>>  
>> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> <http://www.w3.org/2001/XMLSchema%22>;
>> xmlns="http://www.w3.org/2001/XMLSchema";
> <http://www.w3.org/2001/XMLSchema%22>; xmlns:common="http://common";
> <http://common%22/>;
>> targetNamespace="http://common"; <http://common%22/>;
> elementFormDefault="qualified">
>>  <xsd:element name="name">
>>  <xsd:complexType>
>>   <xsd:sequence>
>>    <xsd:element name="first-name" type="string"/>
>>    <xsd:element name="last-name" type="string"/>
>>   </xsd:sequence>
>>  </xsd:complexType>
>>  </xsd:element>
>> </xsd:schema>
>>  
>> The order.xsd (note: I am using the "ref" attribute in the element
>> instead of specifying a name):
>>  
>> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> <http://www.w3.org/2001/XMLSchema%22>;
>> xmlns="http://www.w3.org/2001/XMLSchema";
> <http://www.w3.org/2001/XMLSchema%22>; targetNamespace="http://order";
> <http://order%22/>;
>> xmlns:order="http://order"; <http://order%22/>;
> xmlns:common="http://common"; <http://common%22/>;
>> elementFormDefault="qualified">
>> <xsd:import namespace="http://common"; <http://common%22/>;
> schemaLocation="common.xsd"/>
>>  <xsd:element name="order">
>>   <xsd:complexType>
>>    <xsd:sequence>
>>     <xsd:element name="order-number" type="xsd:integer"/>
>>     <xsd:element ref="common:name"/>
>>     <xsd:element ref="common:name"/>
>>    </xsd:sequence>
>>   </xsd:complexType>
>>  </xsd:element>
>> </xsd:schema>
>>  
>> With these schemas the namespace for the "name" elements are "common"
>> but now both of the "name" elements need to be called "name".  I cannot
>> use the "seller-name" or "buyer-name" names.  Here is an XML that is
>> validated by these schemas:
>>  
>> <order:order xmlns:order="http://order"; <http://order%22/>;
> xmlns:common="http://common"; <http://common%22/>;>
>>     <order:order-number>1234</order:order-number>
>>     <common:name>
>>         <common:first-name>Bob</common:first-name>
>>         <common:last-name>Smith</common:last-name>
>>     </common:name>
>>     <common:name>
>>         <common:first-name>Fred</common:first-name>
>>         <common:last-name>Peterson</common:last-name>
>>     </common:name>
>> </order:order>
>>
>> Attempt 3:
>>  
>> The only way I was able to create a schema that would validate the
>> output generated by Castor was to nest my common elements inside a dummy
>> element using the "location" attribute in the Castor mapping file as
>> follows.  I replaced my "buyerName" and "sellerName" mapping as follows:
>>  
>>  <field name="sellerName" type="common.Name">
>>   <bind-xml name="name" node="element" location="seller-name"/>
>>  </field>
>>  <field name="buyerName" type="common.Name">
>>   <bind-xml name="name" node="element" location="buyer-name"/>
>>  </field>
>>  
>> This generates the following XML where I have the "seller-name" and
>> "buyer-name" in the "order" schema that has a nested "name" element in
>> the "common" schema:
>>  
>> <?xml version="1.0" encoding="UTF-8"?>
>> <order:order xmlns:order="http://order"; <http://order%22/>;>
>>     <order:order-number>1234</order:order-number>
>>     <order:seller-name>
>>         <common:name xmlns:common="http://common"; <http://common%22/>;>
>>             <common:first-name>Bob</common:first-name>
>>             <common:last-name>Smith</common:last-name>
>>         </common:name>
>>     </order:seller-name>
>>     <order:buyer-name>
>>         <common:name xmlns:common="http://common"; <http://common%22/>;>
>>             <common:first-name>Fred</common:first-name>
>>             <common:last-name>Peterson</common:last-name>
>>         </common:name>
>>     </order:buyer-name>
>> </order:order>
>>  
>> Here is the common.xsd:
>>  
>> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> <http://www.w3.org/2001/XMLSchema%22>;
>> xmlns="http://www.w3.org/2001/XMLSchema";
> <http://www.w3.org/2001/XMLSchema%22>; xmlns:common="http://common";
> <http://common%22/>;
>> targetNamespace="http://common"; <http://common%22/>;
> elementFormDefault="qualified">
>>  <xsd:element name="name">
>>  <xsd:complexType>
>>   <xsd:sequence>
>>    <xsd:element name="first-name" type="string"/>
>>    <xsd:element name="last-name" type="string"/>
>>   </xsd:sequence>
>>  </xsd:complexType>
>>  </xsd:element>
>> </xsd:schema>
>>  
>> And this is the order.xsd:
>>  
>> <?xml version="1.0" encoding="UTF-8"?>
>> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> <http://www.w3.org/2001/XMLSchema%22>;
>> xmlns="http://www.w3.org/2001/XMLSchema";
> <http://www.w3.org/2001/XMLSchema%22>; targetNamespace="http://order";
> <http://order%22/>;
>> xmlns:order="http://order"; <http://order%22/>;
> xmlns:common="http://common"; <http://common%22/>;
>> elementFormDefault="qualified">
>> <xsd:import namespace="http://common"; <http://common%22/>;
> schemaLocation="common.xsd"/>
>>  <xsd:element name="order">
>>   <xsd:complexType>
>>    <xsd:sequence>
>>     <xsd:element name="order-number" type="xsd:integer"/>
>>     <xsd:element name="seller-name">
>>      <complexType >
>>       <xsd:sequence>
>>        <xsd:element ref="common:name"/>
>>       </xsd:sequence>
>>      </complexType>
>>     </xsd:element>
>>     <xsd:element name="buyer-name">
>>      <complexType >
>>       <xsd:sequence>
>>        <xsd:element ref="common:name"/>
>>       </xsd:sequence>
>>      </complexType>
>>     </xsd:element>
>>    </xsd:sequence>
>>   </xsd:complexType>
>>  </xsd:element>
>> </xsd:schema>
>>
>> As you can see this makes the schema a lot more complicated and I don't
>> like the fact that I need to have both a "seller-name" and a "name"
>> element nested.  But that's the only way I found it to work.
>>  
>> Thanks for your help,
>> Josh
>>
>>
>>
>>  
>> ----- Original Message ----
>> From: Werner Guttmann <[EMAIL PROTECTED]>
>> To: [email protected]
>> Sent: Friday, June 8, 2007 6:23:54 AM
>> Subject: Re: [castor-user] Castor namespace help when using multiple
> schemas
>>
>> Thanks, Josh. And yes, it looks like you've got some 600 reasons there
>> .... ;-). Let me have a look at your issue in more detail, and I'll be
>> back soon.
>>
>> Werner
>>
>> PS Let me address your JAXB question in a separate email.
>>
>> Josh Foure wrote:
>>> Hi Werner,
>>>  
>>> We have about 600 classes that we currently expose via EJBs and we want
>>> to expose some of these services to non-Java clients.  We don't want to
>>> have to regenerate another 600 classes and populate these or change the
>>> existing EJB clients to use the new set of classes (especially since we
>>> don't control the clients).  Is that a decent reason?  As an aside, if
>>> we did go with the schema first approach, do you have an FAQ or
>>> something that explains why one would use Castor for this scenario
>>> instead of JAXB?
>>>  
>>> Thanks,
>>> Josh
>>> ----- Original Message ----
>>> From: Werner Guttmann <[EMAIL PROTECTED]>
>>> To: [email protected]
>>> Sent: Thursday, June 7, 2007 3:58:36 PM
>>> Subject: Re: [castor-user] Castor namespace help when using multiple
>> schemas
>>>
>>> Before I reply to this, let me just ask why you don't generate Java
>>> classes from an (existing?) XML schema, and switch away from a mapping
>>> file based approach ?
>>>
>>> Werner
>>>
>>> Josh Foure wrote:
>>>> Hi all,
>>>> I am trying to use Castor 1.0M4 as my binding framework inside of XFire
>>>> 1.2.6 but I am running into a namespace problem.  I can reproduce the
>>>> problem using Castor 1.1 which is what I will describe now.  I have a
>>>> Castor mapping file that defines the mapping for a class "order.Order"
>>>> in the "http://order <http://order/> <http://order/> <http://order/>
> <http://order/>" <http://order/%3E%22>;
>> <http://order/>" <http://order/%3E%22>;>;
>>> <http://order/>" <http://order/%3E%22>; <http://order/>"
> <http://order/%3E%22>;>;>; namespace.  This order has an
>>>> orderNumber and 2 names.  The names are of type "common.Name" which is
>>>> in the "http://common <http://common/> <http://common/> <http://common/>
>> <http://common/>" <http://common/%3E%22>; <http://common/>"
> <http://common/%3E%22>;>;
>>> <http://common/>" <http://common/%3E%22>; <http://common/>"
> <http://common/%3E%22>;>;>; namespace.  The mapping file
>>>> looks as follows:
>>>>  
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <mapping>
>>>>  <class name="order.Order">
>>>>   <map-to xml="order" ns-uri="http://order <http://order/>
> <http://order/>
>> <http://order/>
>>> <http://order/>" <http://order/%3E%22>; <http://order/>"
> <http://order/%3E%22>;>; <http://order/>" <http://order/%3E%22>;
> <http://order/>" <http://order/%3E%22>;>;>;
>>>> ns-prefix="order"/>
>>>>   <field name="orderNumber" type="integer">
>>>>    <bind-xml name="order-number" node="element"/>
>>>>   </field>
>>>>   <field name="sellerName" type="common.Name">
>>>>    <bind-xml name="seller-name" node="element"/>
>>>>   </field>
>>>>   <field name="buyerName" type="common.Name">
>>>>    <bind-xml name="buyer-name" node="element"/>
>>>>   </field>
>>>>  </class>
>>>>  <class name="common.Name">
>>>>   <map-to xml="name" ns-uri="http://common <http://common/>
> <http://common/>
>> <http://common/>
>>> <http://common/>" <http://common/%3E%22>; <http://common/>"
> <http://common/%3E%22>;>; <http://common/>" <http://common/%3E%22>;
>> <http://common/>" <http://common/%3E%22>;>;>;
>>>> ns-prefix="common"/>
>>>>   <field name="firstName" type="java.lang.String">
>>>>    <bind-xml name="first-name" node="element"/>
>>>>   </field>
>>>>   <field name="lastName" type="java.lang.String">
>>>>    <bind-xml name="last-name" node="element"/>
>>>>   </field>
>>>>  </class>
>>>> </mapping>
>>>>  
>>>> When I create an instance of Order and pass in an orderNumber and 2
>>>> names, Castor generates the following XML:
>>>>  
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <order:order xmlns:order="http://order <http://order/>
> <http://order/> <http://order/>
>>> <http://order/>" <http://order/%3E%22>; <http://order/>"
> <http://order/%3E%22>;>; <http://order/>" <http://order/%3E%22>;
> <http://order/>" <http://order/%3E%22>;>;>;>
>>>>     <order:order-number>1234</order:order-number>
>>>>     <common:seller-name xmlns:common="http://common <http://common/>
> <http://common/>
>> <http://common/>
>>> <http://common/>" <http://common/%3E%22>; <http://common/>"
> <http://common/%3E%22>;>; <http://common/>" <http://common/%3E%22>;
>> <http://common/>" <http://common/%3E%22>;>;>;>
>>>>         <common:first-name>Bob</common:first-name>
>>>>         <common:last-name>Smith</common:last-name>
>>>>     </common:seller-name>
>>>>     <common:buyer-name xmlns:common="http://common <http://common/>
> <http://common/>
>> <http://common/>
>>> <http://common/>" <http://common/%3E%22>; <http://common/>"
> <http://common/%3E%22>;>; <http://common/>" <http://common/%3E%22>;
>> <http://common/>" <http://common/%3E%22>;>;>;>
>>>>         <common:first-name>Fred</common:first-name>
>>>>         <common:last-name>Peterson</common:last-name>
>>>>     </common:buyer-name>
>>>> </order:order>
>>>>  
>>>> The problem is that I cannot generate an XML schema for this (I want a
>>>> schema for my common types and another for the order).  If my
>>>> seller-name and buyer-name complex types use the "type" attribute to
>>>> specify my common Name type, then the namespace of seller-name and
>>>> buyer-name should be "order" and not "common".  If my complex types use
>>>> the "ref" attribute to point to a Name element in my common schema, then
>>>> I cannot change the name of the element from "name" to "buyer-name" and
>>>> "seller-name".  Please let me know if I am missing something and there
>>>> is a way to have Castor generate XML in such a way that I can break out
>>>> the schemas.
>>>>  
>>>> I am happy to reply back with the schema I would like to use but I did
>>>> not want to clutter up this initial email.
>>>> Thank you,
>>>> Josh
>>>>
>>>> ------------------------------------------------------------------------
>>>> Park yourself in front of a world of choices in alternative vehicles.
>>>> Visit the Yahoo! Auto Green Center.
>>>>
>>>
>>
> <http://us.rd.yahoo.com/evt=48246/*http://autos.yahoo.com/green_center/;_ylc=X3oDMTE5cDF2bXZzBF9TAzk3MTA3MDc2BHNlYwNtYWlsdGFncwRzbGsDZ3JlZW4tY2VudGVy>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe from this list please visit:
>>>
>>>     http://xircles.codehaus.org/manage_email
>>>
>>>
>>> ------------------------------------------------------------------------
>>> Shape Yahoo! in your own image. Join our Network Research Panel today!
>>>
>>
> <http://us.rd.yahoo.com/evt=48517/*http://surveylink.yahoo.com/gmrs/yahoo_panel_invite.asp?a=7>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list please visit:
>>
>>     http://xircles.codehaus.org/manage_email
>>
>>
>> ------------------------------------------------------------------------
>> Take the Internet to Go: Yahoo!Go puts the Internet in your pocket:
>>
> <http://us.rd.yahoo.com/evt=48253/*http://mobile.yahoo.com/go?refer=1GNXIC>
>> mail, news, photos & more.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
> 
>     http://xircles.codehaus.org/manage_email
> 
> 
> 
> ------------------------------------------------------------------------
> Park yourself in front of a world of choices in alternative vehicles.
> Visit the Yahoo! Auto Green Center.
> <http://us.rd.yahoo.com/evt=48246/*http://autos.yahoo.com/green_center/;_ylc=X3oDMTE5cDF2bXZzBF9TAzk3MTA3MDc2BHNlYwNtYWlsdGFncwRzbGsDZ3JlZW4tY2VudGVy>
> 
> 
> ------------------------------------------------------------------------
> Need a vacation? Get great deals to amazing places
> <http://us.rd.yahoo.com/evt=48256/*http://travel.yahoo.com/;_ylc=X3oDMTFhN2hucjlpBF9TAzk3NDA3NTg5BHBvcwM1BHNlYwNncm91cHMEc2xrA2VtYWlsLW5jbQ-->on
> Yahoo! Travel.


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

    http://xircles.codehaus.org/manage_email

Reply via email to