Hi,
 
I have a following XML document:
 
 <?xml version="1.0" encoding="UTF-8" ?>
<taskConf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
          xsi:schemaLocation="http://pduda.com.pl taskConf.xsd"
          xmlns="http://pduda.com.pl";>
  <task xsi:type="softwareDownload" shortName="download">
    <gid>111</gid>
    <p1>222</p1>
    <p2>333</p2>
  </task>
  <task xsi:type="softwareUpload" shortName="upload">
    <gid>111</gid>
  </task>
</taskConf>


I want to bind it as a TaskConf class with a list of tasks (abstract
Class). Each of the tasks would extend the abstract class to:
SoftwareUpload or SoftwareDownload classes. Of course, there are more.
I've tried it with many binding.xml's. Here's one generated by xsd2JiBX:

<?xml version="1.0" encoding="UTF-8"?>
<binding>
  <mapping name="task" class="pl.com.pduda.CoreTask">
    <namespace uri="http://pduda.com.pl"; default="elements"/>
    <value name="shortName" field="shortName" usage="optional"
style="attribute"/>
  </mapping>
  <mapping name="softwareUpload" class="pl.com.pduda.SoftwareUpload">
    <namespace uri="http://pduda.com.pl"; default="elements"/>
    <structure map-as="pl.com.pduda.CoreTask"/>
    <value name="gid" field="gid" usage="required"/>
  </mapping>
  <mapping name="softwareDownload"
class="pl.com.pduda.SoftwareDownload">
    <namespace uri="http://pduda.com.pl"; default="elements"/>
    <structure map-as="pl.com.pduda.CoreTask"/>
    <value name="gid" field="gid" usage="required"/>
    <value name="p1" field="p1" usage="required"/>
    <value name="p2" field="p2" usage="required"/>
  </mapping>
  <mapping name="taskConf" class="pl.com.pduda.TaskConf">
    <namespace uri="http://pduda.com.pl"; default="elements"/>
    <collection field="taskList">
      <structure map-as="pl.com.pduda.CoreTask"/>
    </collection>
  </mapping>
</binding>


Unfortunately it crashes at run-time:  

Exception in thread "main" org.jibx.runtime.JiBXException: Expected
"{http://pduda.com.pl}taskConf"; end tag, found
"{http://pduda.com.pl}softwareDownload"; start tag (line 5, col 42)
        at
org.jibx.runtime.impl.UnmarshallingContext.parsePastCurrentEndTag(Unmars
hallingContext.java:800)
        at
pl.com.pduda.JiBX_SWMGMT_testEJB_binding__jibxClasses_com_pl_pduda_bindi
ngTaskConf_access.unmarshal()
        at
org.jibx.runtime.impl.UnmarshallingContext.unmarshalElement(Unmarshallin
gContext.java:2773)
        at
org.jibx.runtime.impl.UnmarshallingContext.unmarshalDocument(Unmarshalli
ngContext.java:2916)
        at pl.com.pduda.main.StarterXML.main(StarterXML.java:73)


Any ideas on how to implement this? Thank you! 
 
 
Kind regards,
Pawel Duda
 
-------------------------
Pawel Duda
mobile: +48 784 031 665
e-mail: pawel.d...@nsn.com <mailto:pawel.d...@nsn.com> 

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
jibx-users mailing list
jibx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jibx-users

Reply via email to