[Lxml-checkins] r43423 - in lxml/trunk: . src/lxml

scoder at codespeak.net scoder at codespeak.net
Wed May 16 00:20:36 CEST 2007


Author: scoder
Date: Wed May 16 00:20:35 2007
New Revision: 43423

Modified:
   lxml/trunk/TODO.txt
   lxml/trunk/src/lxml/etreepublic.pxd
   lxml/trunk/src/lxml/public-api.pxi
Log:
provide findOrBuildNodeNsPrefix() function in C-API to support a preferred prefix

Modified: lxml/trunk/TODO.txt
==============================================================================
--- lxml/trunk/TODO.txt	(original)
+++ lxml/trunk/TODO.txt	Wed May 16 00:20:35 2007
@@ -63,3 +63,6 @@
 * find a way to integrate Schematron (if it's available)
 
 * always use ns-prefixed type names in objectify's ``xsi:type`` attributes
+
+* remove ``findOrBuildNodeNs()`` from C-API (replaced by
+  findOrBuildNodeNsPrefix)

Modified: lxml/trunk/src/lxml/etreepublic.pxd
==============================================================================
--- lxml/trunk/src/lxml/etreepublic.pxd	(original)
+++ lxml/trunk/src/lxml/etreepublic.pxd	Wed May 16 00:20:35 2007
@@ -201,6 +201,10 @@
     cdef tree.xmlNs* findOrBuildNodeNs(_Document doc, tree.xmlNode* c_node,
                                        char* href)
 
+    # recursively lookup a namespace in element or ancestors, or create it
+    cdef tree.xmlNs* findOrBuildNodeNsPrefix(
+        _Document doc, tree.xmlNode* c_node, char* href, char* prefix)
+
     # find the Document of an Element, ElementTree or Document (itself!)
     cdef _Document documentOrRaise(object input)
 

Modified: lxml/trunk/src/lxml/public-api.pxi
==============================================================================
--- lxml/trunk/src/lxml/public-api.pxi	(original)
+++ lxml/trunk/src/lxml/public-api.pxi	Wed May 16 00:20:35 2007
@@ -142,3 +142,9 @@
     if doc is None:
         raise TypeError
     return doc._findOrBuildNodeNs(c_node, href, NULL)
+
+cdef public tree.xmlNs* findOrBuildNodeNsPrefix(
+    _Document doc, xmlNode* c_node, char* href, char* prefix) except NULL:
+    if doc is None:
+        raise TypeError
+    return doc._findOrBuildNodeNs(c_node, href, prefix)


More information about the lxml-checkins mailing list