JiBX: Bugs and Bug Reporting

# JiBX: Bugs and Bug Reporting |

- JiBX Basics Overview Flexibility Performance Clean code News and Status User Comments Sponsors Support and Training Bugs Getting Started Binding Tutorial A basic binding Binding extras Structure mapping Collections and arrays Using mappings Advanced binding Method hooks Custom code Binding Compiler Binding on Load Runtime JiBX Extras Building JiBX Schema Compatibility Mailing Lists FAQ Contributing License Binding Definition Definition details Definition contexts Conversions XML summary <binding> element <include> element <format> element <namespace> element <mapping> element <value> element <structure> element <collection> element Attribute groups Usage API Runtime JavaDocs Subprojects Eclipse Plug-in Introduction Install Usage Generator Tools Axis2 Usage JibxSoap Xsd2Jibx | ### Known issues There's a known inconsistency in the way certain combinations of optional components are handled. This is not really a bug, but rather an ambiguity in the way optional items are interpreted. It's likely to remain until JiBX 2.0: Optional structures are not handled consistently unless they have an associated property value. In other words, structures that just define a wrapper element around some content that's part of a containing object won't always work as expected if you make them optional. This creates problems in trying to wrap text or CDATA values with elements to make them optional using binding constructs like:
      <structure name="wrapper" usage="optional">
        <value style="cdata" field="m_rawText" usage="optional"/>
      </structure>
The result is that if the m_rawText field is `null` an empty <wrapper> element will be generated when marshalling, which will then be converted to an empty string value when unmarshalling. There is a work-around for this, which is to use a test-method on the structure. The test method can check if the field value is null, and if so return false. This list will be updated on the web site if major new issues are found, but please check the issue tracking system (described below) for the latest problem information. ### Reporting Problems If you run into problems with the code please check existing bug reports for information on fixes, and enter a new bug report if you don't find one matching your problem. JiBX uses the Jira issue tracking system hosted by The Codehaus. Please note that JiBX is not otherwise affiliated with The Codehaus, and other aspects of the project remain hosted on SourceForge. You can browse the Jira bug list without restriction, but will need to register in order to enter new issues. You can help make sure your problem is addressed quickly and completely by attaching sample code to demonstrate the problem. The sample code should be packaged as a zip or tar.gz file, and should include an Ant build.xml script to compile the code, run the binding compiler, and (for runtime problems) execute a test of the binding. The starter example included in the JiBX distribution shows how this can work. For general help on using JiBX you can check the FAQ, the new Wiki, and the mailing lists.