I have the following two XML Snippets =>
Snippet 1 =>
<query name="Q1" datasource="SomeDS">
<description>
Some Description
</description>
<statement>
<filter>
(&(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