thank you dave,

i will roll something up based on your suggestion.
thank you very much again dave.


alex

On Tue, Sep 11, 2018, 01:29 Dave Kuhlman <dkuhl...@davekuhlman.org> wrote:

> Alex,
>
> Hello.
>
> With respect to you problem with the colliding type names -- If you
> have an XML schema that imports multiple (.xsd) files with xs:import
> and the same name is used to define different complex types in
> different namespaces.  I do not believe that generateDS can
> correctly handle this case.  generateDS needs to define a Python
> class for each complex type in a single python module.  It cannot do
> that when there are two complex types with the same name.  And, it gets
> confused when there are two complex types with the same name (but in
> different namespaces).
>
> With respect to identifying the root element in the supermod -- Have
> you looked at the code at the beginning of the parse functions
> (`parse`, `parseString`, etc.) in the generated supermod?  I suspect
> that you have.  Anyway, that is where the supermod attempts to
> determine the root element in the XML instance document that is
> being parsed.  Would modifying that code help with your problem?  If
> so, you could write your own version of the parse function in a
> separate module from which you import the supermod.  Actually, you
> can just generate a subclass module (with the "-s" and "--super"
> command line options), strip out any code you do not need, and then
> modify the parse function in that module.
>
> Is that of any help?
>
> Dave
>
> On Sun, Sep 09, 2018 at 12:26:10AM +0300, Alex Bodnaru wrote:
> > hello friends,
> >
> > my other issue that floats on a multiple xsd scenario is a colliding type
> > name.
> > an arbitrary type name given to the root element of xsd2 is clashing with
> > one of the complex types in xsd1.
> > how could I identify the name of the root element in the supermod? I wish
> > to skip the table generation for it.
> >
> >
> > alex
> >
> > On Sat, Sep 1, 2018, 16:03 Alex Bodnaru <alexb...@gmail.com> wrote:
> >
> > > thank you dave, i will try to see how to harness this understanding to
> my
> > > issue.
> > >
> > > best regards,
> > > alex
> > >
> > >
> > > On Sat, Sep 1, 2018 at 3:01 AM Dave Kuhlman <dkuhl...@davekuhlman.org>
> > > wrote:
> > >
> > >> Alex,
> > >>
> > >> Thanks for the nudge on this.
> > >>
> > >> By "anonymous complex type", I assume you mean something like the
> > >> following:
> > >>
> > >>     <xs:element name="myelement">
> > >>         <xs:complexType>
> > >>         ...
> > >>         </xs:complexType>
> > >>     </xs:element>
> > >>
> > >> Since generateds needs to generate a class for each complex type, it
> > >> assigns names to the ones that lack them (basically the ones not at
> > >> top level).  That is done in `process_includes.py`.  Look at the
> > >> function `raise_anon_complextypes` in that file.  That function
> > >> works on the element tree created by Lxml;  it raises the
> > >> `complexType` element to top level (immediately under the root) and
> > >> gives it a name.  The line:
> > >>
> > >>     type_name = '%sType' % (name, )
> > >>
> > >> creates the name (initially), and then the function `unique_name`
> > >> attempts to ensure that it is unique.
> > >>
> > >> I suppose that could be parameterized, with yet another command line
> > >> option.  Do you think that is worth the effort?  Why do you need to
> > >> control it?
> > >>
> > >> Dave
> > >>
> > >> On Fri, Aug 31, 2018 at 10:14:59AM +0300, Alex Bodnaru wrote:
> > >> > Thank you very much, variation in contribution may lead to
> > >> collaboration.
> > >> >
> > >> > I did enjoy the tremendous value of original generateds, so please
> > >> enjoy my
> > >> > small addition too.
> > >> >
> > >> > but, btw, could you help with my question? I shamefully didn't find
> > >> where
> > >> > you set the name of the anonymous complex type following element
> 'xx' as
> > >> > 'xxType'. I would like to tweak the suffix.
> > >> >
> > >> > thanks,
> > >> > alex
> > >> >
> > >> > On Fri, Aug 31, 2018, 04:58 Bill Nichols <bnichol...@gmail.com>
> wrote:
> > >> >
> > >> > > This conversation promises good things 👍
> > >> > >
> > >> > > On Thu, Aug 30, 2018 at 7:59 PM Dave Kuhlman <
> > >> dkuhl...@davekuhlman.org>
> > >> > > wrote:
> > >> > >
> > >> > >> Alex,
> > >> > >>
> > >> > >> Very cool.
> > >> > >>
> > >> > >> Give me a little time to study this.  But, already, I can tell
> that
> > >> > >> you know some things that I do not.  I have some learning to do.
> > >> > >>
> > >> > >> More later.
> > >> > >>
> > >> > >> Dave
> > >> > >>
> > >> > >> On Thu, Aug 30, 2018 at 09:03:56AM +0300, Alex Bodnaru wrote:
> > >> > >> > ah, good you told me. mine is working, and was based on your
> django
> > >> > >> code.
> > >> > >> > i'm loading tables, foreign keys an manytomany relations, and
> their
> > >> > >> data.
> > >> > >> > all this is being generated from one xsd automatically. my code
> > >> will be
> > >> > >> > attached here.
> > >> > >> > although xsd can represent primary keys, mine doesn't have it,
> and
> > >> i'm
> > >> > >> > allowing the
> > >> > >> > user to set one per table, and one default pk field. if
> > >> inexistent, the
> > >> > >> pk
> > >> > >> > field will be
> > >> > >> > added as an auto incremented integer.
> > >> > >> > btw i'm performing the load of multiple xsd with multiple
> models
> > >> in one
> > >> > >> > run, importing
> > >> > >> > them in a main.py. this complexity somewhat broke the
> preservation
> > >> of
> > >> > >> older
> > >> > >> > files.
> > >> > >> > your generateDS.py has not changed at all.
> > >> > >> >
> > >> > >> > since my source data contains more than one xsd with
> overlapping
> > >> > >> entities,
> > >> > >> > and i've
> > >> > >> > got stuck when one table is being defined in one xsd as a named
> > >> complex
> > >> > >> > type,
> > >> > >> > but in the other, is being defined as a child type element of a
> > >> field,
> > >> > >> > hence it gets
> > >> > >> > the name of the field + 'Type'. i'd like to override this
> > >> particular
> > >> > >> > behaviour, at least the
> > >> > >> > field type dot to get the suffix, so it could match the table
> from
> > >> the
> > >> > >> > other xsd.
> > >> > >> >
> > >> > >> > thanks a lot for all your work,
> > >> > >> > alex
> > >> > >> >
> > >> > >> > On Thu, Aug 30, 2018 at 7:01 AM Dave Kuhlman <
> > >> dkuhl...@davekuhlman.org>
> > >> > >> > wrote:
> > >> > >> >
> > >> > >> > > Alex,
> > >> > >> > >
> > >> > >> > > You are welcome.  Hope generateds has been useful.
> > >> > >> > >
> > >> > >> > > Your work on an extension for SQLAlchemy sounds very
> > >> interesting.  I
> > >> > >> > > suspect that such a capability would be a very valuable
> addition.
> > >> > >> > >
> > >> > >> > > I'm working on something similar myself.  I'm hoping to be
> able
> > >> to
> > >> > >> > > generate an SQLAlchemy model from an XML schema, then use
> > >> > >> > > generateDS.py to generate a module contain export methods
> that
> > >> would
> > >> > >> > > load data from an XML instance document into a SQLAlchemy
> > >> database.
> > >> > >> > > I'm just now starting to study SQLAlchemy and am learning as
> I
> > >> go.
> > >> > >> > >
> > >> > >> > > And, by the way, Denis Sutyagin aka jabber contributed the
> > >> > >> > > code base for my work.
> > >> > >> > >
> > >> > >> > > I've also done some initial work on an analogous capability
> for
> > >> > >> > > generateds and Django.
> > >> > >> > >
> > >> > >> > > I'm thinking that this is in the area of an ETL capability
> for
> > >> > >> > > generateds and SQLAlchemy (and Django): extract, transform,
> and
> > >> > >> > > load, without very much emphasis on the transform part.
> Wait.
> > >> > >> > > Maybe ... OK. I've added a hook for user transforms.
> Although,
> > >> I'm
> > >> > >> > > groping about use-cases, which is likely obvious.
> > >> > >> > >
> > >> > >> > > I'm new to SQLAlchemy and am groping and learning about it
> as I
> > >> work
> > >> > >> > > on this.  So, it will likely be some time in the future
> before I
> > >> > >> > > have something that works.
> > >> > >> > >
> > >> > >> > > Maybe someday we can compare notes and compare ideas on this.
> > >> > >> > >
> > >> > >> > > Dave
> > >> > >> > >
> > >> > >> > > On Wed, Aug 29, 2018 at 06:06:33PM +0300, Alex Bodnaru wrote:
> > >> > >> > > > hello my friends,
> > >> > >> > > >
> > >> > >> > > > a big thank for generateds.
> > >> > >> > > >
> > >> > >> > > > in an aim to load a db from xsd and xml data files, i had
> the
> > >> > >> pleasure to
> > >> > >> > > > develop an sql alchemy extension.
> > >> > >> > > > my only wish I didn't find a way to fulfill is to generate
> > >> anonymous
> > >> > >> > > types
> > >> > >> > > > without the 'Type' suffix.
> > >> > >> > > > however i tryed, my aim to do the change myself failed,
> since I
> > >> > >> didn't
> > >> > >> > > find
> > >> > >> > > > where un the code it's being done.
> > >> > >> > > >
> > >> > >> > > > thanks in advance,
> > >> > >> > > > alex
> > >> > >> > > >
> > >> > >> > > >
> > >> > >> > > > alex
> > >> > >> > >
> > >> > >> > > >
> > >> > >> > >
> > >> > >>
> > >>
> ------------------------------------------------------------------------------
> > >> > >> > > > 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
> > >> > >> > >
> > >> > >> > >
> > >> > >> > > --
> > >> > >> > >
> > >> > >> > > Dave Kuhlman
> > >> > >> > > http://www.davekuhlman.org
> > >> > >> > >
> > >> > >> >
> > >> > >> >
> > >> > >> > --
> > >> > >> > --
> > >> > >> > alex
> > >> > >>
> > >> > >> --
> > >> > >>
> > >> > >> 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
> > >> > >>
> > >> > >
> > >>
> > >> --
> > >>
> > >> Dave Kuhlman
> > >> http://www.davekuhlman.org
> > >>
> > >
> > >
> > > --
> > > --
> > > alex
> > >
>
>
> > _______________________________________________
> > generateds-users mailing list
> > generateds-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/generateds-users
>
>
> --
>
> Dave Kuhlman
> http://www.davekuhlman.org
>
_______________________________________________
generateds-users mailing list
generateds-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/generateds-users

Reply via email to