Ghristin,

I've made a fix.  My tests show that it produces the
GDSClassesMapping mapping that we want it to.

If your results differ or you find another problem, please let me
know.

You can find the new version at:

- https://bitbucket.org/dkuhlman/generateds
- https://bitbucket.org/dkuhlman/generateds/downloads/

And, thanks for your help on this.

Dave

On Tue, Oct 10, 2017 at 10:18:00AM -0400, Christin Gunning wrote:
>    Dave,
>    Thank you for quick turn-around!
>    Yes! This is what will work for us:
>        GDSClassesMapping = {
>            'Data': DataMessage,
>            'Measurement': CategoryOne,
>        }
>    Thank you for assistance in advance!
>    Christin
>    On Mon, Oct 9, 2017 at 7:46 PM, Dave Kuhlman <dkuhl...@davekuhlman.org>
>    wrote:
> 
>      Christin,
> 
>      OK.  So I think I know why it is doing this.  gDS builds a
>      dictionary of types and then uses that to generate the
>      GDSClassesMapping.  But, gDS is not distinguishing between top level
>      xs:element and those xs:element objects that are members of a
>      xs:complexType.  So when it finds the xs:element used to define the
>      Data element in CategoryOne, it overwrites the correct member of
>      that dictionary.
> 
>      I can think of another way to do this.  But, I have to think about
>      it a bit.
> 
>      In the meantime, here is a question that would help me understand
>      this.  Isn't it the case, that what really should be generated is
>      this:
> 
>          GDSClassesMapping = {
>              'Data': DataMessage,
>              'Measurement': CategoryOne,
>          }
> 
>      That is, it should only contain the names and types of the top-level
>      element declarations, which, in this schema are "Data" and
>      "Measurement".  "Details" should not be in there at all.  Do you
>      agree?  Or, am I confused about what we are trying to do.
> 
>      Give me a couple of days.  I'm going to be away from my computer
>      tomorrow.
> 
>      Dave
>      On Mon, Oct 09, 2017 at 04:51:31PM -0400, Christin Gunning wrote:
>      > Dave,
>      >
>      > I have a question about generateDSâ**s â**GDSClassMappingâ**:
>      >
>      > The "error" that we are seeing occurs when:
>      > (a) a simple element is initially used to associate a tag name (Data)
>      with
>      > a complex type (DataMessage) in an XSD schema,
>      > (b) in the same schema, another complex type (Measurement) contains a
>      > sequence that happens to be named (Data) as well and maps to a
>      different
>      > complex type (DataMessageDetails).
>      >
>      > The class mapping we are expecting is:
>      >
>      > GDSClassesMapping = {
>      > 'Data': DataMessage,
>      > 'Details': DataMessageDetails,
>      > 'Measurement': CategoryOne,
>      > }
>      >
>      > --but-- the ACTUAL result is:
>      >
>      > GDSClassesMapping = {
>      > 'Data': DataMessageDetails,
>      > 'Details': DataMessageDetails,
>      > 'Measurement': CategoryOne,
>      > }
>      >
>      > We are seeing many more erroneous mappings. The XSD and generated
>      bindings
>      > are attached. Please advise if this a bug or if a usage flag can be
>      easily
>      > used to resolve.
>      >
>      > Thanks!
>      > Christin Gunning
> 
>      --
> 
>      Dave Kuhlman
>      http://www.davekuhlman.org

-- 

Dave Kuhlman
http://www.davekuhlman.org

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
generateds-users mailing list
generateds-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/generateds-users

Reply via email to