Hi Jens,

Try switching to "type" method of binding as described here:

http://castor.exolab.org/sourcegen.html#The-'type'-method

--Keith


Jens Saade wrote:
> 
> Hi,
> I didn't receive any answers yet - please, if someone has an idea then
> let met know. This is very urgent ...!
> Thanks.
> 
> Jens
> 
> Jens Saade wrote:
> 
> > Hi there,
> >
> > I'm using Castor version 9.4.2 in a customer project. I've got an XSD
> > file to use with the SourceGenerator. This file must not be changed.
> >
> > Problem description / scenario :
> > Imagine you'd have elements like ARTICLE, ARTICLE_GROUPS and
> > INGREDIENTS. Each of those elements has a ROW element which type is
> > different.
> > (XSD file see below)
> >
> > What happens:
> > When sourcegen builds the sources - only  the  last  ROW definition
> > (with dependant getters/setters to ctROW_INGR)  is used to build the
> > ROW.java  file.  I assume that the other source files get generated as
> > well, but are overwritten.
> >
> > What I'd expect:
> > The Sourcegen would make an interface of the ROW element whereas the
> > type definitions ctROW_ART, ctROW_ARTGR and ctROW_INGR implement this
> > ROW interface.
> >
> > Is it possible to force the generation of interfaces somehow for
> > certain elements, or do the newer versions of castor do this
> > automatically?
> > Remember I must not change the XSD in any way.
> >
> > Thanks for help!
> >
> > Cheers,
> > Jens
> >
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
> > elementFormDefault="qualified" attributeFormDefault="unqualified">
> >    <!--===================================element
> > LNTSCALEDATA===============================-->
> >    <xs:element name="TrsLntStd" type="ctTrsLntStd"/>
> >    <xs:complexType name="ctTrsLntStd">
> >        <xs:choice minOccurs="0" maxOccurs="unbounded">
> >                       <xs:element name="*ARTICLE*" type="ctARTICLE"/>
> >            <xs:element name="*ARTICLE_GROUPS*" type="ctARTICLE_GROUPS"/>
> >            <xs:element name="*INGREDIENTS*" type="ctINGREDIENTS"/>
> >            [...]
> >        </xs:choice>
> >    </xs:complexType>
> >          <!--=================================for element
> > ARTICLES====================================-->
> >    <xs:complexType name="ctARTICLE">
> >        <xs:sequence>
> >            <xs:element name="*ROW*" type="*ctROW_ART*" minOccurs="0"
> > maxOccurs="unbounded"/>
> >        </xs:sequence>
> >    </xs:complexType>
> >    <xs:complexType name="ctROW_ART">
> >        <xs:attributeGroup ref="RowArtAttributes"/>
> >    </xs:complexType>
> >    <!--===================================attributes of
> > ctROW_ART=================================-->
> >    <xs:attributeGroup name="RowArtAttributes">
> >        <xs:attribute name="CTRL" type="control"/>
> >        <xs:attribute name="DEPNO" type="depno" use="required"/>
> >        <xs:attribute name="PLUNO" type="int1to999999" use="required"/>
> >        <xs:attribute name="UAN" type="char13"/>
> >        <xs:attribute name="TLU" type="char100"/>
> >        <xs:attribute name="SHORTTLU" type="char20"/>
> >        <xs:attribute name="PRICE1" type="int0to99999999"/>
> >        <xs:attribute name="PRICE2" type="int0to99999999"/>
> >        <xs:attribute name="VAT1" type="int0to9"/>
> >        <xs:attribute name="VAT2" type="int0to9"/>
> >        <xs:attribute name="GRPNO" type="int0to9999"/>
> >        <xs:attribute name="TARENO" type="int0to99"/>
> >        <xs:attribute name="ARTFLAG" type="int0to99999"/>
> >        <xs:attribute name="COMPTEXTNO" type="int0to9999"/>
> >        <xs:attribute name="FOODVALUE" type="int0to99999"/>
> >        <xs:attribute name="FIXWEIGHT" type="int0to999999999"/>
> >        <xs:attribute name="DATETIME" type="date"/>
> >    </xs:attributeGroup>
> >             <!--================================for element
> > ARTICLE_GROUPS==========================-->
> >    <xs:complexType name="ctARTICLE_GROUPS">
> >        <xs:sequence>
> >            <xs:element name="*ROW*" type="*ctROW_ARTGR*" minOccurs="0"
> > maxOccurs="unbounded"/>
> >        </xs:sequence>
> >    </xs:complexType>
> >    <xs:complexType name="ctROW_ARTGR">
> >        <xs:attribute name="CTRL" type="control"/>
> >        <xs:attribute name="DEPNO" type="depno" use="required"/>
> >        <xs:attribute name="GRPNO" type="int1to99999" use="required"/>
> >        <xs:attribute name="VAT1" type="int0to9"/>
> >        <xs:attribute name="VAT2" type="int0to9"/>
> >        <xs:attribute name="TEXT" type="char20"/>
> >    </xs:complexType>
> >             <!--================================for element
> > INGREDIENTS==============================-->
> >    <xs:complexType name="ctINGREDIENTS">
> >        <xs:sequence>
> >            <xs:element name="*ROW*" type="*ctROW_INGR*" minOccurs="0"
> > maxOccurs="unbounded"/>
> >        </xs:sequence>
> >    </xs:complexType>
> >    <xs:complexType name="ctROW_INGR">
> >        <xs:attribute name="CTRL" type="control"/>
> >        <xs:attribute name="DEPNO" type="depno" use="required"/>
> >        <xs:attribute name="PLUNO" type="int1to999999" use="required"/>
> >        <xs:attribute name="RECIPENO" type="int0to9" use="required"/>
> >        <xs:attribute name="RECIPENAME" type="char20"/>
> >        <xs:attribute name="INGREDIENT" type="char1000"/>
> >    </xs:complexType>
> >
> >    [...]
> >    </xs:schema>
> >
> > ----------------------------------------------------------- If you
> > wish to unsubscribe from this mailing, send mail to
> > [EMAIL PROTECTED] with a subject of:
> >        unsubscribe castor-dev
> 
> --
> PIRONET NDH AG
> Jens Saade - Application Developer - Business Center Industry
> Maarweg 149-161, 50825 Cologne - Germany
> Phone: +49 (0)221-770-1794 - Fax: +49 (0)221-77 1005
> Mail to: [EMAIL PROTECTED] - http://www.pironet-ndh.com
> 
> -----------------------------------------------------------
> If you wish to unsubscribe from this mailing, send mail to
> [EMAIL PROTECTED] with a subject of:
>         unsubscribe castor-dev

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to