What ever you prefer ... if you download the Castor sources, there's some HOW-To documents to be found in src/how-to. Just grab any of them and tweak them to your needs. Once you have got something ready, create a new Jira issue, attach your HOW-TO, and I'll take care of th erest.
Werner Sandeep Khanna wrote: > Sure. > > In the past couple of days trying to evaulate, compare and use the two > XML binding frameworks Jibx & Castor has taught me quite a lot about > them. I can share this knowledge too. > > Regards, > Sandeep Khanna > > On Fri, 2006-01-13 at 17:48 +0100, Werner Guttmann wrote: > >>Sandeep, >> >>how would you feel to provide us with a short HOW-TO on this very >>subject ? If I provided you with a stub document, would you be willing >>to fill in the details ... as a kind of nice feedback to the ones who >>helped you and the community in general ? >> >>Werner >> >>Sandeep Khanna wrote: >> >>>Thank you guys. I did find that discussion thread >>>http://www.mail-archive.com/[email protected]/msg01937.html >>> >>>The way I got it to work is: >>>1. Removing the type="com.adminserver.dcl.ClientFieldDcl" from the >>><field> element. Wonder how that really matters for printing the 'key' >>>as an attribute or an element! >>> >>>Before: >>><field name="fields" type="com.adminserver.dcl.ClientFieldDcl" >>>get-method="getFields" set-method="setFields" collection="map"> >>> <bind-xml name="entry" node="element" location="Fields"> >>> <class name="org.exolab.castor.mapping.MapItem"> >>> <field name="key" type="java.lang.String"> >>> <bind-xml name="key" node="attribute"/> >>> </field> >>> <field name="value" >>>type="com.adminserver.dcl.ClientFieldDcl"> >>> <bind-xml name="AsClientField"/> >>> </field> >>> </class> >>> </bind-xml> >>></field> >>> >>>After: >>><field name="fields" get-method="getFields" set-method="setFields" >>>collection="map"> >>> <bind-xml name="entry" node="element" location="Fields"> >>> <class name="org.exolab.castor.mapping.MapItem"> >>> <field name="key" type="java.lang.String"> >>> <bind-xml name="key" node="attribute"/> >>> </field> >>> <field name="value" >>>type="com.adminserver.dcl.ClientFieldDcl"> >>> <bind-xml name="AsClientField"/> >>> </field> >>> </class> >>> </bind-xml> >>></field> >>> >>>--Sandeep Khanna >>> >>>On Fri, 2006-01-13 at 14:18 +0100, Ralf Joachim wrote: >>> >>> >>>>Hi Sandeep, >>>> >>>>I suggest you to search the mail archive as I am sure we had a similare >>>>discussion (key as attribute) during the last month on user mailing list. >>>> >>>>Regards >>>>Ralf >>>>Castor JDO, committer >>>> >>>> >>>>Sandeep Khanna schrieb: >>>> >>>> >>>>>Adam, >>>>> >>>>>Thank you for your prompt reply. >>>>> >>>>>Kindly read inline comments. >>>>> >>>>>On Fri, 2006-01-13 at 02:02 -0500, Adam Kramer wrote: >>>>> >>>>> >>>>> >>>>>>Hi Sandeep, >>>>>> >>>>>>Read Below... >>>>>> >>>>>>Sandeep Khanna wrote: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>>Castor is not putting HashMap 'key' information as attribute as >>>>>>>configured in the mapping file. >>>>>>> >>>>>> >>>>>>I'm not positive this will work, but try taking the type attribute off >>>>>>the Map collection field. For instance, without the type attribute in >>>>>>the 'fields' field: >>>>>><field name="fields" collection="map"> >>>>> >>>>> >>>>>This is what I have now: >>>>> >>>>><Fields> >>>>> <entry> >>>>> <key>AgentNumber</key> >>>>> <value> >>>>> <FieldTypeCode>02</FieldTypeCode> >>>>> >>>>><ClientGUID>08250B8D-2F22-4834-A995-F414194EA8D4</ClientGUID> >>>>> <FieldName>AgentNumber</FieldName> >>>>> </value> >>>>> </entry> >>>>> <entry> >>>>> <key>MaritalStatus</key> >>>>> <value> >>>>> <TextValue>00</TextValue> >>>>> <FieldTypeCode>02</FieldTypeCode> >>>>> >>>>><ClientGUID>08250B8D-2F22-4834-A995-F414194EA8D4</ClientGUID> >>>>> <FieldName>MaritalStatus</FieldName> >>>>> </value> >>>>> </entry> >>>>></Fields> >>>>> >>>>> >>>>>And, this is what I want it to be: >>>>> >>>>><Fields size="2"> >>>>> <entry key="AgentNumber"> >>>>> <AsClientField> >>>>> >>>>><ClientGUID>08250B8D-2F22-4834-A995-F414194EA8D4</ClientGUID> >>>>> <FieldName>AgentNumber</FieldName> >>>>> <FieldTypeCode>02</FieldTypeCode> >>>>> </AsClientField> >>>>> </entry> >>>>> <entry key="MaritalStatus"> >>>>> <AsClientField> >>>>> >>>>><ClientGUID>08250B8D-2F22-4834-A995-F414194EA8D4</ClientGUID> >>>>> <FieldName>MaritalStatus</FieldName> >>>>> <TextValue>00</TextValue> >>>>> <FieldTypeCode>02</FieldTypeCode> >>>>> </AsClientField> >>>>> </entry> >>>>></Fields> >>>>> >>>>>>>In order for the generated XML to be Jibx compliant (this is for >>>>>>>comparing Castor & Jibx marshall/unmarshall similar documents) >>>>>>> >>>>>>>Also, the following code was generated with: >>>>>>>Marshaller marshaller = new Marshaller( new >>>>>>>FileWriter( "AsXml-Castor.xml", false ) ); >>>>>>>marshaller.setMapping( mapping ); >>>>>>>marshaller.setSuppressNamespaces( false ); >>>>>>>marshaller.setSuppressXSIType( false ); >>>>>>>marshaller.marshal( clientDcl ); >>>>>> >>>>>>If you are trying to suppress XSI types and namespaces, you should be >>>>>>setting those to true, not false, so: >>>>>>marshaller.setSuppressNamespaces( true ); >>>>>>marshaller.setSuppressXSIType( true ); >>>>> >>>>> >>>>>I haven't tried that yet. But, it makes more sense than what I had. >>>>> >>>>>All that staring at the screen all day just got to me. >>>>> >>>>> >>>>> >>>>> >>>>>>>Mapping file: >>>>>>> >>>>>>><?xml version="1.0" encoding="UTF-8"?> >>>>>>><mapping> >>>>>>><!-- >>>>>>>=================================================================== --> >>>>>>><!-- Mapping for class com.adminserver.dcl.ClientDcl >>>>>>>--> >>>>>>><!-- >>>>>>>=================================================================== --> >>>>>>><class name="com.adminserver.dcl.ClientDcl" identity="clientGuid" >>>>>>>access="shared" >>>>>>>auto-complete="false"> >>>>>>><field name="lastName" type="string" get-method="getLastName" >>>>>>>set-method="setLastName"> >>>>>>><bind-xml name="LastName" node="element"/> >>>>>>></field> >>>>>>><field name="fields" type="com.adminserver.dcl.ClientFieldDcl" >>>>>>>get-method="getFields" >>>>>>>set-method="setFields" collection="map"> >>>>>>><bind-xml name="entry" node="element" location="Fields"> >>>>>>><class name="org.exolab.castor.mapping.MapItem"> >>>>>>><field name="key" type="java.lang.String"> >>>>>>><bind-xml name="key" node="attribute"/> >>>>>>></field> >>>>>>><field name="value" >>>>>>>type="com.adminserver.dcl.ClientFieldDcl"> >>>>>>><bind-xml name="value"/> >>>>>>></field> >>>>>>></class> >>>>>>></bind-xml> >>>>>>></field> >>>>>>></class> >>>>>>><!-- >>>>>>>=================================================================== --> >>>>>>><!-- Mapping for class com.adminserver.dcl.ClientFieldDcl >>>>>>>--> >>>>>>><!-- >>>>>>>=================================================================== --> >>>>>>><class name="com.adminserver.dcl.ClientFieldDcl" >>>>>>>identity="clientGuid fieldName" access="shared" >>>>>>>auto-complete="false"> >>>>>>><description>AsClientField</description> >>>>>>><cache-type type="count-limited"/> >>>>>>><map-to table="AsClientField" xml="AsClientField"/> >>>>>>><field name="clientGuid" type="string" >>>>>>>get-method="getClientGuid" set-method="setClientGuid"> >>>>>>><bind-xml name="ClientGUID" node="element"/> >>>>>>></field> >>>>>>><field name="fieldName" type="string" get-method="getFieldName" >>>>>>>set-method="setFieldName"> >>>>>>><bind-xml name="FieldName" node="element"/> >>>>>>></field> >>>>>>><field name="textValue" type="string" get-method="getTextValue" >>>>>>>set-method="setTextValue"> >>>>>>><bind-xml name="TextValue" node="element"/> >>>>>>></field> >>>>>>><field name="fieldTypeCode" type="string" >>>>>>>get-method="getFieldTypeCode" >>>>>>>set-method="setFieldTypeCode"> >>>>>>><bind-xml name="FieldTypeCode" node="element"/> >>>>>>></field> >>>>>>></class> >>>>>>></mapping> >>>>>>> >>>>>>>Any ideas? >>>>>>> >>>>>>>--Sandeep Khanna >>>>>>> >>>>>> >>>>>>Best, >>>>>>Adam >>>>> >>>>> >>>>>--Sandeep Khanna >>>>> >>>>> >>>>> >>>>> >>>>>>------------------------------------------------- >>>>>>If you wish to unsubscribe from this list, please >>>>>>send an empty message to the following address: >>>>>> >>>>>>[EMAIL PROTECTED] >>>>>>------------------------------------------------- >>>>>> >>>>> >>>>> >>>>> >>>>>------------------------------------------------- >>>>>If you wish to unsubscribe from this list, please >>>>>send an empty message to the following address: >>>>> >>>>>[EMAIL PROTECTED] >>>>>------------------------------------------------- >>>>> >>>> >>>>------------------------------------------------- >>>>If you wish to unsubscribe from this list, please >>>>send an empty message to the following address: >>>> >>>>[EMAIL PROTECTED] >>>>------------------------------------------------- >>>> >>> >>> >>> >>>------------------------------------------------- >>>If you wish to unsubscribe from this list, please >>>send an empty message to the following address: >>> >>>[EMAIL PROTECTED] >>>------------------------------------------------- >>> >>> >> >> >>------------------------------------------------- >>If you wish to unsubscribe from this list, please >>send an empty message to the following address: >> >>[EMAIL PROTECTED] >>------------------------------------------------- >> > > > > ------------------------------------------------- > If you wish to unsubscribe from this list, please > send an empty message to the following address: > > [EMAIL PROTECTED] > ------------------------------------------------- > > ------------------------------------------------- If you wish to unsubscribe from this list, please send an empty message to the following address: [EMAIL PROTECTED] -------------------------------------------------

