From: Paul T. <pau...@gm...> - 2011-10-29 15:24:00
Attachments:
utils.diff
test_utils.diff
|
Hi, I've written two patches. One is for utils.py. It includes two new classes and two new functions. The classes are needed to make the SAX parser work and should not be invoked directly. The function XmlStringToDocutilsNodes copies an XML string to a docutils node set. The function xml_copy_tree makes an identical copy of an XML string for testing purposes. (It now occurs to me that this function and the class that goes with it should go in test_utils.py?) The other patch is for test_utils.py. I've included tests to test the new functions. The code is documented. Paul |
From: Aahz <aa...@py...> - 2011-10-30 14:41:12
|
On Sat, Oct 29, 2011, Paul Tremblay wrote: > > I've written two patches. One is for utils.py. It includes two new > classes and two new functions. > > The classes are needed to make the SAX parser work and should not be > invoked directly. Why are you using SAX? Instead you probably want xml.etree.ElementTree.iterparse() -- Aahz (aa...@py...) <*> http://www.pythoncraft.com/ "If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." --Red Adair |
From: Paul T. <pau...@gm...> - 2011-10-30 17:20:52
|
On 10/30/11 10:41 AM, Aahz wrote: > On Sat, Oct 29, 2011, Paul Tremblay wrote: >> I've written two patches. One is for utils.py. It includes two new >> classes and two new functions. >> >> The classes are needed to make the SAX parser work and should not be >> invoked directly. > Why are you using SAX? Instead you probably want > xml.etree.ElementTree.iterparse() etree is not compatible with Python 2.3. SAX is robust, standard, and fast for this task. The most complex part of the code involves handling namespaces. By using SAX, I can control the formatting of the namespaces. For example, I can allow for a default namespace so that the namespace isn't written for each element, making the XML easier to read. Paul |