Known issues

There are some limitations of the 1.0 release relating to parser support, which will be removed in the 1.1 release. First off, the XMLPull parser used by 1.0 does not support some features of XML, including DTDs and entities. This is generally not an issue for data-oriented XML exchange, but might be a concern for some users with specialized requirements. For example, entities are often used in document-oriented XML to break up a complex document into pieces which can then be included into a single composite document. The XMLPull parser also does not support schema validation. The JiBX 1.1 release will support using StAX parsers as an alternative to XMLPull, allowing users for whom full XML support is important to select a parser which implements all required features.

Aside from that, 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.