hi,

thanks for that info. the text that you sent is about marshalling, but i ran into troubles when unmarshalling data. do you have information about unmarshalling, too?

br,
guenther


Am 25.07.2007 um 12:54 schrieb venkateswarlu a:

gunther hi,

please find the comments in jibx site regarding nullable attribute
The marshalling behavior when the attribute is "true" and the object reference is null depends on whether the binding defines the corresponding element as optional or required. If the element is optional it will simply be left out of the marshalled document. If the element is required it will be written with an xsi:nil="true" attribute. This attribute can only be used with objects that are bound to an element name.

Regards,
venakt annangi


On 7/25/07, Günther Wieser <[EMAIL PROTECTED]> wrote:
hi,


i found some confusing information regarding the usage of xsi:nil to indicate if an obejct or value is null.


on the mailing list i found the following entry:


[jibx-users] JiBX 1.1 beta4 release
Dennis Sosnoski
Thu, 25 May 2006 21:26:05 -0700


4. Added nillable attribute to object group and value element, supporting the xsi:nil attribute at runtime (requires element name, not allowed on abstract mapping)


in the docs i found out that the value element doesn't support nillable=true. interestingly i can add that to my binding and it compiles well. but when it comes to runtime, i get a weird exception:


java.lang.IndexOutOfBoundsException: only START_TAG can have attributes END_TAG seen ...</street>\r\n\t\t<city xsi:nil="true" / >... @10:26
at org.xmlpull.mxp1.MXParser.getAttributeValue(MXParser.java:927)
at org.jibx.runtime.impl.XMLPullReaderFactory $XMLPullReader.getAttributeValue(XMLPullReaderFactory.java:395) at org.jibx.runtime.impl.UnmarshallingContext.getAttributeValue (UnmarshallingContext.java:356) at org.jibx.runtime.impl.UnmarshallingContext.attributeBoolean (UnmarshallingContext.java:1881) at data.Address.JiBX_C__JavaDev322_JiXB_Test_src_customer_binding_unmarsh al_1_1(Address.java) at data.Customer.JiBX_C__JavaDev322_JiXB_Test_src_customer_binding_unmars hal_1_2(Customer.java) at data.JiBX_C__JavaDev322_JiXB_Test_src_customer_bindingCustomer_access1 .unmarshal() at org.jibx.runtime.impl.UnmarshallingContext.unmarshalElement (UnmarshallingContext.java:2537) at org.jibx.runtime.impl.UnmarshallingContext.unmarshalDocument (UnmarshallingContext.java:2680)
at test.CustomerWAddressTest.main(CustomerWAddressTest.java:23)


i don't get this is i remove 'nillable=true' from the binding, but then of course the value is not null, it's an empty string (which means something different in our case).


here's the binding:
<?xml version="1.0" encoding="ISO-8859-2"?>
<binding>
<mapping name="customer" class="data.Customer" flexible="true" ordered="false" allow-repeats="true">
<value name="id" set-method="setJiXBId" get-method="getJiXBId"/>
<value name="first" set-method="setJiXBFirstName" get- method="getJiXBFirstName"/> <value name="last" set-method="setJiXBLastName" get- method="getJiXBLastName"/> <!-- <collection field="addresses" flexible="true" ordered="false"> --> <structure name="address" type="data.Address" allow-repeats="true" flexible="true" ordered="false" set-method="addAddress" get- method="getAddress">
<value name="id" set-method="setJiXBId" get-method="getJiXBId"/>
<value name="street" set-method="setJiXBStreet" get- method="getJiXBStreet" usage="optional"/> <value name="city" set-method="setJiXBCity" get- method="getJiXBCity" usage="optional" nillable="true"/>
</structure>
<!-- </collection> -->
</mapping>
</binding>


and here's the example data:
<?xml version="1.0" encoding="ISO-8859-2"?>
<customer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance ">
<id>1234</id>
<first>Heinz</first>
<last>Prueller</last>
<asdasd>asasd</asdasd>
<address>
<id>111</id>
<street>Daham 1</street>
<city xsi:nil="true" />
</address>
</customer>


so do i need to change something in my binding? could i use structure instead of value (and if how can i do that)?


br,
günther


--
Günther Wieser




---------------------------------------------------------------------- ---
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>   http://get.splunk.com/
_______________________________________________
jibx-users mailing list
jibx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jibx-users


---------------------------------------------------------------------- ---
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________
jibx-users mailing list
jibx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jibx-users



--
Günther Wieser
openForce Information Technology GesmbH
Plenergasse 1
A-1180 Wien

[EMAIL PROTECTED]
http://www.openforce.com








--
Günther Wieser
creative-it
Guglgasse 6/1/11/1
A-1110 Wien
[EMAIL PROTECTED]
http://www.creative-it.com


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
jibx-users mailing list
jibx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jibx-users

Reply via email to