I have the following two XML Snippets =>


Snippet 1 =>



<query name="Q1" datasource="SomeDS">
<description>
Some Description
</description>
<statement>
    <filter>
     (&amp;(objectclass=group)(cn=#P1#))
    </filter>
    <attributes>
     name,managedBy,description
    </attributes>
</statement>
    <map name="M2">
 <entry Field="EUIT_GLB_GRP_INFO.GROUP_NAME" Column="name"/>
 <entry Field="EUIT_GLB_GRP_INFO.GROUP_DESCRIPTION" Column="description"/>
 <entry Field="EUIT_GLB_GRP_INFO.OWNER" Column="managedBy"/>
    </map>
</query>







Snippet 2 =>



<query name="Q1" datasource="SomeDS">
<description>
Some Description
</description>
<statement>
Select * from SomeTable
</statement>
    <map name="M2">
 <entry Field="EUIT_GLB_GRP_INFO.GROUP_NAME" Column="name"/>
 <entry Field="EUIT_GLB_GRP_INFO.GROUP_DESCRIPTION" Column="description"/>
 <entry Field="EUIT_GLB_GRP_INFO.OWNER" Column="managedBy"/>
    </map>
</query>



If you look at the statement node it can either contain some text or
contain two other elements filter and attributes. How can I represent this
in xsd?



I used the following:



<xs:element name="statement">
     <xs:complexType mixed="true">
      <xs:sequence minOccurs="0">
       <xs:element ref="filter" minOccurs="0"/>
       <xs:element ref="attributes" minOccurs="0"/>
      </xs:sequence>
     </xs:complexType>
   </xs:element>


however, when i use Castor to unmarshal data, I get an error saying  =>

Illegal Text data found as child of: statement (for Snippet 2)

Any ideas anyone?



Thanks


Sameer

Reply via email to