This issue only effects users needing to support polymorphism with more than two levels, like:
A---B---C
+-D---E
+--F
where A-F are all classes with real instances (none are abstract), and they may all be used interchangably. Even in this type of situation, abstract mappings can be used in combination with child <structure> elements to handle references. If the references are used in multiple locations this can admittedly add a lot of complexity to the binding definition, since the list of child <structure> elements needs to be repeated at each point, but it does give a work around.
Full support for multiple layers of inheritance with polymorphism, using the mapping extends="xxx" technique that gives the equivalent to a schema substitution group, probably won't be added until JiBX 2.0
This issue only effects users needing to support polymorphism with more than two levels, like:
A---
B---C+-
D---E+--F
where A-F are all classes with real instances (none are abstract), and they may all be used interchangably. Even in this type of situation, abstract mappings can be used in combination with child <structure> elements to handle references. If the references are used in multiple locations this can admittedly add a lot of complexity to the binding definition, since the list of child <structure> elements needs to be repeated at each point, but it does give a work around.
Full support for multiple layers of inheritance with polymorphism, using the mapping extends="xxx" technique that gives the equivalent to a schema substitution group, probably won't be added until JiBX 2.0