[Lxml-checkins] r51541 - in lxml/trunk: . doc

scoder at codespeak.net scoder at codespeak.net
Fri Feb 15 15:48:31 CET 2008


Author: scoder
Date: Fri Feb 15 15:48:30 2008
New Revision: 51541

Modified:
   lxml/trunk/   (props changed)
   lxml/trunk/doc/lxml-source-howto.txt
Log:
 r3531 at delle:  sbehnel | 2008-02-15 15:47:53 +0100
 docs


Modified: lxml/trunk/doc/lxml-source-howto.txt
==============================================================================
--- lxml/trunk/doc/lxml-source-howto.txt	(original)
+++ lxml/trunk/doc/lxml-source-howto.txt	Fri Feb 15 15:48:30 2008
@@ -45,15 +45,21 @@
 structs, and then calling it.  The rest of the code is just plain
 Python code.
 
+Even if you are not familiar with Cython, you should keep in mind that
+a slow implementation of a feature is better than none.  So, if you
+want to contribute and have an idea what code you want to write, feel
+free to start with a pure Python implementation.  Chances are, if you
+get the change officially accepted and integrated, others will take
+the time to optimise it so that it runs fast in Cython.
+
 
 Where to start?
 ===============
 
 First of all, read `how to build lxml from sources` to learn how to
-retrieve the source code from the Subversion repository and how to set
-up a build environment.  The source code lives in the subdirectory
-``src`` of the checkout.  The documentation (which is written in the
-`ReStructured Text`_ format) lives in the ``doc`` directory.
+retrieve the source code from the Subversion repository and how to
+build it.  The source code lives in the subdirectory ``src`` of the
+checkout.
 
 The main extension modules in lxml are ``lxml.etree`` and
 ``lxml.objectify``.  All main modules have the file extension
@@ -65,14 +71,6 @@
 Cython modules.
 
 
-Concepts
---------
-
-* proxies
-* naming conventions
-* ...
-
-
 The documentation
 -----------------
 
@@ -82,10 +80,18 @@
 * ...
 
 
+Concepts
+--------
+
+* proxies
+* naming conventions
+* ...
+
+
 lxml.etree
 ==========
 
-The main module, ``lxml.etree``, is in the file ``lxml.etree.pyx``.
+The main module, ``lxml.etree``, is in the file **lxml.etree.pyx**.
 It implements the main functions and types of the ElementTree API, and
 is therefore the best place to start if you want to find out how a
 specific feature is implemented.
@@ -93,10 +99,10 @@
 At the very end of the file, it contains a series of ``include``
 statements that merge the rest of the implementation into the
 generated C code.  Yes, you read right: no importing, no source file
-namespacing, just plain good old include and a huge C code result that
-we throw right into the C compiler.
+namespacing, just plain good old include and a huge C code result of
+more than 100,000 lines that we throw right into the C compiler.
 
-The main files are:
+The main include files are:
 
 proxy.pxi:
 
@@ -155,28 +161,45 @@
 
 serializer.pxi:
 
-    XML output functions
+    XML output functions.  Basically everything that creates byte
+    sequences from XML trees.
 
 iterparse.pxi:
 
-    incremental XML parsing
+    Incremental XML parsing.  An iterator class that builds iterparse
+    events while parsing.
 
 xmlid.pxi:
 
-    XMLID and IDDict
+    XMLID and IDDict, a dictionary-like way to find Elements by their
+    XML-ID attribute.
 
 xinclude.pxi:
 
-    XInclude
+    XInclude implementation.
 
 extensions.pxi:
 
-    XPath/XSLT extension functions
+    Infrastructure for extension functions in XPath/XSLT, including
+    XPath value conversion and function registration.
 
 xpath.pxi:
 
-    XPath evaluation
+    XPath evaluators.
 
 xslt.pxi:
 
-    XSL transformations
+    XSL transformations, including the ``XSLT`` class, document lookup
+    handling and access control.
+
+
+lxml.objectify
+==============
+
+* ...
+
+
+lxml.html
+=========
+
+* ...


More information about the lxml-checkins mailing list