[XML-SIG] XML in Python 1.6 (PROPOSAL)

Fred L. Drake, Jr. fdrake@beopen.com
Thu, 29 Jun 2000 11:50:26 -0400 (EDT)

  Last night I decided that in order to get the XML support into
Python that needs to be there, I'd better get it into CVS on
Thursday.  Well, today is Thursday, so I'll either have it in today or
Python 1.6 may well ship without the XML support we've been working so
hard on.
  Since there hasn't been a lot of discussion here about the "xmlcore"
proposal, and since some of us aren't terribly happy about the name
and potential confusion over what people should and shouldn't be able
to rely on, I spent a little(!) time on the phone last night with
someone who knows more about what's useful than I do, and understands
the stability concerns we have for the standard library ("if it's
buggy, we'll still have to support it forever"):  our favorite, Paul
  Here's what we came up with:

  1.  Create a new package in the standard library, with the following

                __init__        # provides parse(), parseFile(),
                                # and Document
                minidom         # Paul's basic DOM 1 + namespaces
                                # implementation
                ???             # driver to load a DOM from a SAX parser?
                expat           # Python Expat wrapper with namespace
                                # support
                __init__        # provides parse(), parseFile(), and
                                # some classes from the handler module
                xmlreader       # used by parser writers
                handler         # base classes for handlers
                expatreader     # SAX driver for Expat
                saxutils        # pretty much the same as now

      The advantage of using the "xml" name for the package is that
      most users will be using the most acceptable name.  Additional
      facilities (XSLT, XPath, 4DOM, etc.) can be added as they
      stabilize and become widely recognized as "core" in the XML

  2.  Deal with PyXML -- two options:
      a.  Rename the base package to something else, "pyxml",
          "xmlextras", ???.  This was the option Paul & I discussed.
      b.  Keep the "xml" name but treat it as a "testbed" version only
          suitable for use by Python+XML development experts.  Not too
          bad, but not as good I think.

  Please send comments on the structure; I'm going to try to get this
in sometime this afternoon, modulo updates/objections from the group
as best I can.  We can still change things after this weekend's
release, but the sooner we get the package structure down the easier
it'll be to work with.


Fred L. Drake, Jr.  <fdrake at beopen.com>
BeOpen PythonLabs Team Member