See inline below:

Mark Baier wrote:
> 
> Hi all,
> 
> i have read the question and answer according to the subject.
> I want to do it the "obvious" way, creating a container element where i add
> my data objects to spool it out for doing some reporting.
> Following snippet is my mapping file for the container element.
> 
> <mapping>
>         <!--include href="Aspect.xml"/-->
>         <include href="AspectName.xml"/>
>         <include href="SubAspect.xml"/>
>         <include href="SubAspectName.xml"/>
>         <include href="SubAspectType.xml"/>
>         <include href="Language.xml"/>
> 
>         <class name="com.siemens.cds9.model.Report" auto-complete="true">
>         <map-to xml="report" ns-uri="http://com.siemens.cds9/report"; 
> ns-prefix="rep"/>
>         <field name="objList" type="com.siemens.cds9.model.Aspect" 
> collection="arraylist">
>                 <bind-xml name="aspect" node="element" />
>         </field>
>         </class>
> </mapping>
> 
> As you can see, i declare a namespace for the container element.
> The produced xml output stream looks like following:
> 
> <rep:report xmlns:rep="http://com.siemens.cds9/report";>
>        <aspect>
>         <rep:sub-aspect position="1" id="1000">
>             <rep:subAspectType type="1" id="1"/>
>             <rep:subAspectName
>                 name="Subaspekt 11                            " id="1000">
>                 <rep:language shortName="de" id="1000"/>
>             </rep:subAspectName>
>         </rep:sub-aspect>
>         <rep:sub-aspect position="2" id="1001">
>             <rep:subAspectType type="1" id="1"/>
>             <rep:subAspectName
>                 name="Subaspekt 12                            " id="1001">
>                 <rep:language shortName="de" id="1000"/>
>             </rep:subAspectName>
>         </rep:sub-aspect>
>         <rep:sub-aspect position="3" id="1002">
>             <rep:subAspectType type="1" id="1"/>
>             <rep:subAspectName
>                 name="Subaspekt 13                            " id="1002">
>                 <rep:language shortName="de" id="1000"/>
>             </rep:subAspectName>
>         </rep:sub-aspect>
>         <position>1</position>
>         <aspect-id>1000</aspect-id>
>         <rep:aspect-name name="Aspekt 1                                " id="1000">
>             <rep:language shortName="de" id="1000"/>
>         </rep:aspect-name>
>     </aspect>
> </rep:report>
> 
> In each mapping file included in the container mapping file the same namespace is 
> declared.
> As you can see aspect.xml was comment out due to an occurring StackOverflowError.
> My xml element aspect was spooled out without a namespaceprefix. Where is the prefix 
> gone to ?

Try the following:

<mapping xmlns:rep="http://com.siemens.cds9/report";>     

   <!--include href="Aspect.xml"/-->
   <include href="AspectName.xml"/>
   <include href="SubAspect.xml"/>
   <include href="SubAspectName.xml"/>
   <include href="SubAspectType.xml"/>
   <include href="Language.xml"/>
 
   <class name="com.siemens.cds9.model.Report" auto-complete="true">
      <map-to xml="report" ns-uri="http://com.siemens.cds9/report";
ns-prefix="rep"/>
      <field name="objList" type="com.siemens.cds9.model.Aspect"
collection="arraylist">  
          <bind-xml name="rep:aspect" node="element" />
      </field>
   </class>

</mapping>


Notice the changes on the <mapping> and <bind-xml> elements.

> Also do i need to include every mapping file i want to use in my object ???

More than likely, unless you want Castor to try and automatically
introspect your objects.

> In future use i want to make my objList in my container type independent, so that i 
> can
> add each entity object i need in creating a report.

Just change type to "java.lang.Object" and it should work.

--Keith

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

Reply via email to