Nicolas,

Thanks for these kind words.  And, I appreciate the feed-back.

I would love a trip to France.

But, I returned, just this month, from a wonderful and fascinating
2-week trip with family to Spain.  Although I was hoping for a
little more excitement -- Catalonia was threatening to succeed while
we were there, but that did not happen.  I was even able to see
Velásquez's "Las Minenas" at the Museo del Prado.  Ah ha!  So, that
is what reflexivity and recursion are about, I mean in addition to
what they mean for programming languages.

So, France and Nantes may have to wait a little while.

Wait, ... [doing a Web search] ... Yes!  There is a craft beer
revolution going on in France, even though, according to this
article, France has been making good beers for a lot longer than we
have in the U.S.A, likely longer than there has been a U.S.A.

    
http://www.foodrepublic.com/2015/08/17/the-truth-about-frances-craft-beer-movement/

Wow.  Great wine *and* good beer.  I've got to come up with a reason
to visit.  I'll let you know when I do.  I'd love a chance to learn
more from someone who has used generateDS.py and why and how they
use it.

Of course, let me know when and if you have another issue with or
suggestion for generateDS.py.

Dave

On Fri, Jan 19, 2018 at 11:08:25PM +0100, Nicolas de Saint Jorre wrote:
>    Dear Dave - I should say Dear Master Dave!
>    Sorry for my late reply but I was travelling and I could only try it again
>    tonight.
>    And the result is: You did it! It is working now and I was able to
>    generate the models, the admin and the forms from my xsd!
>    It is so fast... Thank you again fro your help. I will now try to upload
>    those files in a test instance just to see how django is displaying it.
>    If you come to France and clearly to Nantes: let me know and I will be so
>    happy to meet with you and to share a glass of wine (or whatever you would
>    like to drink)!!!!
>    Best regards, 
> 
>    Nicolas de Saint Jorre
>    1 Rue Chanoine Durville, 44000 Nantes
>    Quanticsoft - The Webtrial Solution
>    Mob. +33 603342228
>    Tél. +33 972212461
> 
>    On Thu, Jan 18, 2018 at 12:08 AM, Dave Kuhlman <dkuhl...@davekuhlman.org>
>    wrote:
> 
>      Nicolas,
> 
>      My tests show that I've fixed that infinite recursion.  And, this fix
>      does not cause a problem with generating the code to validate simple
>      types (as my previous attempt at fixing it did).
> 
>      You can find the fixed code here:
> 
>          https://bitbucket.org/dkuhlman/generateds
> 
>      The only relevant change, I believe, is in generateDS.py.
> 
>      Please let me know whether this fixes the issue for you.  And, of
>      course, let me know about any other issues.
> 
>      Thanks for your help with fixing this.
>      Dave
>      On Tue, Jan 16, 2018 at 10:55:00PM +0100, Nicolas de Saint Jorre wrote:
>      >    Thanks for the feedback! 
>      >    I am so happy to read you here. We are living in a magic world! I
>      woke up
>      >    this morning with that problem, and 8 hours later, I am reading
>      the writer
>      >    of this amazing tool, and the code has been updated!!! So
>      crasy. 
>      >    So of course you can take of the time you need. I wish I was able
>      to help
>      >    you here but I am not. 
>      >    So good luck and let me know if you need anything else here!
>      >    Best regards and very pleased to be in touch with you!
>      >    Nicolas
>      >    On Jan 16, 2018 9:28 PM, "Dave Kuhlman"
>      <dkuhl...@davekuhlman.org> wrote:
>      >
>      >      Nicolas,
>      >
>      >      Thanks for this report.  And, thank you for providing the
>      schema to
>      >      test against.  With your schema, I was able to reproduce the
>      error.
>      >
>      >      I believe the problem occurs because you have things like the
>      >      following in your schema:
>      >
>      >          <xs:simpleType name="string">
>      >              <xs:restriction base="xs:string"/>
>      >          </xs:simpleType>
>      >
>      >      Because generateDS.py ignores the namespace prefix ("xs:"),
>      that
>      >      definition effectively (1) redefines a primitive type and (2)
>      >      defines a type as a restriction of itself.  The schema does
>      >      something similar with the primitive type xs:integer and
>      several
>      >      others.
>      >
>      >      generateDS.py should be able to protect itself against this.
>      >
>      >      I made a change, and that change eliminated the infinite
>      recursion
>      >      error that we're seeing.  But, with that change, I believe
>      that
>      >      generateDS.py is not handling simpleType validation quite
>      correctly.
>      >
>      >      So, give me a little more time.
>      >
>      >      Dave
>      >
>      >      On Tue, Jan 16, 2018 at 09:26:21AM +0100, Nicolas de Saint
>      Jorre wrote:
>      >      >    Dear Mister Kuhlman,
>      >      >    I am trying to use your XML converter but I am having
>      trouble
>      >      using it.
>      >      >    I am not a Pro with Python but I try to learn and to
>      improve
>      >      everyday.
>      >      >    So here I am trying to convert into a Django Models and
>      Forms
>      >      from the
>      >      >    attached XSD specification.
>      >      >    I have the following error:
>      >      >    (dev)
>      >      >   
>      >     
>      nicolas@nicolas-XPS-13-9343:~/Downloads/dkuhlman-generateds-cba0ef052d1e$
>      >      >    python generateDS.py -o odm1-3-2.py -s odm1-3-2subs.py
>      >      >    Demos/People/ODM1-3-2.xsd 
>      >      >    *** warning.  Removing child with duplicate name:
>      "KeySet"
>      >      >    *** warning.  Removing child with duplicate name:
>      "Signature"
>      >      >    *** warning.  Removing child with duplicate name:
>      "PGPKeyPacket"
>      >      >    *** warning.  Removing child with duplicate name: ""
>      >      >    File odm1-3-2.py exists.  Overwrite? (y/n): y
>      >      >    Traceback (most recent call last):
>      >      >      File "generateDS.py", line 7417, in <module>
>      >      >        main()
>      >      >      File "generateDS.py", line 7405, in main
>      >      >        superModule=superModule)
>      >      >      File "generateDS.py", line 6893, in parseAndGenerate
>      >      >        prefix, root, options, args, superModule)
>      >      >      File "generateDS.py", line 6704, in generate
>      >      >        generateFromTree(wrt, prefix, elements,
>      processed)
>      >      >      File "generateDS.py", line 6619, in generateFromTree
>      >      >        generateClasses(wrt, prefix, element, 0,
>      nameSpacesDef)
>      >      >      File "generateDS.py", line 4979, in generateClasses
>      >      >        generateValidatorDefs(wrt, element)
>      >      >      File "generateDS.py", line 4736, in
>      generateValidatorDefs
>      >      >        typeName, stObj.getBase(), None, None)
>      >      >      File "generateDS.py", line 4580, in getValidatorBody
>      >      >        patterns1)
>      >      >      File "generateDS.py", line 4552, in
>      >      processValidatorBodyRestrictions
>      >      >        base1, patterns1)
>      >      >      File "generateDS.py", line 4552, in
>      >      processValidatorBodyRestrictions
>      >      >        base1, patterns1)
>      >      >      File "generateDS.py", line 4552, in
>      >      processValidatorBodyRestrictions
>      >      >        base1, patterns1)
>      >      >      [Previous line repeated 979 more times]
>      >      >      File "generateDS.py", line 4544, in
>      >      processValidatorBodyRestrictions
>      >      >        st1 = find_simple_type_def(tree, base1, None,
>      None, ns,
>      >      base)
>      >      >      File "generateDS.py", line 4269, in
>      find_simple_type_def
>      >      >        namespaces=ns, n=stName)
>      >      >      File "src/lxml/etree.pyx", line 1586, in
>      >      lxml.etree._Element.xpath
>      >      >    (src/lxml/etree.c:61218)
>      >      >      File "src/lxml/xpath.pxi", line 261, in
>      >      >    lxml.etree.XPathElementEvaluator.__init__
>      >      (src/lxml/etree.c:178111)
>      >      >      File "src/lxml/xpath.pxi", line 133, in
>      >      >    lxml.etree._XPathEvaluatorBase.__init__
>      (src/lxml/etree.c:176304)
>      >      >      File "src/lxml/xpath.pxi", line 57, in
>      >      >    lxml.etree._XPathContext.__init__
>      (src/lxml/etree.c:175253)
>      >      >      File "src/lxml/extensions.pxi", line 76, in
>      >      >    lxml.etree._BaseContext.__init__
>      (src/lxml/etree.c:164013)
>      >      >    RecursionError: maximum recursion depth exceeded while
>      calling a
>      >      Python
>      >      >    object
>      >      >    Do you think you could help me here?
>      >      >    I would love to see how your code is going to convert
>      this
>      >      complex XSD
>      >      >    into an easy to use Django models...
>      >      >    Thank you in advance for your help.
>      >      >    Best regards from France, 
>      >      >
>      >      >    Nicolas de Saint Jorre
>      >      >    1 Rue Chanoine Durville, 44000 Nantes
>      >      >    Quanticsoft - The Webtrial Solution
>      >      >    Mob. +33 603342228
>      >      >    Tél. +33 972212461
>      >
>      >      --
>      >
>      >      Dave Kuhlman
>      >      http://www.davekuhlman.org
> 
>      --
> 
>      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