[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
Prescod.
Here's what we came up with:
1. Create a new package in the standard library, with the following
structure:
xml/
dom/
__init__ # provides parse(), parseFile(),
# and Document
minidom # Paul's basic DOM 1 + namespaces
# implementation
??? # driver to load a DOM from a SAX parser?
parsers/
expat # Python Expat wrapper with namespace
# support
sax/
__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
community.
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
--
Fred L. Drake, Jr. <fdrake at beopen.com>
BeOpen PythonLabs Team Member