You have to put a <structure map-as="your.parent.class"/> in the child mapping to inherit the actual attributes defined in the base class.
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Tuesday, March 04, 2008 8:45 AM To: jibx-users@lists.sourceforge.net Subject: [jibx-users] Question concerning extensions in mappings I seem to be having a problem with extending mappings. The problem runs like this: I have a base class, and a collection of derived classes. Some of the derived classes extend other derived classes. When I attempt to build a jibx file for them, I would like to not have to specify the same element or attribute more then once. So, I create the base class as a mapping, then the type which can contain the other types as a second mapping. Actually, maybe I can just explain by example best. This is an initial pass at writing one of the files I was trying to do this with. It is attempting to restore a small subset of SVG into a small collection of classes. <binding> <namespace uri="http://www.w3.org/2000/svg" default="elements"/> <mapping name="svg" class="svg.elements.SVGRoot" extends="svg.elements.Graphic"> <value name="viewBox" field="viewBox" style="attribute" usage="optional"/> </mapping> <!-- not derived from Graphic for the moment, not for any particular reason though --> <mapping name="defs" class="svg.elements.SVGDefs" extends="svg.elements.SVGBase"> <collection field="children" item-type="svg.elements.SVGBase"/> </mapping> <mapping name="style" class="svg.elements.SVGStyle" extends="svg.elements.SVGBase"> <value name="type" field="type" usage="optional" style="attribute"/> <value field="data" usage="optional" style="cdata"/> </mapping> <mapping name="rect" class="svg.elements.Rect" extends="svg.elements.SVGBase"> </mapping> <mapping name="g" class="svg.elements.Graphic" extends="svg.elements.SVGBase"> <collection field="children" item-type="svg.elements.SVGBase"/> </mapping> <mapping class="svg.elements.SVGBase" abstract="true"> <value name="style" field="styleTextValue" usage="optional" style="attribute"/> <value name="class" field="classValue" usage="optional" style="attribute"/> <value name="transform" field="transform" usage="optional" style="attribute"/> <value name="id" field="id" usage="optional" style="attribute"/> </mapping> </binding> The problem comes when I try and run the restore. I get the following error. org.jibx.runtime.JiBXException: Expected "{http://www.w3.org/2000/svg}svg" end tag, found "{http://www.w3.org/2000/svg}defs" start tag (line 6, col 9) at org.jibx.runtime.impl.UnmarshallingContext.parsePastCurrentEndTag(Unmars hallingContext.java:792) at com.cdmtech.svg.elements.JiBX_SVGRoot_JiBXSVGRoot_access2.unmarshal() at org.jibx.runtime.impl.UnmarshallingContext.unmarshalElement(Unmarshallin gContext.java:2537) at org.jibx.runtime.impl.UnmarshallingContext.unmarshalDocument(Unmarshalli ngContext.java:2680) Not sure if this style of chained inheritence was legal or not, I decided to check the documentation. I was unable to find anything that helps. So why is my collection not being inherited? If I get rid of the inheritence and just put the collection in the SVGRoot mapping, it works just fine (for relative values of just fine). Please help. Or, feel free to call me an idiot with reasons. Either one, so long as its helpful. ------------------------------------------------------------------------ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ jibx-users mailing list jibx-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jibx-users ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ jibx-users mailing list jibx-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jibx-users