Title: How to marshall this schema, repeateble pair of joined tag

I'm making a LOT of tryings but i can't. I don't find any example, or something similar.

I supose, as castor Source generator do,I need a Audience class, and an ArrayList of Range Values class. Where this ArrayList goes ... is not very clear for me, becouse i think it could be on Audience class, but castor SG make RangeValues class, with an arratList of RangeValuesItems insede it.

But i think this is not my problem..

This is the .xsd (more or less...)

   <xsd:element name="Audience">
      <xsd:complexType>
          <xsd:sequence>                   
               <xsd:element name="id" type="xsd:int"/>                
                   <xsd:element name="description" type="xsd:string"/>                
                <xsd:element name="RangeValues">
                  <xsd:complexType>
                    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
                <xsd:element name="id" type="xsd:int"/>
                        <xsd:element name="Range" type="xsd:string"/>
                        <xsd:element name="Value" type="xsd:string"/>
                <xsd:element name="audience" ref="Audience"/> <!--reference to the "father"-->
                    </xsd:sequence>
                  </xsd:complexType>
                </xsd:element>
          </xsd:sequence>
      </xsd:complexType>
   </xsd:element>

And this is what i'm trying to do. The "bold" part is where i'm lose. I don't know how to say castor that Range and Value are joined, repateble and dependant of audience.

    <class name="Audience"
           identity="id"
           key-generator="HIGH/LOW"
           depends="cegal.onix.model.Product">
       
        <map-to table="AudienceRange"/>
       
        <field name="Id">
            <sql name="ID_AUDIENCE" type="integer"/>
        </field>
       
        <field name="description">
            <bind-xml name="Description"/>
            <sql name="DESCRIPTION" type="varchar"/>
        </field>       
        <field name="rangeValues"
               type="RangeValues">               
               <sql many-key="ID_AUDIENCE_RANGE"/>
               <bind-xml name""/>
        </field>
    </class>

    <class name="RangeValuesItem"
           identity="id"
           key-generator="HIGH/LOW"
           depends="Audience"
           >
       
        <map-to table="RangeValues"/>
       
        <field name="id">
            <sql name="ID_RANGE_VALUES" type="integer"/>
        </field>
       
        <field name="range">
            <bind-xml name="Range" node="text"/>
            <sql name="RANGE" type="varchar"/>
        </field>
        <field name="value">
            <bind-xml name="Value" node="text"/>
            <sql name="VALUE" type="varchar"/>
        </field>               
       
        <field name="audience" type="audience">           
            <sql name="ID_AUDIENCE"/>           
        </field>
    </class>

I
Thank you very much, Regards, Enrique.

Reply via email to