When umarshalling an object, how do I get castor to
ignore elements that it doesn't have a mapping for. I tried the following but
that doesn't seem to work. If the element doesn't have a class descriptor then
just ignore.
----------------------------------------------------------------------------------------------------------------------------------
# True if all documents should be validated by the
marshalling framework
#
org.exolab.castor.marshalling.validation=false
# True if all documents should be validated on
input by default #
org.exolab.castor.validation=false
----------------------------------------------------------------------------------------------------------------------------------
I get the following error XML error for my class.
unable to find FieldDescriptor for
'non-session-variables' in ClassDescriptor of user-scenario
Steve
----- Original Message -----
From: "Gawde, Kiran" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, June 18, 2004 3:27 PM
Subject: Re: [castor-user] [XML] Marshall
attribute
> Hello Avinash,
>
> The classes were posted by Crishtian. Hence not sure about there exact
> usage. But I would guess, Class A has more than url (of type Class B). Other
> fields are irrelevant for this discussion. Also, I assume "bbb" comes from
> url attribute of class B.
>
> Expected result are:
> <root>
> <url>
> <foo att="aaa">bbb</foo>
> </url>
> </root>
>
> That means an additional parent element 'url' for element 'foo'.
>
> PS: I am behind firewall and trying use CVSgrab to get to the source code,
> but so far unsuccessful due to the firewall issues. If I cannot do it from
> office, I will try it from home over the weekend.
>
> Thanks for looking into it.
> -Kiran
>
>
> -----Original Message-----
> From: Avinash Gangadharan [mailto:[EMAIL PROTECTED]
> Sent: Friday, June 18, 2004 12:11 PM
> To: '[EMAIL PROTECTED]'
> Subject: Re: [castor-user] [XML] Marshall attribute
>
>
>
> Your Question :
>
> I have two classes:
> public class A {
> public B url= "" B();
> public B getUrl() {return url}
> public void setUrl(B b) { url = "" }
>
> }
> public class B {
> public String url = "";
> public String fixedAtt = "aaa";
> }
> You want :
> <url att="aaa">bbb</url>
>
> Now what is "bbb", where is it going to come from.
>
> Secondly why do you have Class A which contains nothing but class B and
> nothing else. Do you have any other properites in class A other than class
> B. If all you want is the output : <url att="aaa">bbb</url> Get rid of class
> A. And assuming "bbb" is the "url" property of class B. Heres how your
> mapping should look like.
>
> <class name="B">
> <map-to xml="url"/>
> <field name="fixedAtt" type="java.lang.String"
> direct="true">
> <bind-xml name="att" node="attribute"/>
> </field>
> <field name="url" type="java.lang.String" direct="true">
> <bind-xml name="PCDATA" node="text"/>
> </field>
> </class>
>
> If I misunderstood your question please clarify.
>
> HTH
> Avinash
>
> -----Original Message-----
> From: Gawde, Kiran [mailto:[EMAIL PROTECTED]
> Sent: Thursday, June 17, 2004 5:50 PM
> To: '[EMAIL PROTECTED]'
> Subject: Re: [castor-user] [XML] Marshall attribute
>
>
>
> Hi Sudhi,
>
> node="text" adds it to url and ignores name="foo". See output below:
> <url>bbb
> <foo att="aaa" />
> </url>
>
> This is the same issue as I mentioned before. For now, I have commented out
> that mapping, as it causes exception on the client side which tries to parse
> the xml. Waiting for the fix.
>
> Regards,
> Kiran
>
> -----Original Message-----
> From: Sudhendra Seshachala [mailto:[EMAIL PROTECTED]
> Sent: Thursday, June 17, 2004 5:33 PM
> To: [EMAIL PROTECTED]
> Subject: Re: [castor-user] [XML] Marshall attribute
>
>
> Have u tried the following..
>
> <class name="A">
> <field name="url" type="B" />
> </class>
>
> <class name="B>
> <field name="fixedAtt" type="string">
> <bind-xml name="att" node="attribute" location="foo"/>
> </field>
>
> <field name="value" type="string">
> <bind-xml name="foo" node="text"/>
> </field>
>
> <class>
> Or is it related to location attribute issue you had before?
>
> Thanks
> Sudhi
>
> -----Original Message-----
> From: Gawde, Kiran [mailto:[EMAIL PROTECTED]
> Sent: Thursday, June 17, 2004 5:22 PM
> To: '[EMAIL PROTECTED]'
> Subject: Re: [castor-user] [XML] Marshall attribute
>
>
> Hi Sudhi,
>
> Just a note on the related issue.
> If you add a location attribute for the fields in the sample below it
> doesn't work as expected: <class name="A">
> <field name="url" type="B" />
> </class>
> <class name="B>
> <field name="fixedAtt" type="string">
> <bind-xml name="att" node="attribute" location="foo"/>
> </field>
> <field name="value" type="string">
> <bind-xml name="att" node="text" location="foo"/>
> </field>
> <class>
>
> Expected result would be:
> <url>
> <foo att="aaa">bbb</foo>
> </url>
>
> But instead you would get:
> <url>bbb
> <foo att="aaa" />
> </url>
>
> Regards,
> Kiran
>
> -----Original Message-----
> From: Sudhendra Seshachala [mailto:[EMAIL PROTECTED]
> Sent: Thursday, June 17, 2004 11:26 AM
> To: [EMAIL PROTECTED]
> Subject: Re: [castor-user] [XML] Marshall attribute
>
>
> Check the mapping as below..
> <class name="A">
> <field name="url" type="B" />
>
> </class>
>
> <class name="B>
> <field name="fixedAtt" type="string">
> <bind-xml name="att" node="attribute"/>
> </field>
> <field name="value" type="string">
> <bind-xml name="att" node="text"/>
> </field>
> <class>
> -----Original Message-----
> From: Cristian [mailto:[EMAIL PROTECTED]
> Sent: Thursday, June 17, 2004 11:19 AM
> To: [EMAIL PROTECTED]
> Subject: [castor-user] [XML] Marshall attribute
>
>
> Hi all
>
> I have a simple question, I think:
>
> I want to marshall an xml file with this format:
>
>
> <root>
> <url att="aaa">bbb</url>
> </root>
>
> The attribute value (aaa) is fixed.
>
> I have two classes:
>
> public class A {
> public B url= "" B();
>
> public B getUrl() {return url}
> public void setUrl(B b) { url = "" }
>
> }
>
> public class B {
> public String url = "";
> public String fixedAtt = "aaa";
> }
>
> And my mapping file look like this:
> <class name="A">
> <field name="url" type="B" />
>
> </class>
>
> <class name="B>
> <field name="fixedAtt" type="string">
> <bind-xml name="att" node="attribute"/>
> </field>
> <class>
>
>
> When I execute my code, the result look like:
>
> <url att="aaa" />
>
> but I want something like:
> <url att="aaa">Something</url>
>
> It's that possible ?
>
> Thanks..
>
>
>
> -----------------------------------------------------------
> If you wish to unsubscribe from this mailing, send mail to
> [EMAIL PROTECTED] with a subject of:
> unsubscribe castor-user
>
>
>
> -----------------------------------------------------------
> If you wish to unsubscribe from this mailing, send mail to
> [EMAIL PROTECTED] with a subject of:
> unsubscribe castor-user
>
>
>
> -----------------------------------------------------------
> If you wish to unsubscribe from this mailing, send mail to
> [EMAIL PROTECTED] with a subject of:
> unsubscribe castor-user
>
>
>
> -----------------------------------------------------------
> If you wish to unsubscribe from this mailing, send mail to
> [EMAIL PROTECTED] with a subject of:
> unsubscribe castor-user
>
>
>
> -----------------------------------------------------------
> If you wish to unsubscribe from this mailing, send mail to
> [EMAIL PROTECTED] with a subject of:
> unsubscribe castor-user
>
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-user
