Hello,

I'm using Castor to bind xml files to java classes and then persist those classes, but running
            classes.Lom lom = (classes.Lom)unmar.unmarshal(classes.Lom.class, new FileReader("./xmlFile.xml"));
            db.create(lom)
returns an: "Illegal Text data found as child of: langstring" error
This is a "summary" of xmlFile.xml:
<lom>
<general>
general content
      <identifier>identifier general</identifier>
      <title>
           <langstring>general title langstring</langstring>
      </title>
(...)
</general>
</lom>

and this the mapping file (summarized) i use:

<class name="classes.Lom_General_Title" identity="_id" key-generator="MAX" depends="classes.Lom_General">
        <map-to table="GENERAL_TITLE"/>
        <field name="_id" type="integer" get-method="getId" set-method="setId">
                <sql name="genTitID"/>
                <bind-xml node="attribute"/>
        </field>
        <field name="_langstringList" type="classes.Lom_General_Title_Langstring" collection="array" get-method="getLangstring" set-method="setLangstring" required="true">
            <sql many-key="genTitID"/>
            <bind-xml name="langstring"/>
        </field>
    </class>
   
    <class name="classes.Lom_General_Title_Langstring " identity="_id" key-generator="MAX" depends="classes.Lom_General_Title">
        <map-to table="GENERAL_TITLE_LANGSTRING"/>
        <field name="_id" type="integer" get-method="getId" set-method="setId">
                <sql name="genTitLanID"/>
                <bind-xml node="attribute"/>
        </field>
        <field name="_title" type="classes.Lom_General_Title " get-method="getTitle" set-method="setTitle">
            <sql name="genTitID"/>
            <bind-xml name="masterTitle" reference="true" />
        </field>
        <field name="_lang" type="java.lang.String" get-method="getLang" set-method="setLang">
            <sql name="lang"/>
            <bind-xml name="xml:lang" node="attribute"/>
        </field>
        <field name="content" type="java.lang.String">
            <sql name="content"/>
            <bind-xml node="text"/>
        </field>
    </class>


Can someone please help me?

Thanks in advance,


Mikel

Reply via email to