# JiBX: Bugs and Bug Reporting

JiBX Basics
Overview
Flexibility
Performance
Clean code
News and Status
User Comments
Sponsors
Bugs
Getting Started
Binding Tutorial
A basic binding
Binding extras
Structure mapping
Collections
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
Generator Tools
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.