|
|
|
XML-SIG Status
This page describes the current status of the work taken on by the
XML SIG. Official releases are available via HTTP or FTP.
For up-to-date snapshots of the development source tree, use anonymous CVS.
Deliverables
- XML Package
There will be an omnibus package that contains everything required for
basic XML applications, along with documentation and sample code, and
that's also easy to compile and install.
The latest release of this package is now available as PyXML-0.5.3.tar.gz (Signature), dated January 24, 2000;
it's equivalent to the fourth alpha release. "make install" works now, and
some demo programs, the start of a test suite, and documentation are now
included. This version contains:
- SAX
- The Pyexpat module
- sgmlop
- The prototype DOM code (subsequently much revised in the CVS tree).
- xmlproc, an XML parser written in Python.
Serious Python/XML hackers can use the
Anonymous CVS access to the source tree
to follow the state of the code day-by-day.
The individual components contained in the Python/XML package include:
- A Python implementation of SAX (Simple API for XML)
(Essentially frozen except for bugfixes. SAX Level 2 support needs
to be developed, once the SAX2 API is frozen.)
A
SAX implementation has been written by Lars Marius Garshol [LMG].
LMG has also written a draft
specification of the Python version of SAX 1.0.
- An XML-HOWTO containing an overview of Python and XML processing.
(Still being actively revised)
Andrew Kuchling [AMK] is working on this. A first draft of the XML HOWTO is
available, and introduces the SAX interface in tutorial form. A reference manual is available
separately.
- A Python interface to James Clark's Expat parser.
(Fairly stable -- there have been no changes in a while)
A Pyexpat C extension has been written by Jack Jansen.
- Both Python and C implementations of the DOM (Document Object Model)
(Has been updated to match the DOM
Recommendation; still needs testing and some fixes)
Stefane
Fermigier's DOM package has been modified to match the final DOM
W3C Recommendation
Paul Prescod suggests that Python objects are a little heavyweight
for large documents, hence a C implementation would be useful, to
shift the property lookup from bulky hash tables to svelte C code and
(relatively) bulky PyObjects to C strings and pointers. AMK thinks
that just moving to Python lists should be sufficient.
- A module to marshal simple Python data types into XML. A
module called
xml.marshal is available. However, it may
end up being superseded by Lotos,
WDDX, or some other DTD.
(Has been added to the CVS tree, and will be available in an upcoming 0.5.1 release of the package.)
Other things that aren't yet included:
- The glue code required to use existing Java XML parsers from
JPython, and the appropriate documentation.
Paul Prescod will work on this. No code is available yet.
Wish list
These are not formal deliverable items, but suggestions for useful
XML-related projects. Feel free to start working on any of them.
- Unicode support for Python has been discussed on the String-SIG, and is being developed for
inclusion
in Python 1.6.
- An XSL implementation with Python scripting instead of
JavaScript. There have also been suggestions that a
JavaScript-to-Python converter be written. The
second working draft of XSL
is available, and someone is working on this.
- An overview of the different XML-based standards and which of
those
it would be interesting to have Python support for (RDF, WIDL, CDF,
MathML, etc.) This overview could obviously spawn some new
entries... :)
- An XML/XSL/XLL browser in Python. Linked to XED for editing, of
course, and possibly with WEBDAV for read/write work while we are at
it.
- Someone's proposed doing RPC
over HTTP with XML, and Pythonware's XML-RPC
implementation will let you use it from Python.
- A module to parse DTDs, perhaps? That would pave the way for
checking whether a document is conformant to a DTD. LMG's xmlproc
parser already supports some (all?) of what's needed.
|