★ wanayoo — archive 1999 http://www.python.org/sigs/xml-sig/status.htmlNouvelle recherche | Portail wanayoo
  
Home Search Download Documentation
Help Community SIGs   
XML SIG
Index
SIG status
Anonymous CVS
XML resources
Subscribing
Archives
About Python SIGs
 
Email Us
xml-sig-owner
@python.org
 
  

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.