From rsalz@datapower.com Fri Nov 1 17:22:27 2002 From: rsalz@datapower.com (Rich Salz) Date: Fri, 01 Nov 2002 12:22:27 -0500 Subject: [XML-SIG] Anyone want to be a maintainer? Message-ID: <3DC2B853.3070806@datapower.com> Does anyone want to maintain the xml-sig mailing list? It's run by mailman, of course, so it generally means you get one or two messages/week saying that someone has been removed for bounces. And then every other week or so there are the occasional non-member spam messages to bounce. It's really low overhead; I'm quite happy to keep doing it. I'm asking because along with that comes the privilege of maintaining the xml-sig web pages at python.org. When I first started I tweaked some words, removed some outdated references, but they've really languished for some time. My day job is no longer involved with Python and XML, so I don't have the time or energy (nor skill, frankly) to make the xml-sig web pages properly indicative of the rip-roarin' dynamic group that it should be. So, if you want commit access to www.python.org and would take pleasure in bit-bucketing the random spam, let me know. /r$ From fred@computronix.com Fri Nov 1 18:28:13 2002 From: fred@computronix.com (Fred Moscicki) Date: Fri, 1 Nov 2002 11:28:13 -0700 Subject: [XML-SIG] ConfigParser.py Message-ID: <27D23C54DCE5E743B5500C5295A73022D769D0@ALPHA.computronix.com> This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C281D4.70104700 Content-Type: text/plain Hi, I think this is the right Mailing list to send this too. My program was trying to make use of the ConfigParser.py in the new python2.2.2 release. There is a variable in the ConfigParser class called _boolean_states which apparently makes use of some built-ins (True,False) from 2.2.3 which aren't available in 2.2.2. Therefore, when I try to import ConfigParser, I get a NameError. Anyone else seen this? Fred Moscicki Computronix Distinctive Software. Real People. Suite 200, 10216 - 124 Street NW, Edmonton, Alberta, Canada T5N 4A3 Phone: (780) 454-3700 Fax: (780) 454-3838 http://www.computronix.com ------_=_NextPart_001_01C281D4.70104700 Content-Type: text/html Message
Hi,
 
I think this is the right Mailing list to send this too.  My program was trying to make use of the ConfigParser.py in the new python2.2.2 release.  There is a variable in the ConfigParser class called _boolean_states which apparently makes use of some built-ins (True,False) from 2.2.3 which aren't available in 2.2.2.  Therefore, when I try to import ConfigParser, I get a NameError. 
 
Anyone else seen this?
 

Fred Moscicki

 

Computronix

 

Distinctive Software. Real People.

Suite 200, 10216 - 124 Street NW,

Edmonton, Alberta, Canada T5N 4A3

Phone: (780) 454-3700

Fax: (780) 454-3838

http://www.computronix.com

 
------_=_NextPart_001_01C281D4.70104700-- From fdrake@acm.org Fri Nov 1 18:39:21 2002 From: fdrake@acm.org (Fred L. Drake, Jr.) Date: Fri, 1 Nov 2002 13:39:21 -0500 Subject: [XML-SIG] ConfigParser.py In-Reply-To: <27D23C54DCE5E743B5500C5295A73022D769D0@ALPHA.computronix.com> References: <27D23C54DCE5E743B5500C5295A73022D769D0@ALPHA.computronix.com> Message-ID: <15810.51801.20136.532945@grendel.zope.com> Fred Moscicki writes: > I think this is the right Mailing list to send this too. It's not. ConfigParser has nothing to do with XML. > My program was > trying to make use of the ConfigParser.py in the new python2.2.2 release. > There is a variable in the ConfigParser class called _boolean_states which > apparently makes use of some built-ins (True,False) from 2.2.3 which aren't > available in 2.2.2. Therefore, when I try to import ConfigParser, I get a > NameError. Python 2.2.2 does define True, False, and bool(), just not as new the bool type introduced in Python 2.3: Python 2.2.2 (#4, Oct 14 2002, 13:59:09) [GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-98)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> True 1 >>> False 0 >>> type(True) If those are not defined, you're not running Python 2.2.2 as released. -Fred -- Fred L. Drake, Jr. PythonLabs at Zope Corporation From marco@morca.de Fri Nov 1 19:07:57 2002 From: marco@morca.de (Marco Machmer) Date: Fri, 1 Nov 2002 20:07:57 +0100 Subject: [XML-SIG] PubIdResolver Message-ID: hy, i want set my own PubIdResolver for an xml-parser created with sax2exts.XMLValParserFactory.make_parser() has anybody a tip for me, how can i do this? ma From martin@v.loewis.de Fri Nov 1 21:20:12 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 01 Nov 2002 22:20:12 +0100 Subject: [XML-SIG] PubIdResolver In-Reply-To: References: Message-ID: Marco Machmer writes: > i want set my own PubIdResolver for an xml-parser created with > sax2exts.XMLValParserFactory.make_parser() > has anybody a tip for me, how can i do this? You should invoke setEntityResolver, passing an object that implements the EntityResolver interface (see handler.EntityResolver). HTH, Martin From james.kew@btinternet.com Sat Nov 2 10:11:13 2002 From: james.kew@btinternet.com (James Kew) Date: Sat, 2 Nov 2002 10:11:13 -0000 Subject: [XML-SIG] Re: PubIdResolver References: Message-ID: <005001c28258$2cfff4e0$372027d9@btopenworld.com> Martin v. Loewis wrote: > Marco Machmer writes: > > > i want set my own PubIdResolver for an xml-parser created with > > sax2exts.XMLValParserFactory.make_parser() > > has anybody a tip for me, how can i do this? > > You should invoke setEntityResolver, passing an object that implements > the EntityResolver interface (see handler.EntityResolver). That doesn't work for the validating parser: you can set an EntityResolver but it doesn't get called. http://sourceforge.net/tracker/?group_id=6473&atid=106473&func=detail&aid=60 9590 James From noreply@sourceforge.net Mon Nov 4 20:36:12 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Mon, 04 Nov 2002 12:36:12 -0800 Subject: [XML-SIG] [ pyxml-Patches-633467 ] adding pickle support to xml.dom.minidom Message-ID: Patches item #633467, was opened at 2002-11-04 15:36 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=306473&aid=633467&group_id=6473 Category: DOM Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jacob Smullyan (smulloni) Assigned to: Nobody/Anonymous (nobody) Summary: adding pickle support to xml.dom.minidom Initial Comment: Real xml.doc.minidom.Document instances aren't currently pickleable, because several classes in xml.dom.minidom define __slots__ but not __getstate__/__setstate__. This patch adds trivial implementations of the latter methods. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=306473&aid=633467&group_id=6473 From bryanpendleton2000@yahoo.com Mon Nov 4 21:57:30 2002 From: bryanpendleton2000@yahoo.com (Bryan Pendleton) Date: Mon, 4 Nov 2002 13:57:30 -0800 (PST) Subject: [XML-SIG] Performance question Message-ID: <20021104215730.62655.qmail@web12804.mail.yahoo.com> I was trying to figure out what sort of XML Parser performance I could expect out of pyxml. I'm using Python 2.2.2 under Windows 2000 with pyxml 0.8.1. I wrote the following trivial little program, and it seems to be showing me that I can get between 20 and 25 parses per second on my PC. Is this a reasonable result to achieve? I was hoping to be able to get many hundreds of parses a second, so getting only 20 or so was rather alarming. Is there anything I can do to make this code faster? thanks, bryan ============== parserPerformance.py =================== import time from xml.dom.ext.reader import PyExpat def parseString(s): reader = PyExpat.Reader() return reader.fromString(s) def doTest(numTimes, s): t1 = time.clock() for i in range(numTimes): d = parseString(s) t2 = time.clock() print '%d parses took %.2f seconds, or %.2f seconds/parse' % \ ( numTimes, t2 - t1, (t2 - t1) / numTimes ) s1 =""" built-in supplier Supplier Processing catalog request 0 Tue Oct 29 15:03:48 2002 """ print 'parser performance test' doTest(100, s1) __________________________________________________ Do you Yahoo!? HotJobs - Search new jobs daily now http://hotjobs.yahoo.com/ From fdrake@acm.org Mon Nov 4 22:16:22 2002 From: fdrake@acm.org (Fred L. Drake, Jr.) Date: Mon, 4 Nov 2002 17:16:22 -0500 Subject: [XML-SIG] Performance question In-Reply-To: <20021104215730.62655.qmail@web12804.mail.yahoo.com> References: <20021104215730.62655.qmail@web12804.mail.yahoo.com> Message-ID: <15814.61878.86403.879938@grendel.zope.com> --AqW3xY5rJT Content-Type: text/plain; charset=us-ascii Content-Description: message body and .signature Content-Transfer-Encoding: 7bit Bryan Pendleton writes: > I was trying to figure out what sort of XML Parser > performance I could expect out of pyxml. I'm using > Python 2.2.2 under Windows 2000 with pyxml 0.8.1. My test below was run using Python 2.2.2 on RedHat Linux 7.2 using PyXML from CVS. > I wrote the following trivial little program, and it > seems to be showing me that I can get between 20 and > 25 parses per second on my PC. Is this a reasonable > result to achieve? I was hoping to be able to get > many hundreds of parses a second, so getting only 20 > or so was rather alarming. That doesn't sound good to me, but I noticed you were using 4DOM, which I don't normally use. I decided to try your test with minidom instead, and got very different results. I changed your script to allow the parseString function to be passed in to doTest(), and added an import and a second call to doTest: from xml.dom import expatbuilder doTest(100, s1, expatbuilder.parseString) I got this output: parser performance test 100 parses took 7.44 seconds, or 0.07 seconds/parse 100 parses took 0.47 seconds, or 0.00 seconds/parse (The first measurement is the original 4DOM DOM builder, and the second is the expatbuilder.) I've attached the modified script. > Is there anything I can do to make this code faster? Appearantly, use minidom instead of 4DOM. I suspect you could also use one of the other DOM implementations from 4Thought -- they have several. -Fred -- Fred L. Drake, Jr. PythonLabs at Zope Corporation --AqW3xY5rJT Content-Type: text/x-python Content-Description: modified perf test Content-Disposition: inline; filename="perf.py" Content-Transfer-Encoding: 7bit import time from xml.dom.ext.reader import PyExpat from xml.dom import expatbuilder def parseString(s): reader = PyExpat.Reader() return reader.fromString(s) def doTest(numTimes, s, parse): t1 = time.time() for i in range(numTimes): d = parse(s) t2 = time.time() print '%d parses took %.2f seconds, or %.2f seconds/parse' % \ ( numTimes, t2 - t1, (t2 - t1) / numTimes ) return d s1 = ''' built-in supplier Supplier Processing catalog request 0 Tue Oct 29 15:03:48 2002 ''' print 'parser performance test' doTest(100, s1, parseString) doTest(100, s1, expatbuilder.parseString) --AqW3xY5rJT-- From ht@cogsci.ed.ac.uk Tue Nov 5 10:02:48 2002 From: ht@cogsci.ed.ac.uk (Henry S. Thompson) Date: 05 Nov 2002 10:02:48 +0000 Subject: [XML-SIG] Performance question In-Reply-To: <15814.61878.86403.879938@grendel.zope.com> References: <20021104215730.62655.qmail@web12804.mail.yahoo.com> <15814.61878.86403.879938@grendel.zope.com> Message-ID: "Fred L. Drake, Jr." writes: > Bryan Pendleton writes: > > I was trying to figure out what sort of XML Parser > > performance I could expect out of pyxml. I'm using > > Python 2.2.2 under Windows 2000 with pyxml 0.8.1. > > My test below was run using Python 2.2.2 on RedHat Linux 7.2 using > PyXML from CVS. If you want _another_ factor of 10, go to PyLTXML. The report below is from Python 2.2.1 on RedHat Linux 7.2 using PyXML 0.8.1 and PyLTXML-1.3-2. I used Fred's driver, added two new functions to text bit-level and tree-level access via PyLTXML. parser performance test 100 parses took 3.88 seconds, or 0.04 seconds/parse 100 parses took 0.25 seconds, or 0.00 seconds/parse 100 parses took 0.02 seconds, or 0.00 seconds/parse 100 parses took 0.03 seconds, or 0.00 seconds/parse The first measurement is the original 4DOM DOM builder, the second is the expatbuilder, the third is PyLTXML returning the whole tree, the fourth is PyLTXML returning every bit (start tag, end tag, text). I guess the tree is faster because it's slightly lazy wrt Python structures, i.e. only the root is in Python form as returned, the rest gets converted from the native C structs as you walk the Python tree. Here are the additions I made to Fred's version of the script: import PyLTXML . . . def allBits(s): f=PyLTXML.OpenString(s1,PyLTXML.NSL_read|PyLTXML.NSL_read_namespaces) b=PyLTXML.GetNextBit(f) while b: b=PyLTXML.GetNextBit(f) PyLTXML.Close(f) def itemParse(s): f=PyLTXML.OpenString(s1,PyLTXML.NSL_read|PyLTXML.NSL_read_namespaces) b=PyLTXML.GetNextBit(f) while b.type!='start': b=PyLTXML.GetNextBit(f) d=PyLTXML.ItemParse(f,b.item) PyLTXML.Close(f) return d . . . doTest(100, s1, itemParse) doTest(100, s1, allBits) -- Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh W3C Fellow 1999--2002, part-time member of W3C Team 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk URL: http://www.ltg.ed.ac.uk/~ht/ [mail really from me _always_ has this .sig -- mail without it is forged spam] From veillard@redhat.com Tue Nov 5 11:01:24 2002 From: veillard@redhat.com (Daniel Veillard) Date: Tue, 5 Nov 2002 06:01:24 -0500 Subject: [XML-SIG] Performance question In-Reply-To: ; from ht@cogsci.ed.ac.uk on Tue, Nov 05, 2002 at 10:02:48AM +0000 References: <20021104215730.62655.qmail@web12804.mail.yahoo.com> <15814.61878.86403.879938@grendel.zope.com> Message-ID: <20021105060124.A10321@redhat.com> On Tue, Nov 05, 2002 at 10:02:48AM +0000, Henry S. Thompson wrote: > "Fred L. Drake, Jr." writes: > > > Bryan Pendleton writes: > > > I was trying to figure out what sort of XML Parser > > > performance I could expect out of pyxml. I'm using > > > Python 2.2.2 under Windows 2000 with pyxml 0.8.1. > > > > My test below was run using Python 2.2.2 on RedHat Linux 7.2 using > > PyXML from CVS. > > If you want _another_ factor of 10, go to PyLTXML. The report below or the libxml2 bindings (libxml2-python package on Red Hat distrib) http://xmlsoft.org/python.html people on the list just provided Windows versions of the Python bindings. http://mail.gnome.org/archives/xml/2002-November/msg00027.html Daniel -- Daniel Veillard | Red Hat Network https://rhn.redhat.com/ veillard@redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From fdrake@acm.org Tue Nov 5 14:23:52 2002 From: fdrake@acm.org (Fred L. Drake, Jr.) Date: Tue, 5 Nov 2002 09:23:52 -0500 Subject: [XML-SIG] Performance question In-Reply-To: References: <20021104215730.62655.qmail@web12804.mail.yahoo.com> <15814.61878.86403.879938@grendel.zope.com> Message-ID: <15815.54392.185411.122552@grendel.zope.com> Henry S. Thompson writes: > If you want _another_ factor of 10, go to PyLTXML. The report below > is from Python 2.2.1 on RedHat Linux 7.2 using PyXML 0.8.1 and > PyLTXML-1.3-2. Wow! That's fast! > I used Fred's driver, added two new functions to text bit-level and > tree-level access via PyLTXML. > > parser performance test > 100 parses took 3.88 seconds, or 0.04 seconds/parse > 100 parses took 0.25 seconds, or 0.00 seconds/parse > 100 parses took 0.02 seconds, or 0.00 seconds/parse > 100 parses took 0.03 seconds, or 0.00 seconds/parse > > The first measurement is the original 4DOM DOM builder, the second is > the expatbuilder, the third is PyLTXML returning the whole tree, the > fourth is PyLTXML returning every bit (start tag, end tag, text). I > guess the tree is faster because it's slightly lazy wrt Python > structures, i.e. only the root is in Python form as returned, the rest > gets converted from the native C structs as you walk the Python tree. So is the resulting object compliant (or at least close) to the Python DOM, as defined in the Python Library Reference? http://www.python.org/doc/current/lib/module-xml.dom.html (Lazy building of structures is fine, of course, since that's implementation.) If it doesn't support the DOM API, does it support something with an equivalent model and functionality? > Here are the additions I made to Fred's version of the script: ... > def allBits(s): > f=PyLTXML.OpenString(s1,PyLTXML.NSL_read|PyLTXML.NSL_read_namespaces) > b=PyLTXML.GetNextBit(f) > while b: > b=PyLTXML.GetNextBit(f) > PyLTXML.Close(f) > > def itemParse(s): > f=PyLTXML.OpenString(s1,PyLTXML.NSL_read|PyLTXML.NSL_read_namespaces) > b=PyLTXML.GetNextBit(f) > while b.type!='start': > b=PyLTXML.GetNextBit(f) > d=PyLTXML.ItemParse(f,b.item) > PyLTXML.Close(f) > return d Ouch! Very inscrutible code... at least to me. I must confess that I've not had time to dig into the LTXML API (C or Python), though I've stashed a copy of the documentation on my desk somewhere, meaning to get to it. -Fred -- Fred L. Drake, Jr. PythonLabs at Zope Corporation From fdrake@acm.org Tue Nov 5 15:04:50 2002 From: fdrake@acm.org (Fred L. Drake, Jr.) Date: Tue, 5 Nov 2002 10:04:50 -0500 Subject: [XML-SIG] minidom: Node._make_parent_nodes Message-ID: <15815.56850.542194.998746@grendel.zope.com> Does anyone know where Node._make_parent_nodes came from? It doesn't appear to be set anywhere except at class initialization time. It controls the setting of the parentNode reference, so I presume it originated before the cycle detector was added to Python. Is there still a need for it? Can it be removed, and the behavior made the same as when it's true (the default)? -Fred -- Fred L. Drake, Jr. PythonLabs at Zope Corporation From uche.ogbuji@fourthought.com Tue Nov 5 15:33:16 2002 From: uche.ogbuji@fourthought.com (Uche Ogbuji) Date: Tue, 05 Nov 2002 08:33:16 -0700 Subject: [XML-SIG] getDOMImplementation() extension In-Reply-To: Message from "Fred L. Drake, Jr." of "Mon, 28 Oct 2002 16:17:14 EST." <15805.43354.386664.895647@grendel.zope.com> Message-ID: > Proposal: > > Though it's possible to use the type of the value of the "features" > argument to determine whether to return None or raise an exception, > that seems both fragile and rediculous. I'm going to propose that we > simply declare (via documentation) that the Python binding for > getDOMImplementation() raises ImportError instead of returning None. > I wanted to bring the issue up here before doing that since that > doesn't fall into the same pattern as the rest of the binding and does > diverge from the W3C specification (however draft it may be). Why don't we just change the Python implementation to return None, which seems more sensible. -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://4Suite.org http://fourthought.com Python&XML column: 2. Introducing PyXML - http://www.xml.com/pub/a/2002/09/25/p y.html The Past, Present and Future of Web Services 1 - http://www.webservices.org/ind ex.php/article/articleview/663/1/24/ The Past, Present and Future of Web Services 2 - 'http://www.webservices.org/in dex.php/article/articleview/679/1/24/ Serenity through markup - http://adtmag.com/article.asp?id=6807 Tip: Using generators for XML processing - http://www-106.ibm.com/developerwork s/xml/library/x-tipgenr.html From fdrake@acm.org Tue Nov 5 17:04:36 2002 From: fdrake@acm.org (Fred L. Drake, Jr.) Date: Tue, 5 Nov 2002 12:04:36 -0500 Subject: [XML-SIG] getDOMImplementation() extension In-Reply-To: References: <15805.43354.386664.895647@grendel.zope.com> Message-ID: <15815.64036.720302.349190@grendel.zope.com> Uche Ogbuji writes: > Why don't we just change the Python implementation to return None, > which seems more sensible. The biggest catch with this is that it's a change to a documented API. I don't think we should do that, though I really don't like using ImportError. I'm inclined to create a subclass of ImportError though, and have it generate an error message that explains a bit more. -Fred -- Fred L. Drake, Jr. PythonLabs at Zope Corporation From martin@v.loewis.de Tue Nov 5 19:26:43 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 05 Nov 2002 20:26:43 +0100 Subject: [XML-SIG] minidom: Node._make_parent_nodes In-Reply-To: <15815.56850.542194.998746@grendel.zope.com> References: <15815.56850.542194.998746@grendel.zope.com> Message-ID: "Fred L. Drake, Jr." writes: > It controls the setting of the parentNode reference, so I presume it > originated before the cycle detector was added to Python. Is there > still a need for it? Can it be removed, and the behavior made the > same as when it's true (the default)? I think it can be removed. Regards, Martin From martin@v.loewis.de Tue Nov 5 19:28:07 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 05 Nov 2002 20:28:07 +0100 Subject: [XML-SIG] getDOMImplementation() extension In-Reply-To: <15815.64036.720302.349190@grendel.zope.com> References: <15805.43354.386664.895647@grendel.zope.com> <15815.64036.720302.349190@grendel.zope.com> Message-ID: "Fred L. Drake, Jr." writes: > The biggest catch with this is that it's a change to a documented > API. I don't think we should do that, though I really don't like > using ImportError. I like it (obviously): errors should never pass silently, unless expliclitly silenced. Regards, Martin From fdrake@acm.org Tue Nov 5 19:37:56 2002 From: fdrake@acm.org (Fred L. Drake, Jr.) Date: Tue, 5 Nov 2002 14:37:56 -0500 Subject: [XML-SIG] getDOMImplementation() extension In-Reply-To: References: <15805.43354.386664.895647@grendel.zope.com> <15815.64036.720302.349190@grendel.zope.com> Message-ID: <15816.7700.581822.558552@grendel.zope.com> Martin v. Loewis writes: > I like it (obviously): errors should never pass silently, unless > expliclitly silenced. I agree. The real difference between the W3C idea of getDOMImplementation() and the one we're using is in whether not getting an implementation for some particular feature set is an error. See Ray Whitmer's response to my questions about this on the www-dom list: http://lists.w3.org/Archives/Public/www-dom/2002OctDec/0108.html Which is the "right" thing is rightly very application-specific. For the W3C flavor of this, there's no such thing as "just gimme a DOM"; you always ask for some specific set of features, and the application can reasonably say "ok, that didn't work, let's try a reduced feature set and offer reduced functionality" (where any decent application will be able to tell the user if it makes sense to do so). As I consider in my response to Ray's comments: http://lists.w3.org/Archives/Public/www-dom/2002OctDec/0109.html the right approach may be to have a second function (either somewhere else or with a different name) that does implement the W3C API for this, but the overloading of the name may well not be the right way to go about this. -Fred -- Fred L. Drake, Jr. PythonLabs at Zope Corporation From fdrake@acm.org Tue Nov 5 20:08:39 2002 From: fdrake@acm.org (Fred L. Drake, Jr.) Date: Tue, 5 Nov 2002 15:08:39 -0500 Subject: [XML-SIG] minidom: Node._make_parent_nodes In-Reply-To: References: <15815.56850.542194.998746@grendel.zope.com> Message-ID: <15816.9543.898245.982607@grendel.zope.com> Martin v. Loewis writes: > I think it can be removed. Done! Just about anything to simplify the code at this point! ;-) -Fred -- Fred L. Drake, Jr. PythonLabs at Zope Corporation From martin@v.loewis.de Tue Nov 5 22:41:44 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 05 Nov 2002 23:41:44 +0100 Subject: [XML-SIG] getDOMImplementation() extension In-Reply-To: <15816.7700.581822.558552@grendel.zope.com> References: <15805.43354.386664.895647@grendel.zope.com> <15815.64036.720302.349190@grendel.zope.com> <15816.7700.581822.558552@grendel.zope.com> Message-ID: "Fred L. Drake, Jr." writes: > As I consider in my response to Ray's comments: > > http://lists.w3.org/Archives/Public/www-dom/2002OctDec/0109.html > > the right approach may be to have a second function (either somewhere > else or with a different name) that does implement the W3C API for > this, but the overloading of the name may well not be the right way to > go about this. Here I strongly disagree: If we have a function getDOMImplementation, then people *will* expect this to be the W3C function, regardless of the documentation saying that we have renamed this function. If people think that it would really be better to return None instead of raising an exception if no implementation can be found, I'd say that it is acceptable to break the API here: Few people will be affected, IMO, and they can readily support multiple versions: try: impl = xml.dom.getDOMImplementation(features) except ImportError: impl = None if impl is None: process error Regards, Martin From tpassin@comcast.net Wed Nov 6 00:28:17 2002 From: tpassin@comcast.net (Thomas B. Passin) Date: Tue, 05 Nov 2002 19:28:17 -0500 Subject: [XML-SIG] getDOMImplementation() extension References: <15805.43354.386664.895647@grendel.zope.com> <15815.64036.720302.349190@grendel.zope.com> <15816.7700.581822.558552@grendel.zope.com> Message-ID: <002a01c2852b$673527e0$fe193044@tbp1> [Martin v. Loewis] > "Fred L. Drake, Jr." writes: > > > As I consider in my response to Ray's comments: > > > > http://lists.w3.org/Archives/Public/www-dom/2002OctDec/0109.html > > > > the right approach may be to have a second function (either somewhere > > else or with a different name) that does implement the W3C API for > > this, but the overloading of the name may well not be the right way to > > go about this. > > Here I strongly disagree: If we have a function getDOMImplementation, > then people *will* expect this to be the W3C function, regardless of > the documentation saying that we have renamed this function. > > If people think that it would really be better to return None instead > of raising an exception if no implementation can be found, I'd say > that it is acceptable to break the API here: Few people will be > affected, IMO, and they can readily support multiple versions: > We could deprecate the old behavior and provide a means to phase it out over time - '''Returns ImportError if errorstyle == 'oldstyle', or None is errorstyle =='newstyle'. The old style is deprecated. In two more releases, the default will be changed to 'newstyle'.''' try: impl = xml.dom.getDOMImplementation(features, errorstyle='oldstyle') except ImportError: impl = None if impl is None: process error No one's code will break for a long time, if ever, new code can use the new style, and eventually, the errorstyle parameter can be eliminated. Cheers, Tom P From martin@v.loewis.de Wed Nov 6 06:54:24 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 06 Nov 2002 07:54:24 +0100 Subject: [XML-SIG] getDOMImplementation() extension In-Reply-To: <002a01c2852b$673527e0$fe193044@tbp1> References: <15805.43354.386664.895647@grendel.zope.com> <15815.64036.720302.349190@grendel.zope.com> <15816.7700.581822.558552@grendel.zope.com> <002a01c2852b$673527e0$fe193044@tbp1> Message-ID: "Thomas B. Passin" writes: > We could deprecate the old behavior and provide a means to phase it out over > time - That would work. However, I would really like to see that any code actually breaks under this change. We can change it in PyXML, and if anybody complains, we can change it back quickly and reconsider. Most likely, nothing breaks: all callers of getDOMImplementation arrange the arguments so that they know it will succeed. Regards, Martin From python1@awakened-lands.com Wed Nov 6 13:42:01 2002 From: python1@awakened-lands.com (Michael Steuer) Date: Wed, 6 Nov 2002 23:42:01 +1000 Subject: [XML-SIG] docu for pyXML version 0.8.x Message-ID: <008c01c2859a$4a9064f0$0300a8c0@mike1> I'm searching for some useful documentation for pyXML version 0.8.x, as the docu I could find is for version 0.7.1 and seems to be outdated. If anyone could point me to a good introduction to using SAX with pyXML or a good book on Python and XML (that isn't outdated), I would be grateful. Cheers, Mike. From ht@cogsci.ed.ac.uk Wed Nov 6 13:59:16 2002 From: ht@cogsci.ed.ac.uk (Henry S. Thompson) Date: 06 Nov 2002 13:59:16 +0000 Subject: [XML-SIG] Performance question In-Reply-To: <15815.54392.185411.122552@grendel.zope.com> References: <20021104215730.62655.qmail@web12804.mail.yahoo.com> <15814.61878.86403.879938@grendel.zope.com> <15815.54392.185411.122552@grendel.zope.com> Message-ID: "Fred L. Drake, Jr." writes: > Henry S. Thompson writes: > > If you want _another_ factor of 10, go to PyLTXML. The report below > > is from Python 2.2.1 on RedHat Linux 7.2 using PyXML 0.8.1 and > > PyLTXML-1.3-2. > > Wow! That's fast! > > > I used Fred's driver, added two new functions to text bit-level and > > tree-level access via PyLTXML. > > > > parser performance test > > 100 parses took 3.88 seconds, or 0.04 seconds/parse > > 100 parses took 0.25 seconds, or 0.00 seconds/parse > > 100 parses took 0.02 seconds, or 0.00 seconds/parse > > 100 parses took 0.03 seconds, or 0.00 seconds/parse > > > > The first measurement is the original 4DOM DOM builder, the second is > > the expatbuilder, the third is PyLTXML returning the whole tree, the > > fourth is PyLTXML returning every bit (start tag, end tag, text). I > > guess the tree is faster because it's slightly lazy wrt Python > > structures, i.e. only the root is in Python form as returned, the rest > > gets converted from the native C structs as you walk the Python tree. > > So is the resulting object compliant (or at least close) to the Python > DOM, as defined in the Python Library Reference? > > http://www.python.org/doc/current/lib/module-xml.dom.html Close. > (Lazy building of structures is fine, of course, since that's > implementation.) If it doesn't support the DOM API, does it support > something with an equivalent model and functionality? I believe so -- our model actually _predates_ the DOM, and we've never had the time/resources to roll it forward, but it was of course solving the same problem. The documentation lists the following Python object types: FileType DoctypeType ElementTypeType ContentParticleType AttrDefnType BitType ItemType OOBType ERefType QueryType These correspond to the xml.dom objects as follows, I think: FileType * 13.6.2.1 DOMImplementation Objects ItemType * 13.6.2.2 Node Objects python tuple * 13.6.2.3 NodeList Objects DoctypeType * 13.6.2.4 DocumentType Objects FileType * 13.6.2.5 Document Objects ItemType * 13.6.2.6 Element Objects not exposed * 13.6.2.7 Attr Objects not exposed * 13.6.2.8 NamedNodeMap Objects OOBType * 13.6.2.9 Comment Objects ItemType * 13.6.2.10 Text and CDATASection Objects OOBType * 13.6.2.11 ProcessingInstruction Objects The details are in the documentation which comes with the source distribution, which uses distutils and is GPL-click-wrapped at http://www.ltg.ed.ac.uk/software/xml/ To avoid hassle, you'll want the source and the appropriate binary distribution at a minimum -- actually _building_ the extension requires an LT XML installation as well. ht -- Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh W3C Fellow 1999--2002, part-time member of W3C Team 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk URL: http://www.ltg.ed.ac.uk/~ht/ [mail really from me _always_ has this .sig -- mail without it is forged spam] From hungjunglu@yahoo.com Wed Nov 6 15:40:56 2002 From: hungjunglu@yahoo.com (Hung Jung Lu) Date: Wed, 6 Nov 2002 07:40:56 -0800 (PST) Subject: [XML-SIG] Xerces Message-ID: <20021106154056.74724.qmail@web12601.mail.yahoo.com> Hi, I am new here, so I apologize if this topic has been mentioned before. Since the Apache group already has Xerces, I am wondering why Python does not simply just use it. (Perl port is done there, too.) What's the main difference (design goal, performance, license, etc.) between PyXML and Xerces? regards, Hung Jung __________________________________________________ Do you Yahoo!? HotJobs - Search new jobs daily now http://hotjobs.yahoo.com/ From martin@v.loewis.de Wed Nov 6 17:23:02 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 06 Nov 2002 18:23:02 +0100 Subject: [XML-SIG] docu for pyXML version 0.8.x In-Reply-To: <008c01c2859a$4a9064f0$0300a8c0@mike1> References: <008c01c2859a$4a9064f0$0300a8c0@mike1> Message-ID: "Michael Steuer" writes: > I'm searching for some useful documentation for pyXML version 0.8.x, > as the docu I could find is for version 0.7.1 and seems to be > outdated. In what ways is it outdated, except for the version number? > If anyone could point me to a good introduction to using SAX with > pyXML or a good book on Python and XML (that isn't outdated), I > would be grateful. For a quick introduction, I recommend the PyXML HOWTO. As a book, I recommend Jones & Drake, Python & XML, from O'Reilly. Regards, Martin From martin@v.loewis.de Wed Nov 6 17:27:23 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 06 Nov 2002 18:27:23 +0100 Subject: [XML-SIG] Xerces In-Reply-To: <20021106154056.74724.qmail@web12601.mail.yahoo.com> References: <20021106154056.74724.qmail@web12601.mail.yahoo.com> Message-ID: Hung Jung Lu writes: > Since the Apache group already has Xerces, I am > wondering why Python does not simply just use it. Python does use Xerces, see http://sourceforge.net/projects/pirxx/ > (Perl port is done there, too.) What's the main difference (design > goal, performance, license, etc.) between PyXML and Xerces? Well, Xerces is for C++, PyXML is for Python; this is the main difference. PyXML tries to integrate all sorts of XML technology into Python, both existing one and new one. As for Xerces specifically: PyXML offers a variety of XML parsers, depending on application needs. It also offers a variety of APIs for parsing (again depending on application needs). Regards, Martin From fdrake@acm.org Wed Nov 6 18:19:50 2002 From: fdrake@acm.org (Fred L. Drake, Jr.) Date: Wed, 6 Nov 2002 13:19:50 -0500 Subject: [XML-SIG] docu for pyXML version 0.8.x In-Reply-To: References: <008c01c2859a$4a9064f0$0300a8c0@mike1> Message-ID: <15817.23878.91005.656312@grendel.zope.com> Michael Steuer writes: > I'm searching for some useful documentation for pyXML version 0.8.x, > as the docu I could find is for version 0.7.1 and seems to be > outdated. Martin v. Loewis writes: > In what ways is it outdated, except for the version number? I also think the xml-ref document is difficult to locate on the Web. There doesn't appear to be a version at pyxml.sourceforge.net. Perhaps we should consider adding it back now that it no longer declares itself to be sufficiently outdated as to be worthless. ;-) > For a quick introduction, I recommend the PyXML HOWTO. As a book, I > recommend Jones & Drake, Python & XML, from O'Reilly. Thanks for the plug! ;-) -Fred -- Fred L. Drake, Jr. PythonLabs at Zope Corporation From fred@computronix.com Wed Nov 6 18:44:04 2002 From: fred@computronix.com (Fred Moscicki) Date: Wed, 6 Nov 2002 11:44:04 -0700 Subject: [XML-SIG] version 7 vs version 8 (Text Node) Message-ID: <27D23C54DCE5E743B5500C5295A73022D76A00@ALPHA.computronix.com> This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_000_01C285C4.7AE2BFC0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C285C4.7AE2BFC0" ------_=_NextPart_001_01C285C4.7AE2BFC0 Content-Type: text/plain Hi, I wrote some code using pyxml 7. I used code such as: a_Node = xml.dom.minidom.Text("data"); This works fine in 7. When I tried to upgrade to pyxml 8, it says I could no longer create a text node this way. Is there a way around this? Fred Moscicki Computronix Distinctive Software. Real People. Suite 200, 10216 - 124 Street NW, Edmonton, Alberta, Canada T5N 4A3 Phone: (780) 454-3700 Fax: (780) 454-3838 http://www.computronix.com You don't stop laughing because you grow old; you grow old because you stop laughing! ------_=_NextPart_001_01C285C4.7AE2BFC0 Content-Type: text/html Message
Hi,
 
I wrote some code using pyxml 7.  I used code such as:
 
    a_Node = xml.dom.minidom.Text("data");
 
This works fine in 7.
 
When I tried to upgrade to pyxml 8, it says I could no longer create a text node this way.  Is there a way around this?
 
Fred Moscicki

 

Computronix

 

Distinctive Software. Real People.

Suite 200, 10216 - 124 Street NW,

Edmonton, Alberta, Canada T5N 4A3

Phone: (780) 454-3700

Fax: (780) 454-3838

http://www.computronix.com

 

You don't stop laughing because you grow old; 
you grow old because you stop laughing!

 

------_=_NextPart_001_01C285C4.7AE2BFC0-- ------_=_NextPart_000_01C285C4.7AE2BFC0 Content-Type: image/jpeg; name="Clear Day Bkgrd.JPG" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Clear Day Bkgrd.JPG" Content-ID: <080193718@06112002-33E4> /9j/4AAQSkZJRgABAgEASABIAAD/7QVoUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQABOEJJTQPzAAAAAAAIAAAAAAAAAAA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgAB AAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEA MgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////// //////////////////8D6AAAAAD/////////////////////////////A+gAAAAA//////////// /////////////////wPoAAAAAP////////////////////////////8D6AAAOEJJTQQIAAAAAAAQ AAAAAQAAAkAAAAJAAAAAADhCSU0ECQAAAAAD9wAAAAEAAACAAAAAgAAAAYAAAMAAAAAD2wAYAAH/ 2P/gABBKRklGAAECAQBIAEgAAP/+ACdGaWxlIHdyaXR0ZW4gYnkgQWRvYmUgUGhvdG9zaG9wqCA0 LjAA/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwM DAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwM DAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAgACAAwEiAAIRAQMR Af/dAAQACP/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVS wWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSl tcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFR YXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOE w9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A 9LSS7JlWLMolMkkmpXSTpIqUnCinCQQySTSknWilJkpSQtKxSlJJBKk6ZOkFP//Q9LlJMnVZmVCY qRUUCpSRKUpkErSpBRhOkClkCkmCcJ1rVQmUk0JKUm7p0kEqSTSkUrU//9H0kKQUU8qoCzlclRTy opEqC6SSSSVwlokkihScJAJwEgEKCRTpiE6lLJJJkFLJJJJq5//S9JTJ0ypthcJJkpSUukklqipS kmhSARAQVBJOE6ctWCdJIooYlRKkSok6ppXBSRSCcodEv//T9JSSThVGwxITKZTQhSrUE6QCdOCC uEkySKF5Ugop0QgrpikSokokqCxTKSaEwrlBP8Eyfskh/9T0lSUSkCVUZ2SSYKSKFkkkgipSSdMU lLpFMmJStVLykmlOhaVJJAJ4RQslKSZBL//V9JTwkkqjOunUU4KchSQTpJKWJSTEppQtNLkpkk8I bqUAnSTIqZJSmSRQsmUlEoFIf//W9KCSSdVWdZIJQkkplKZNKSNopc6qMKSZBKycFOkB4pUq1JJ4 CUI0i1kydMUClUpkkkEv/9kAOEJJTQQGAAAAAAAHAAMAAAABAQD//gAnRmlsZSB3cml0dGVuIGJ5 IEFkb2JlIFBob3Rvc2hvcKggNC4wAP/uAA5BZG9iZQBkAAAAAAH/2wCEAAoHBwcIBwoICAoPCggK DxINCgoNEhQQEBIQEBQRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBCwwMFRMV IhgYIhQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DP/AABEIASwBLAMBEQACEQEDEQH/3QAEACb/xAGiAAAABwEBAQEBAAAAAAAAAAAEBQMCBgEABwgJ CgsBAAICAwEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAgEDAwIEAgYHAwQCBgJzAQIDEQQABSES MUFRBhNhInGBFDKRoQcVsUIjwVLR4TMWYvAkcoLxJUM0U5KismNzwjVEJ5OjszYXVGR0w9LiCCaD CQoYGYSURUaktFbTVSga8uPzxNTk9GV1hZWltcXV5fVmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9zhI 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 ------_=_NextPart_000_01C285C4.7AE2BFC0-- From thehaas@binary.net Wed Nov 6 19:02:02 2002 From: thehaas@binary.net (Mike Hostetler) Date: Wed, 6 Nov 2002 13:02:02 -0600 Subject: [XML-SIG] version 7 vs version 8 (Text Node) In-Reply-To: <27D23C54DCE5E743B5500C5295A73022D76A00@ALPHA.computronix.com>; from fred@computronix.com on Wed, Nov 06, 2002 at 11:44:04AM -0700 References: <27D23C54DCE5E743B5500C5295A73022D76A00@ALPHA.computronix.com> Message-ID: <20021106130202.A3399@matrix.binary.net> On Wed, Nov 06, 2002 at 11:44:04AM -0700, Fred Moscicki wrote: > Hi, > > I wrote some code using pyxml 7. I used code such as: > > a_Node = xml.dom.minidom.Text("data"); > I've never had problems doing it this way. node = domTree.createTextNode("data") domTree.appendChild(node) # to put it in the DOM this assumes, of course, that you already have a DOM Tree created. Which you should, anyway, from the above example. -- mikeh From martin@v.loewis.de Wed Nov 6 22:53:44 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 06 Nov 2002 23:53:44 +0100 Subject: [XML-SIG] version 7 vs version 8 (Text Node) In-Reply-To: <20021106130202.A3399@matrix.binary.net> References: <27D23C54DCE5E743B5500C5295A73022D76A00@ALPHA.computronix.com> <20021106130202.A3399@matrix.binary.net> Message-ID: Mike Hostetler writes: > > a_Node = xml.dom.minidom.Text("data"); > > > > I've never had problems doing it this way. > > node = domTree.createTextNode("data") > domTree.appendChild(node) # to put it in the DOM > > this assumes, of course, that you already have a DOM Tree created. Which > you should, anyway, from the above example. This is the official interface, also: it is *the* DOM interface. That Text had an __init__ was an implementation detail, which was not documented and not supposed to be used. OTOH, createTextNode was documented all the time, both in the Python documentation, and the W3C DOM specification. Regards, Martin From martin@v.loewis.de Wed Nov 6 22:54:59 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 06 Nov 2002 23:54:59 +0100 Subject: [XML-SIG] docu for pyXML version 0.8.x In-Reply-To: <15817.23878.91005.656312@grendel.zope.com> References: <008c01c2859a$4a9064f0$0300a8c0@mike1> <15817.23878.91005.656312@grendel.zope.com> Message-ID: "Fred L. Drake, Jr." writes: > I also think the xml-ref document is difficult to locate on the Web. > There doesn't appear to be a version at pyxml.sourceforge.net. > Perhaps we should consider adding it back now that it no longer > declares itself to be sufficiently outdated as to be worthless. ;-) Certainly. I have to rely on contributors, here, since I don't master the process of generating HTML from the LaTeX. Regards, Martin From uche.ogbuji@fourthought.com Thu Nov 7 01:16:46 2002 From: uche.ogbuji@fourthought.com (Uche Ogbuji) Date: Wed, 06 Nov 2002 18:16:46 -0700 Subject: [XML-SIG] Performance question In-Reply-To: Message from "Fred L. Drake, Jr." of "Mon, 04 Nov 2002 17:16:22 EST." <15814.61878.86403.879938@grendel.zope.com> Message-ID: This is a multipart MIME message. --==_Exmh_-18413914710 Content-Type: text/plain; charset=us-ascii > Bryan Pendleton writes: > > I was trying to figure out what sort of XML Parser > > performance I could expect out of pyxml. I'm using > > Python 2.2.2 under Windows 2000 with pyxml 0.8.1. > > My test below was run using Python 2.2.2 on RedHat Linux 7.2 using > PyXML from CVS. Just wanted to pitch in results with cDomlette. Results below, updated script attached. $ python dom-parse-perf.py parser performance test 4DOM - 100 parses took 18.57 seconds, or 0.19 seconds/parse minidom - 100 parses took 1.51 seconds, or 0.02 seconds/parse cDomlette - 100 parses took 1.49 seconds, or 0.01 seconds/parse Athlon 1800+ with 768MB RAM, Debian sarge 2.4.19, Python 2.2. -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://4Suite.org http://fourthought.com Python&XML column: 2. Introducing PyXML - http://www.xml.com/pub/a/2002/09/25/p y.html The Past, Present and Future of Web Services 1 - http://www.webservices.org/ind ex.php/article/articleview/663/1/24/ The Past, Present and Future of Web Services 2 - 'http://www.webservices.org/in dex.php/article/articleview/679/1/24/ Serenity through markup - http://adtmag.com/article.asp?id=6807 Tip: Using generators for XML processing - http://www-106.ibm.com/developerwork s/xml/library/x-tipgenr.html --==_Exmh_-18413914710 Content-Type: text/plain ; name="dom-parse-perf.py"; charset=us-ascii Content-Description: dom-parse-perf.py Content-Disposition: attachment; filename="dom-parse-perf.py" import time from xml.dom.ext.reader import PyExpat from xml.dom import expatbuilder from Ft.Xml.Domlette import NonvalidatingReader def parseString(s): reader = PyExpat.Reader() return reader.fromString(s) def doTest(numTimes, s, parse, label): t1 = time.time() for i in range(numTimes): d = parse(s) t2 = time.time() print label, '- %d parses took %.2f seconds, or %.2f seconds/parse' % \ ( numTimes, t2 - t1, (t2 - t1) / numTimes ) return d s1 = ''' built-in supplier Supplier Processing catalog request 0 Tue Oct 29 15:03:48 2002 ''' print 'parser performance test' doTest(100, s1, parseString, "4DOM") doTest(100, s1, expatbuilder.parseString, "minidom") doTest(100, s1, NonvalidatingReader.parseString, "cDomlette") --==_Exmh_-18413914710-- From uche.ogbuji@fourthought.com Thu Nov 7 04:27:56 2002 From: uche.ogbuji@fourthought.com (Uche Ogbuji) Date: Wed, 06 Nov 2002 21:27:56 -0700 Subject: [XML-SIG] docu for pyXML version 0.8.x In-Reply-To: Message from "Michael Steuer" of "Wed, 06 Nov 2002 23:42:01 +1000." <008c01c2859a$4a9064f0$0300a8c0@mike1> Message-ID: > I'm searching for some useful documentation for pyXML version 0.8.x, as the docu > I could find is for version 0.7.1 and seems to be outdated. > > If anyone could point me to a good introduction to using SAX with pyXML or a > good book on Python and XML (that isn't outdated), I would be grateful. There may be some helpful stuff in http://uche.ogbuji.net/tech/akara/pyxml/sax/ I try to mark obsolete resources. If you find any that er obsolete that I don't indicate as such, please let me know. Ditto if you find other resources I'm missing. -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://4Suite.org http://fourthought.com Python&XML column: 2. Introducing PyXML - http://www.xml.com/pub/a/2002/09/25/p y.html The Past, Present and Future of Web Services 1 - http://www.webservices.org/ind ex.php/article/articleview/663/1/24/ The Past, Present and Future of Web Services 2 - 'http://www.webservices.org/in dex.php/article/articleview/679/1/24/ Serenity through markup - http://adtmag.com/article.asp?id=6807 Tip: Using generators for XML processing - http://www-106.ibm.com/developerwork s/xml/library/x-tipgenr.html From uche.ogbuji@fourthought.com Thu Nov 7 16:19:09 2002 From: uche.ogbuji@fourthought.com (Uche Ogbuji) Date: Thu, 07 Nov 2002 09:19:09 -0700 Subject: [XML-SIG] version 7 vs version 8 (Text Node) In-Reply-To: Message from Mike Hostetler of "Wed, 06 Nov 2002 13:02:02 CST." <20021106130202.A3399@matrix.binary.net> Message-ID: > On Wed, Nov 06, 2002 at 11:44:04AM -0700, Fred Moscicki wrote: > > Hi, > > > > I wrote some code using pyxml 7. I used code such as: > > > > a_Node = xml.dom.minidom.Text("data"); > > > > I've never had problems doing it this way. > > node = domTree.createTextNode("data") > domTree.appendChild(node) # to put it in the DOM > > this assumes, of course, that you already have a DOM Tree created. Which > you should, anyway, from the above example. Actually, Mike Olson ran into similar problems between 0.7.1 and 0.8x. I don't recall the details. Perhaps he can fill in. -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://4Suite.org http://fourthought.com Python&XML column: 2. Introducing PyXML - http://www.xml.com/pub/a/2002/09/25/p y.html The Past, Present and Future of Web Services 1 - http://www.webservices.org/ind ex.php/article/articleview/663/1/24/ The Past, Present and Future of Web Services 2 - 'http://www.webservices.org/in dex.php/article/articleview/679/1/24/ Serenity through markup - http://adtmag.com/article.asp?id=6807 Tip: Using generators for XML processing - http://www-106.ibm.com/developerwork s/xml/library/x-tipgenr.html From martin@v.loewis.de Thu Nov 7 16:23:55 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 07 Nov 2002 17:23:55 +0100 Subject: [XML-SIG] version 7 vs version 8 (Text Node) In-Reply-To: References: Message-ID: Uche Ogbuji writes: > Actually, Mike Olson ran into similar problems between 0.7.1 and 0.8x. I > don't recall the details. Perhaps he can fill in. I think it was the very same issue, and Mike agreed that using the DOM API was the right thing to do. Regards, Martin From fdrake@acm.org Thu Nov 7 17:43:19 2002 From: fdrake@acm.org (Fred L. Drake, Jr.) Date: Thu, 7 Nov 2002 12:43:19 -0500 Subject: [XML-SIG] xml package refresh for Python 2.3 Message-ID: <15818.42551.480115.595637@grendel.zope.com> Guido indicated yesterday that he'd like to see Python 2.3 alpha 1 happen this year. Before that happens, I need to "refresh" the xml package in Python with updated software from PyXML. This currently means the following things will be updated in Python: - Modules/expat/* [the Expat library code] - Modules/pyexpat.c [Python Expat bindings] - Lib/xml/dom/ domreg.py [getDOMImplementation() & friends] minidom.py [minidom, like it says] minicompat.py [to be added] xmlbuilder.py [to be added] expatbuilder.py [to be added] pulldom.py [if it changed at all] - Lib/xml/sax/ I'd like some guidance here. - Doc/lib/ xml*.tex [update material integrated from doc/xml-ref.tex] I expect the tasks will be: 1. Wrap up any Expat issues remaining (me). 2. Release the next version of Expat (me). 3. Update the Expat code in PyXML (me). 4. Release PyXML 0.8.2 (Martin? please? ;). 5. Update code in Python as described above (me). Guido would like the Python CVS to be ready no later than mid-December, so I'd like to get items 1-4 done by the end of this month. Does that work for everyone else? Martin, will you have time to cut a PyXML release around then, or do we need someone else to volunteer for the task? (I certainly appreciate the work you've done keeping things moving around release times!) -Fred -- Fred L. Drake, Jr. PythonLabs at Zope Corporation From martin@v.loewis.de Thu Nov 7 20:55:36 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 07 Nov 2002 21:55:36 +0100 Subject: [XML-SIG] xml package refresh for Python 2.3 In-Reply-To: <15818.42551.480115.595637@grendel.zope.com> References: <15818.42551.480115.595637@grendel.zope.com> Message-ID: "Fred L. Drake, Jr." writes: > 1. Wrap up any Expat issues remaining (me). > 2. Release the next version of Expat (me). > 3. Update the Expat code in PyXML (me). > 4. Release PyXML 0.8.2 (Martin? please? ;). Sure. > 5. Update code in Python as described above (me). > > Guido would like the Python CVS to be ready no later than > mid-December, so I'd like to get items 1-4 done by the end of this > month. Does that work for everyone else? It depends on the question when item 1 is done. Regards, Martin From ht@cogsci.ed.ac.uk Fri Nov 8 16:36:48 2002 From: ht@cogsci.ed.ac.uk (Henry S. Thompson) Date: 08 Nov 2002 16:36:48 +0000 Subject: [XML-SIG] New release of XSV, with RPMs and distutils support Message-ID: I've finished my repackaging work on XSV [1], with the result that it's now available in RPM [2] [3] and distutils-friendly tarball [4] versions. Those all require Python and depend on PyLTXML [5]. A standalone WIN32 installer [6] which does _not_ include the sources is also available. ht [1] http://www.ltg.ed.ac.uk/~ht/xsv-status.html [2] ftp://ftp.cogsci.ed.ac.uk/pub/XSV/XSV-2.0-3.noarch.rpm [3] ftp://ftp.cogsci.ed.ac.uk/pub/XSV/XSV-2.0-3.src.rpm [4] ftp://ftp.cogsci.ed.ac.uk/pub/XSV/XSV-2.0.tar.gz [5] http://www.ltg.ed.ac.uk/software/xml/ [6] ftp://ftp.cogsci.ed.ac.uk/pub/XSV/XSV20.EXE -- Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh W3C Fellow 1999--2002, part-time member of W3C Team 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk URL: http://www.ltg.ed.ac.uk/~ht/ [mail really from me _always_ has this .sig -- mail without it is forged spam] From ninti@ninti.com Sun Nov 10 03:15:49 2002 From: ninti@ninti.com (Michael Hall) Date: Sun, 10 Nov 2002 14:15:49 +1100 Subject: [XML-SIG] 4xslt - passing parameters Message-ID: <1036898149.3dcdcf65bfb0a@anchor.net.au> I am used to doing XSLT with PHP/Sablotron, but am exploring alternatives because of the difficulty I have had lately getting Sablotron to work consistently across different platforms (eg RedHat 7.2 -> RedHat 8.0). Anyway, I now have a working Python CGI script that will do most things I need. I'm using PyXML, so I guess the XSLT processor is 4XSLT. The only thing I can't determine (I'm reading 'Python & XML' by Jones and Drake) is whether it is possible to pass parameters to an XSL stylesheet using 4XSLT in PyXML. I need to pass one parameter (a page/section number) to an XSL stylesheet that processes one large XML file and creates about 50 seperate HTML files from it. Thanks Mick -- ---------------------------------------------------- MICHAEL HALL Web Development Officer Batchelor Institute of Indigenous Tertiary Education W: mick.hall@nt.gov.au (08) 8951 8352 H: ninti@ninti.com (08) 8953 1442 ---------------------------------------------------- From Matt Gushee Sun Nov 10 05:31:53 2002 From: Matt Gushee (Matt Gushee) Date: Sat, 9 Nov 2002 22:31:53 -0700 Subject: [XML-SIG] 4xslt - passing parameters In-Reply-To: <1036898149.3dcdcf65bfb0a@anchor.net.au> References: <1036898149.3dcdcf65bfb0a@anchor.net.au> Message-ID: <20021110053152.GB626@swordfish> On Sun, Nov 10, 2002 at 02:15:49PM +1100, Michael Hall wrote: > > Anyway, I now have a working Python CGI script that will do most things I > need. I'm using PyXML, so I guess the XSLT processor is 4XSLT. The only thing > I can't determine (I'm reading 'Python & XML' by Jones and Drake) is whether > it is possible to pass parameters to an XSL stylesheet using 4XSLT in PyXML. I > need to pass one parameter (a page/section number) to an XSL stylesheet that > processes one large XML file and creates about 50 seperate HTML files from it. Yes, you should be able to do that. How exactly are you invoking the transformation? If you have a Processor instance proc, and you are calling, e.g. proc.runStream(str) then you can simply add the keyword argument topLevelParams with a dictionary of parameters as its value. For example: result = proc.runStream(str, topLevelParams={'page': 27}) If that doesn't address your need, perhaps you could post a sample of your code. -- Matt Gushee When a nation follows the Way, Englewood, Colorado, USA Horses bear manure through mgushee@havenrock.com its fields; http://www.havenrock.com/ When a nation ignores the Way, Horses bear soldiers through its streets. --Lao Tzu (Peter Merel, trans.) From mlucassm@bigpond.net.au Sun Nov 10 05:48:17 2002 From: mlucassm@bigpond.net.au (mls) Date: Sun, 10 Nov 2002 16:48:17 +1100 Subject: [XML-SIG] Python 1.5.2 ? Message-ID: <3DCDF321.8070900@bigpond.net.au> Hi, I want to use PyXML for my Python project, but the server I'm using only has Python 1.5.2 and it seems unlikely they'll upgrade any time soon. The pyxml website says the latest is 0.6.6 but the sourceforge page gives you 0.8.1 which doesn't compile with python 1.5.2 apparently.. python setup.py build Traceback (innermost last): File "setup.py", line 93, in ? if sys.byteorder == "little": AttributeError: byteorder if the only thing to do is use an older version.. which one and where can I get it? Michael Lucas-Smith From Mike.Olson@fourthought.com Sun Nov 10 06:22:34 2002 From: Mike.Olson@fourthought.com (Mike Olson) Date: 09 Nov 2002 23:22:34 -0700 Subject: [XML-SIG] 4xslt - passing parameters In-Reply-To: <20021110053152.GB626@swordfish> References: <1036898149.3dcdcf65bfb0a@anchor.net.au> <20021110053152.GB626@swordfish> Message-ID: <1036909355.2344.66.camel@penny> > > Yes, you should be able to do that. How exactly are you invoking the > transformation? If you have a Processor instance proc, and you are calling, > e.g. > > proc.runStream(str) > > then you can simply add the keyword argument topLevelParams with a > dictionary of parameters as its value. For example: > > result = proc.runStream(str, topLevelParams={'page': 27}) I'm not sure if this works, though it might (let me know if it does). The problem is that the key in the dictionary must contain the namespace of the variable as well. So assuming the variable is referenced as "$page" then the dictionary that is passed in must be: {('','page'),27} Mike > > If that doesn't address your need, perhaps you could post a sample of > your code. > > -- > Matt Gushee When a nation follows the Way, > Englewood, Colorado, USA Horses bear manure through > mgushee@havenrock.com its fields; > http://www.havenrock.com/ When a nation ignores the Way, > Horses bear soldiers through > its streets. > > --Lao Tzu (Peter Merel, trans.) > > _______________________________________________ > XML-SIG maillist - XML-SIG@python.org > http://mail.python.org/mailman/listinfo/xml-sig -- Mike Olson Principal Consultant mike.olson@fourthought.com +1 303 583 9900 x 102 Fourthought, Inc. http://Fourthought.com PO Box 270590, http://4Suite.org Louisville, CO 80027-5009, USA XML strategy, XML tools, knowledge management From Matt Gushee Sun Nov 10 06:34:57 2002 From: Matt Gushee (Matt Gushee) Date: Sat, 9 Nov 2002 23:34:57 -0700 Subject: [XML-SIG] 4xslt - passing parameters In-Reply-To: <1036909355.2344.66.camel@penny> References: <1036898149.3dcdcf65bfb0a@anchor.net.au> <20021110053152.GB626@swordfish> <1036909355.2344.66.camel@penny> Message-ID: <20021110063457.GC626@swordfish> On Sat, Nov 09, 2002 at 11:22:34PM -0700, Mike Olson wrote: > > > > Yes, you should be able to do that. How exactly are you invoking the > > transformation? If you have a Processor instance proc, and you are calling, > > e.g. > > > > proc.runStream(str) > > > > then you can simply add the keyword argument topLevelParams with a > > dictionary of parameters as its value. For example: > > > > result = proc.runStream(str, topLevelParams={'page': 27}) > > I'm not sure if this works, though it might (let me know if it does). > The problem is that the key in the dictionary must contain the namespace > of the variable as well. So assuming the variable is referenced as > "$page" then the dictionary that is passed in must be: > > {('','page'),27} Okay ... I'm not saying this is wrong (you know this stuff better than I do, of course), but why do you need to pass a namespace, when XSLT parameters don't have namespaces? And why is it an empty string, when null namespaces for elements and attributes are represented as None? Inquiring minds want to know. -- Matt Gushee When a nation follows the Way, Englewood, Colorado, USA Horses bear manure through mgushee@havenrock.com its fields; http://www.havenrock.com/ When a nation ignores the Way, Horses bear soldiers through its streets. --Lao Tzu (Peter Merel, trans.) From Mike.Olson@fourthought.com Sun Nov 10 06:57:27 2002 From: Mike.Olson@fourthought.com (Mike Olson) Date: 09 Nov 2002 23:57:27 -0700 Subject: [XML-SIG] 4xslt - passing parameters In-Reply-To: <20021110063457.GC626@swordfish> References: <1036898149.3dcdcf65bfb0a@anchor.net.au> <20021110053152.GB626@swordfish> <1036909355.2344.66.camel@penny> <20021110063457.GC626@swordfish> Message-ID: <1036911448.2344.102.camel@penny> > > I'm not sure if this works, though it might (let me know if it does). > > The problem is that the key in the dictionary must contain the namespace > > of the variable as well. So assuming the variable is referenced as > > "$page" then the dictionary that is passed in must be: > > > > {('','page'),27} > > Okay ... I'm not saying this is wrong (you know this stuff better than I > do, of course), but why do you need to pass a namespace, when XSLT > parameters don't have namespaces? Sure: is different then And why is it an empty string, when > null namespaces for elements and attributes are represented as None? Ooops, busted. It should be None. Mike > > Inquiring minds want to know. > > -- > Matt Gushee When a nation follows the Way, > Englewood, Colorado, USA Horses bear manure through > mgushee@havenrock.com its fields; > http://www.havenrock.com/ When a nation ignores the Way, > Horses bear soldiers through > its streets. > > --Lao Tzu (Peter Merel, trans.) > > _______________________________________________ > XML-SIG maillist - XML-SIG@python.org > http://mail.python.org/mailman/listinfo/xml-sig -- Mike Olson Principal Consultant mike.olson@fourthought.com +1 303 583 9900 x 102 Fourthought, Inc. http://Fourthought.com PO Box 270590, http://4Suite.org Louisville, CO 80027-5009, USA XML strategy, XML tools, knowledge management From martin@v.loewis.de Sun Nov 10 07:34:44 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 10 Nov 2002 08:34:44 +0100 Subject: [XML-SIG] Python 1.5.2 ? In-Reply-To: <3DCDF321.8070900@bigpond.net.au> References: <3DCDF321.8070900@bigpond.net.au> Message-ID: mls writes: > if the only thing to do is use an older version.. which one and where > can I get it? PyXML 0.7.1 is the last release that supports Python 1.5.2. You can download it from http://sourceforge.net/project/showfiles.php?group_id=6473 Regards, Martin From noreply@sourceforge.net Sun Nov 10 23:02:12 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Sun, 10 Nov 2002 15:02:12 -0800 Subject: [XML-SIG] [ pyxml-Patches-636380 ] Fix build problem with CVS python Message-ID: Patches item #636380, was opened at 2002-11-11 10:02 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=306473&aid=636380&group_id=6473 Category: expat Group: None Status: Open Resolution: None Priority: 5 Submitted By: Mark Hammond (mhammond) Assigned to: Nobody/Anonymous (nobody) Summary: Fix build problem with CVS python Initial Comment: Current CVS Python fails to build this. The following patch fixes it, and should still work with old versions. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=306473&aid=636380&group_id=6473 From uche.ogbuji@fourthought.com Mon Nov 11 07:08:54 2002 From: uche.ogbuji@fourthought.com (Uche Ogbuji) Date: Mon, 11 Nov 2002 00:08:54 -0700 Subject: [XML-SIG] 4xslt - passing parameters In-Reply-To: Message from Mike Olson of "09 Nov 2002 23:22:34 MST." <1036909355.2344.66.camel@penny> Message-ID: > > > > Yes, you should be able to do that. How exactly are you invoking the > > transformation? If you have a Processor instance proc, and you are calling, > > e.g. > > > > proc.runStream(str) > > > > then you can simply add the keyword argument topLevelParams with a > > dictionary of parameters as its value. For example: > > > > result = proc.runStream(str, topLevelParams={'page': 27}) > > I'm not sure if this works, though it might (let me know if it does). > The problem is that the key in the dictionary must contain the namespace > of the variable as well. So assuming the variable is referenced as > "$page" then the dictionary that is passed in must be: > > {('','page'),27} No. You don't have to pass in a namespace. BTW, your example is wrong in either case because the empty namespace is None, not '' (I suggest always using xml.dom.EMPTY_NAMESPACE. Anyway, Just as XSLT standard parameters default to no namespace if no prefix is used, so do 4XSLT's from the command line. It has always been this way. -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://4Suite.org http://fourthought.com Python&XML column: 2. Introducing PyXML - http://www.xml.com/pub/a/2002/09/25/py.html The Past, Present and Future of Web Services 1 - http://www.webservices.org/index.php/article/articleview/663/1/24/ The Past, Present and Future of Web Services 2 - 'http://www.webservices.org/index.php/article/articleview/679/1/24/ Serenity through markup - http://adtmag.com/article.asp?id=6807 Tip: Using generators for XML processing - http://www-106.ibm.com/developerworks/xml/library/x-tipgenr.html From uche.ogbuji@fourthought.com Mon Nov 11 07:24:42 2002 From: uche.ogbuji@fourthought.com (Uche Ogbuji) Date: Mon, 11 Nov 2002 00:24:42 -0700 Subject: [XML-SIG] 4xslt - passing parameters In-Reply-To: Message from Uche Ogbuji of "Mon, 11 Nov 2002 00:08:54 MST." Message-ID: > > > > > > Yes, you should be able to do that. How exactly are you invoking the > > > transformation? If you have a Processor instance proc, and you are calling, > > > e.g. > > > > > > proc.runStream(str) > > > > > > then you can simply add the keyword argument topLevelParams with a > > > dictionary of parameters as its value. For example: > > > > > > result = proc.runStream(str, topLevelParams={'page': 27}) > > > > I'm not sure if this works, though it might (let me know if it does). > > The problem is that the key in the dictionary must contain the namespace > > of the variable as well. So assuming the variable is referenced as > > "$page" then the dictionary that is passed in must be: > > > > {('','page'),27} > > No. You don't have to pass in a namespace. BTW, your example is wrong in > either case because the empty namespace is None, not '' (I suggest always > using xml.dom.EMPTY_NAMESPACE. > > Anyway, Just as XSLT standard parameters default to no namespace if no prefix > is used, so do 4XSLT's from the command line. > > It has always been this way. In a fit of curiousity, I went to 4Suite 0.11.1 and pulled out this old snippet from Stylesheet.prime: for k in topLevelParams.keys(): if type(k) != types.TupleType: try: split_name = Util.ExpandQName(k, namespaces=context.processorNss) except KeyError: continue else: split_name = k overridden_params[split_name] = topLevelParams[k] Ah, nostalgia. :-) That having been said, "It has always been this way" is no reason it cannot change. Perhaps we can expect more sophistication from a user of the Processor API than we can a Web or command-line user. But even after a bit of though, I'm not inclined right away to make things more restrictive. -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://4Suite.org http://fourthought.com Python&XML column: 2. Introducing PyXML - http://www.xml.com/pub/a/2002/09/25/p y.html The Past, Present and Future of Web Services 1 - http://www.webservices.org/ind ex.php/article/articleview/663/1/24/ The Past, Present and Future of Web Services 2 - 'http://www.webservices.org/in dex.php/article/articleview/679/1/24/ Serenity through markup - http://adtmag.com/article.asp?id=6807 Tip: Using generators for XML processing - http://www-106.ibm.com/developerwork s/xml/library/x-tipgenr.html From noreply@sourceforge.net Tue Nov 12 20:19:42 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Tue, 12 Nov 2002 12:19:42 -0800 Subject: [XML-SIG] [ pyxml-Bugs-637355 ] minidom.writexml does not write attr ns Message-ID: Bugs item #637355, was opened at 2002-11-12 20:19 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=106473&aid=637355&group_id=6473 Category: DOM Group: None Status: Open Resolution: None Priority: 5 Submitted By: Alan Kennedy (amak) Assigned to: Nobody/Anonymous (nobody) Summary: minidom.writexml does not write attr ns Initial Comment: Hi, minidom.Node.writexml does not write attribute namespaces correctly. Here is a code snippet that reproduces the problem. import sys import xml.dom.minidom as xmd docstring = "" doc = xmd.parseString(docstring) doc.writexml(sys.stdout) This should produce something like but instead produces i.e. the namespace prefix on the attribute is missing. Regards, Alan Kennedy. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=106473&aid=637355&group_id=6473 From uche.ogbuji@fourthought.com Thu Nov 14 01:48:41 2002 From: uche.ogbuji@fourthought.com (Uche Ogbuji) Date: Wed, 13 Nov 2002 18:48:41 -0700 Subject: [XML-SIG] Article: Proper XML Output in Python Message-ID: http://www.xml.com/pub/a/2002/11/13/py-xml.html In this article, I methodically thrash out the issues on producing XML output from Python programs. I think this article is probably applicable beyond the Python community, so do pass on the link accordingly. Thanks. -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://4Suite.org http://fourthought.com Python&XML column: 2. Introducing PyXML - http://www.xml.com/pub/a/2002/09/25/p y.html The Past, Present and Future of Web Services 1 - http://www.webservices.org/ind ex.php/article/articleview/663/1/24/ The Past, Present and Future of Web Services 2 - 'http://www.webservices.org/in dex.php/article/articleview/679/1/24/ Serenity through markup - http://adtmag.com/article.asp?id=6807 Tip: Using generators for XML processing - http://www-106.ibm.com/developerwork s/xml/library/x-tipgenr.html From jlawhead@bellsouth.net Fri Nov 15 05:56:26 2002 From: jlawhead@bellsouth.net (Joel Lawhead) Date: Thu, 14 Nov 2002 23:56:26 -0600 Subject: [XML-SIG] minidom.Element.writexml() change Message-ID: <3DD48C8A.189E6433@bellsouth.net> Hi, I altered the writexml() method of the Element class in minidom so the tags for text elements are on the same line as the data they contain. The standard minidom.Element.writexml() produces output like this: Photo Scale64m 60 277 true My modified minidom.Element.writexml() produces more readable output like this: Photo Scale64m 15 60 277 true The forums on the xml-sig SoureForge page seem to be broken so I'm posting the method here: def writexml(self, writer, indent="", addindent="", newl=""): """This version of write xml makes sure text nodes are surrounded by tags for easier reading rather than being on lines by themselves.""" # indent = current indentation # addindent = indentation to add to higher levels # newl = newline string writer.write(indent+"<" + self.tagName) attrs = self._get_attributes() a_names = attrs.keys() a_names.sort() for a_name in a_names: writer.write(" %s=\"" % a_name) _write_data(writer, attrs[a_name].value) writer.write("\"") if self.childNodes: writer.write(">%s"%(newl)) for node in self.childNodes: if node.nodeType!=node.TEXT_NODE: node.writexml(writer,indent+addindent,addindent,newl) else: writer.seek(writer.tell()-1) node.writexml(writer,"",addindent,"") if self.childNodes[-1].nodeType!=node.TEXT_NODE: writer.write("%s%s" % (indent,self.tagName,newl)) else: writer.write("%s" % (self.tagName,newl)) else: writer.write("/>%s"%(newl)) The minidom.Element.toprettyxml() method calls writexml() normally but the problem is the output isn't that pretty (IMHO). The above method produces a more compact, readable "pretty xml" output. Thanks, Joel Lawhead jlawhead@nvisionsolutions.com From martin@v.loewis.de Fri Nov 15 07:13:16 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 15 Nov 2002 08:13:16 +0100 Subject: [XML-SIG] minidom.Element.writexml() change In-Reply-To: <3DD48C8A.189E6433@bellsouth.net> References: <3DD48C8A.189E6433@bellsouth.net> Message-ID: Joel Lawhead writes: > The standard minidom.Element.writexml() produces output like this: > > > > > I can't reproduce this: >>> from xml.dom.minidom import parseString >>> d = parseString("bar") >>> print d.toxml() bar That doesn't add any newlines at all. > The forums on the xml-sig SoureForge page seem to be broken so I'm > posting the method here: Please use the patches tracker for that. Regards, Martin From o.st@berlin.de Fri Nov 15 09:39:11 2002 From: o.st@berlin.de (o.st@berlin.de) Date: Fri, 15 Nov 2002 10:39:11 +0100 Subject: [XML-SIG] XML Message-ID: <20021115094317.LJB27460.mailoutvl21@[192.168.139.30]> Hello, I have downloaded XML package v0.8.1 and installed. When I start an application ( DRT 0.2 ) which need XML, I get following message : File "drt.py", line 32, in ? from mdiapp import MDIApp File "mdiapp.py", line 30, in ? from mdidoc import MDIDoc File "mdidoc.py", line 31, in ? from xml.sax.saxutils import escape ImportError: No module named xml.sax.saxutils My question now : Have I not installed XML correct ? 1. step : python setup.py build 2. step : python setup.py install Both steps I have done as root and as user. I use Python 2.2.1. and gcc3.2 Perhaps you can help me Thank you Ingo -- berlin.de - meine stadt im netz. Jetzt eigene eMail-adresse @berlin.de sichern! http://webmail.berlin.de From martin@v.loewis.de Fri Nov 15 12:47:56 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 15 Nov 2002 13:47:56 +0100 Subject: [XML-SIG] XML In-Reply-To: <20021115094317.LJB27460.mailoutvl21@[192.168.139.30]> References: <20021115094317.LJB27460.mailoutvl21@[192.168.139.30]> Message-ID: writes: > ImportError: No module named xml.sax.saxutils > > My question now : Have I not installed XML correct ? Obviously not. Please report whether the following files are present on your system: /lib/python2.2/xml/__init__.py /lib/python2.2/site-packages/_xmlplus/sax/saxutils.py If the first file is missing, and you have installed Python 2.2 from the binary package of your Linux distribution, make sure that you also installed the "XML addon package" of your Linux distribution. Then complain to your system vendor for not including xml/__init__.py in the base Python distribution. Regards, Martin From mertz@gnosis.cx Sat Nov 16 21:51:10 2002 From: mertz@gnosis.cx (David Mertz, Ph.D.) Date: Sat, 16 Nov 2002 16:51:10 -0500 Subject: [XML-SIG] [Announce] Gnosis Utils 1.0.5 Message-ID: This release contains two major bugfixes, and several improvements: * gnosis.xml.pickle now works with PyXML 0.8.x (and earlier, of course). * Bugfix in handling of initargs in gnosis.xml.pickle. * Print warning during installation if xml.minidom is missing/broken. * (Packaging) Fixed generation of PKG-INFO. * Fix to let gnosis run in a standalone (e.g. py2exe) environment. * Improvements to xml.pickle.test suite * Documentation updates to xml.pickle.doc It may be obtained at: http://gnosis.cx/download/Gnosis_Utils-1.0.5.tar.gz The current release is always available as: http://gnosis.cx/download/Gnosis_Utils-current.tar.gz Try it out, have fun, send feedback! David Mertz (mertz@gnosis.cx) Frank McIngvale (frankm@hiwaay.net) ------------------------------------------------------------------------ DIGRESSION: A user proposed improvements to gnosis.indexer to enable word-stemming and positional indices. The latter would enable proximity searches, although that is not yet implemented. I find the proposed code, however, in need of a bit of refactoring, and I have not tested it. If anyone wants this code to play with, let me know; if anyone with more time than me wants to take on the actual refactoring and testing, I would be overjoyed. -dqm ------------------------------------------------------------------------ BACKGROUND: Gnosis Utilities contains a number of Python libraries, most (but not all) related to working with XML. These include: gnosis.xml.pickle (XML pickling of Python objects) gnosis.xml.objectify (Any XML to "native" Python objects) gnosis.xml.validity (Enforce validity constraints) gnosis.xml.indexer (XPATH indexing of XML documents) gnosis.indexer (Full-text indexing/searching) [...].convert.txt2html (Convert ASCII source files to HTML) gnosis.util.dtd2sql (DTD -> SQL 'CREATE TABLE' statements) gnosis.util.sql2dtd (SQL query -> DTD for query results) gnosis.util.xml2sql (XML -> SQL 'INSERT INTO' statements) gnosis.util.combinators (Combinatorial higher-order functions) gnosis.util.introspect (Introspect Python objects) ...and so much more! :-) SUMMARY:

Gnosis_Utils 1.0.5 (16-Nov-02) From wganz@texoma.net Sun Nov 17 00:07:01 2002 From: wganz@texoma.net (Will Ganz) Date: Sat, 16 Nov 2002 18:07:01 -0600 Subject: [XML-SIG] test message 00 Message-ID: Sorry for the test message but I haven't gotten a message all month. From wganz@texoma.net Sun Nov 17 00:07:29 2002 From: wganz@texoma.net (Will Ganz) Date: Sat, 16 Nov 2002 18:07:29 -0600 Subject: [XML-SIG] test message 01 Message-ID: Sorry for the test message but I haven't gotten a message all month. From wganz@texoma.net Sun Nov 17 01:02:58 2002 From: wganz@texoma.net (Will Ganz) Date: Sat, 16 Nov 2002 19:02:58 -0600 Subject: [XML-SIG] test message 02 Message-ID: testing system r/t no emails all month From uche.ogbuji@fourthought.com Tue Nov 19 16:20:27 2002 From: uche.ogbuji@fourthought.com (Uche Ogbuji) Date: Tue, 19 Nov 2002 09:20:27 -0700 Subject: [XML-SIG] Article: RSS for Python Message-ID: http://www-106.ibm.com/developerworks/webservices/library/ws-pyth11.html RSS is one of the most successful XML services ever. Despite its chaotic roots, it has become the community standard for exchanging content information across Web sites. Python is an excellent tool for RSS processing, and Mike Olson and Uche Ogbuji introduce a couple of modules available for this purpose. -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://4Suite.org http://fourthought.com Python&XML column: 2. Introducing PyXML - http://www.xml.com/pub/a/2002/09/25/p y.html The Past, Present and Future of Web Services 1 - http://www.webservices.org/ind ex.php/article/articleview/663/1/24/ The Past, Present and Future of Web Services 2 - 'http://www.webservices.org/in dex.php/article/articleview/679/1/24/ Serenity through markup - http://adtmag.com/article.asp?id=6807 Tip: Using generators for XML processing - http://www-106.ibm.com/developerwork s/xml/library/x-tipgenr.html From Bob Marshall" Hi there, I've just downloaded the PyXML-0.8.1.win32-py2.1.exe file from sourceforge and am trying to install it. But when the Setup program gets to the second screen the 'select python installtion to use' box is empty and I can't type anything into the 'Installation Directory' box either. What can I do? N.B. My relevant Python is 2.1.3 (which came bundled with Zope 2.6) and the OS is Windows XP(Home)-SP1. Thanks in advance for any assistance! Cheers Bob From martin@v.loewis.de Wed Nov 20 16:38:57 2002 From: martin@v.loewis.de (Martin v. Löwis) Date: Wed, 20 Nov 2002 17:38:57 +0100 Subject: [XML-SIG] Problems installing PyXML-0.8.1 on windows References: <200211201546.gAKFkmD12584@fallingblossoms.com> Message-ID: <001601c290b3$52f85f70$f512e8d9@mira> > I've just downloaded the PyXML-0.8.1.win32-py2.1.exe file from sourceforge > and am trying to install it. But when the Setup program gets to the second > screen the 'select python installtion to use' box is empty and I can't type > anything into the 'Installation Directory' box either. What can I do? > > N.B. My relevant Python is 2.1.3 (which came bundled with Zope 2.6) and > the OS is Windows XP(Home)-SP1. The PyXML setup tries to find certain registry keys that the Zope installation does not set. Your options are to either set those registry keys (search this mailing list's archive for details), to build PyXML from source, or to install it yourself using WinZip (the installer ist just a zip file). HTH, Martin From wganz@imacs.com Wed Nov 20 16:49:51 2002 From: wganz@imacs.com (Ganz, Will) Date: Wed, 20 Nov 2002 10:49:51 -0600 Subject: [XML-SIG] Problems installing PyXML-0.8.1 on windows Message-ID: Are you using the ASPN build or the version direct from www.python.org? My install with the ASPN build on a W2K machine went without a hitch. -----Original Message----- From: Bob Marshall [mailto:marshall@fallingblossoms.com] Sent: Wednesday, November 20, 2002 9:47 AM To: xml-sig@python.org Subject: [XML-SIG] Problems installing PyXML-0.8.1 on windows Hi there, I've just downloaded the PyXML-0.8.1.win32-py2.1.exe file from sourceforge and am trying to install it. But when the Setup program gets to the second screen the 'select python installtion to use' box is empty and I can't type anything into the 'Installation Directory' box either. What can I do? N.B. My relevant Python is 2.1.3 (which came bundled with Zope 2.6) and the OS is Windows XP(Home)-SP1. Thanks in advance for any assistance! Cheers Bob _______________________________________________ XML-SIG maillist - XML-SIG@python.org http://mail.python.org/mailman/listinfo/xml-sig From mertz@gnosis.cx Wed Nov 20 20:06:45 2002 From: mertz@gnosis.cx (David Mertz, Ph.D.) Date: Wed, 20 Nov 2002 15:06:45 -0500 Subject: [XML-SIG] [Announce] Gnosis Utils 1.0.5 Message-ID: This release contains two major bugfixes, and several improvements: * gnosis.xml.pickle now works with PyXML 0.8.x (and earlier, of course). * Bugfix in handling of initargs in gnosis.xml.pickle. * Print warning during installation if xml.minidom is missing/broken. * (Packaging) Fixed generation of PKG-INFO. * Fix to let gnosis run in a standalone (e.g. py2exe) environment. * Improvements to xml.pickle.test suite * Documentation updates to xml.pickle.doc It may be obtained at: http://gnosis.cx/download/Gnosis_Utils-1.0.5.tar.gz The current release is always available as: http://gnosis.cx/download/Gnosis_Utils-current.tar.gz Try it out, have fun, send feedback! David Mertz (mertz@gnosis.cx) Frank McIngvale (frankm@hiwaay.net) ------------------------------------------------------------------------ DIGRESSION: A user proposed improvements to gnosis.indexer to enable word-stemming and positional indices. The latter would enable proximity searches, although that is not yet implemented. I find the proposed code, however, in need of a bit of refactoring, and I have not tested it. If anyone wants this code to play with, let me know; if anyone with more time than me wants to take on the actual refactoring and testing, I would be overjoyed. -dqm ------------------------------------------------------------------------ BACKGROUND: Gnosis Utilities contains a number of Python libraries, most (but not all) related to working with XML. These include: gnosis.xml.pickle (XML pickling of Python objects) gnosis.xml.objectify (Any XML to "native" Python objects) gnosis.xml.validity (Enforce validity constraints) gnosis.xml.indexer (XPATH indexing of XML documents) gnosis.indexer (Full-text indexing/searching) [...].convert.txt2html (Convert ASCII source files to HTML) gnosis.util.dtd2sql (DTD -> SQL 'CREATE TABLE' statements) gnosis.util.sql2dtd (SQL query -> DTD for query results) gnosis.util.xml2sql (XML -> SQL 'INSERT INTO' statements) gnosis.util.combinators (Combinatorial higher-order functions) gnosis.util.introspect (Introspect Python objects) ...and so much more! :-) SUMMARY:

Gnosis_Utils 1.0.5 (16-Nov-02) From alexandre.fayolle@logilab.fr Thu Nov 21 11:13:19 2002 From: alexandre.fayolle@logilab.fr (alexandre.fayolle@logilab.fr) Date: Thu, 21 Nov 2002 12:13:19 +0100 Subject: [XML-SIG] xmlproc man pages Message-ID: <20021121111319.GJ14520@calvin.fayauffre.org> Hi, I've written a couple of man pages for the xmlproc_parse and xmlproc_val scripts, for the python-xml debian package I maintain. Would you like me to add these pages to the pyxml CVS repository, and if so where should I do so? -- Alexandre Fayolle From martin@v.loewis.de Thu Nov 21 19:47:27 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 21 Nov 2002 20:47:27 +0100 Subject: [XML-SIG] xmlproc man pages In-Reply-To: <20021121111319.GJ14520@calvin.fayauffre.org> References: <20021121111319.GJ14520@calvin.fayauffre.org> Message-ID: alexandre.fayolle@logilab.fr writes: > I've written a couple of man pages for the xmlproc_parse and xmlproc_val > scripts, for the python-xml debian package I maintain. Would you like me > to add these pages to the pyxml CVS repository, and if so where should I > do so? Putting them into the doc directory would be best. Please verify that sdist picks them up, modify MANIFEST.in if it doesn't. Regards, Martin From Alexandre.Fayolle@logilab.fr Fri Nov 22 08:28:21 2002 From: Alexandre.Fayolle@logilab.fr (Alexandre) Date: Fri, 22 Nov 2002 09:28:21 +0100 Subject: [XML-SIG] xmlproc man pages In-Reply-To: References: <20021121111319.GJ14520@calvin.fayauffre.org> Message-ID: <20021122082821.GB21414@calvin.fayauffre.org> On Thu, Nov 21, 2002 at 08:47:27PM +0100, Martin v. Loewis wrote: > alexandre.fayolle@logilab.fr writes: > > > I've written a couple of man pages for the xmlproc_parse and xmlproc_val > > scripts, for the python-xml debian package I maintain. Would you like me > > to add these pages to the pyxml CVS repository, and if so where should I > > do so? > > Putting them into the doc directory would be best. Please verify that > sdist picks them up, modify MANIFEST.in if it doesn't. Done. -- Alexandre From martin@v.loewis.de Fri Nov 22 09:39:41 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 22 Nov 2002 10:39:41 +0100 Subject: [XML-SIG] xmlproc man pages In-Reply-To: <20021122082821.GB21414@calvin.fayauffre.org> References: <20021121111319.GJ14520@calvin.fayauffre.org> <20021122082821.GB21414@calvin.fayauffre.org> Message-ID: Alexandre writes: > Done. Thanks! Martin From fredrik@pythonware.com Sun Nov 24 12:45:32 2002 From: fredrik@pythonware.com (Fredrik Lundh) Date: Sun, 24 Nov 2002 13:45:32 +0100 Subject: [XML-SIG] ANN: ElementTree 1.1 beta 2 Message-ID: <013d01c293b7$62aa9580$ced241d5@hagrid> The Element type is a simple but flexible container object, designed to store hierarchical data structures, such as simplified XML infosets, in memory. The element type can be described as a cross between a Python list and a dictionary. The ElementTree toolkit contains an Element implementation in Python, and code to read XML and HTML files into trees of Element objects, and write them out as XML. You can get the ElementTree toolkit from: http://effbot.org/downloads See the README file for a list of changes in this release. Brief documentation and some code samples (including an XML-RPC unmarshaller in 16 lines) are available from: http://effbot.org/zone/element-index.htm Report bugs to this list, and/or (preferred) directly to me. enjoy /F From rschmitz@explistings.com Mon Nov 25 07:22:12 2002 From: rschmitz@explistings.com (Ryan Schmitz) Date: Mon, 25 Nov 2002 01:22:12 -0600 Subject: [XML-SIG] San Antonio Expired Listing Message-ID: <4138-220021112572212694@the-bis0e99u2qp> Your demo account on www=2Eexplistings=2Ecom we be invalid in two days=2E = Be sure and take advantage of the FREE demo=2E URL : http://www=2Eexplistings=2Ecom username : demo password : demo Thank you, Ryan Schmitz rschmitz@explistings=2Ecom www=2Eexplistings=2Ecom From wganz@imacs.com Mon Nov 25 19:41:22 2002 From: wganz@imacs.com (Ganz, Will) Date: Mon, 25 Nov 2002 13:41:22 -0600 Subject: [XML-SIG] Python equivalent to Perl's XML::Writer Message-ID: I am trying to generate XML output from data that is in a dictionary of a list of lists. My prior experience with this type of XML generation was with the XML::Writer module in that other 'P' scripting language. Is there a functional equivalent in Python? I've gone through "Python & XML" plus "XML Processing with Pelr, Python, and PHP" without much luck. I've got 4Thought's XML suite installed on Python 2.2.1 build 222 (ASPN). Thanks From fredrik@pythonware.com Mon Nov 25 20:58:13 2002 From: fredrik@pythonware.com (Fredrik Lundh) Date: Mon, 25 Nov 2002 21:58:13 +0100 Subject: [XML-SIG] Python equivalent to Perl's XML::Writer References: Message-ID: <006701c294c5$61eac840$ced241d5@hagrid> will ganz wrote: > I am trying to generate XML output from data that is in a dictionary of a > list of lists. My prior experience with this type of XML generation was with > the XML::Writer module in that other 'P' scripting language. > > Is there a functional equivalent in Python? I've gone through "Python & XML" > plus "XML Processing with Pelr, Python, and PHP" without much luck. I've got > 4Thought's XML suite installed on Python 2.2.1 build 222 (ASPN). I'm not sure what XML::Writer does, but there's an XMLWriter class in the ElementTree package that you might find useful (make sure you get 1.1b3 or later; the one in 1.1b2 is slightly broken): http://effbot.org/zone/xml-writer.htm (xmlwriter overview) http://effbot.org/downloads/ (code) http://effbot.org/zone/element-index.htm (elementtree overview) From martin@v.loewis.de Mon Nov 25 22:55:34 2002 From: martin@v.loewis.de (Martin v. Loewis) Date: 25 Nov 2002 23:55:34 +0100 Subject: [XML-SIG] Python equivalent to Perl's XML::Writer In-Reply-To: <006701c294c5$61eac840$ced241d5@hagrid> References: <006701c294c5$61eac840$ced241d5@hagrid> Message-ID: "Fredrik Lundh" writes: > I'm not sure what XML::Writer does, but there's an XMLWriter class in the > ElementTree package that you might find useful (make sure you get 1.1b3 > or later; the one in 1.1b2 is slightly broken): There are various other ways to marshal a dictionary of lists in Python: - xmlrpclib.dumps - xml.marshal.wddx.dumps - xml.marshal.generic.dumps They have all different properties; without knowing the requirements, it is hard to tell which of these routines meets the requirements best. Regards, Martin From bortzmeyer@nic.fr Tue Nov 26 15:25:38 2002 From: bortzmeyer@nic.fr (Stephane Bortzmeyer) Date: Tue, 26 Nov 2002 16:25:38 +0100 Subject: [XML-SIG] Parsing XML data from a stream where several XML elements follow? Message-ID: <20021126152538.GA19115@nic.fr> I'm writing a simple XML Internet program which must be able to read and parse successive XML elements coming on the same TCP stream (I did not write the protocol so changing this is not an option). If I write simple code like: read_channel = self.socket.makefile('r') reader = Sax2.Reader() reply = reader.fromStream(read_channel) The fromStream method is stalled even after a complete XML element was read because it waits for the channel to close. Is there a way to tell fromStream (which seems poorly documented) to yield a result after the first complete element (or after a syntax error)? Or is there a better way to read successive XML elements? From wilk-ml@flibuste.net Wed Nov 27 06:14:29 2002 From: wilk-ml@flibuste.net (William Dode) Date: 27 Nov 2002 07:14:29 +0100 Subject: [XML-SIG] [Announce] Gnosis Utils 1.0.5 In-Reply-To: References: Message-ID: <874ra3a69m.fsf@flibuste.net> mertz@gnosis.cx (David Mertz, Ph.D.) writes: > Try it out, have fun, send feedback! Thanks for your great tools and papers, they help me a lot to learn. About fun and xml, i would like to know if you or somebody else have written somethings about jabber ? bye --=20 William Dod=E9 - http://flibuste.net From blalor+dated+1038842482.52725c@ithacabands.org Wed Nov 27 15:22:52 2002 From: blalor+dated+1038842482.52725c@ithacabands.org (Brian Lalor) Date: 27 Nov 2002 08:22:52 -0700 Subject: [XML-SIG] Re: [Announce] Gnosis Utils 1.0.5 References: <874ra3a69m.fsf@flibuste.net> Message-ID: William Dode writes: > mertz@gnosis.cx (David Mertz, Ph.D.) writes: > > > Try it out, have fun, send feedback! > > Thanks for your great tools and papers, they help me a lot to learn. > > About fun and xml, i would like to know if you or somebody else have > written somethings about jabber ? Check out http://jabberpy.sf.net/; I've written several scripts that use it and it is very well done, but not without some bugs. -- Brian Lalor | http://introducingthelalors.org/ blalor@ithacabands.org (email) | blalor@jabber.ithacabands.org (jabber) N33°29.18' W111°56.55' (Earth) From noreply@sourceforge.net Wed Nov 27 17:35:53 2002 From: noreply@sourceforge.net (noreply@sourceforge.net) Date: Wed, 27 Nov 2002 09:35:53 -0800 Subject: [XML-SIG] [ pyxml-Patches-644843 ] drv_sgmlop and skippedEntity() Message-ID: Patches item #644843, was opened at 2002-11-27 18:35 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=306473&aid=644843&group_id=6473 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Walter Dörwald (doerwalter) Assigned to: Nobody/Anonymous (nobody) Summary: drv_sgmlop and skippedEntity() Initial Comment: The SAX2 driver for sgmlop should probably report entity name in unknown_entityref/skippedEntity as unicode objects instead of str objects. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=306473&aid=644843&group_id=6473 From mal@lemburg.com Wed Nov 27 17:43:07 2002 From: mal@lemburg.com (M.-A. Lemburg) Date: Wed, 27 Nov 2002 18:43:07 +0100 Subject: [XML-SIG] [ pyxml-Patches-644843 ] drv_sgmlop and skippedEntity() References: Message-ID: <3DE5042B.30106@lemburg.com> Why is this being sent to the xml-sig mailing list ? noreply@sourceforge.net wrote: > Patches item #644843, was opened at 2002-11-27 18:35 > You can respond by visiting:=20 > https://sourceforge.net/tracker/?func=3Ddetail&atid=3D306473&aid=3D6448= 43&group_id=3D6473 >=20 > Category: None > Group: None > Status: Open > Resolution: None > Priority: 5 > Submitted By: Walter D=F6rwald (doerwalter) > Assigned to: Nobody/Anonymous (nobody) > Summary: drv_sgmlop and skippedEntity() >=20 > Initial Comment: > The SAX2 driver for sgmlop should probably report > entity name in unknown_entityref/skippedEntity as > unicode objects instead of str objects. >=20 > ---------------------------------------------------------------------- >=20 > You can respond by visiting:=20 > https://sourceforge.net/tracker/?func=3Ddetail&atid=3D306473&aid=3D6448= 43&group_id=3D6473 >=20 > _______________________________________________ > XML-SIG maillist - XML-SIG@python.org > http://mail.python.org/mailman/listinfo/xml-sig --=20 Marc-Andre Lemburg CEO eGenix.com Software GmbH _______________________________________________________________________ eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,... Python Consulting: http://www.egenix.com/ Python Software: http://www.egenix.com/files/python/ From fdrake@acm.org Wed Nov 27 18:02:53 2002 From: fdrake@acm.org (Fred L. Drake, Jr.) Date: Wed, 27 Nov 2002 13:02:53 -0500 Subject: [XML-SIG] [ pyxml-Patches-644843 ] drv_sgmlop and skippedEntity() In-Reply-To: <3DE5042B.30106@lemburg.com> References: <3DE5042B.30106@lemburg.com> Message-ID: <15845.2253.941976.92382@grendel.zope.com> M.-A. Lemburg writes: > Why is this being sent to the xml-sig mailing list ? Why is the new issue report being sent, or why is it being sent to the XML-SIG list? It's being sent because a new issue was filed; it was sent to this list since the XML-SIG is the place the PyXML developers hang out. There are currently only two lists associated with PyXML: XML-SIG, and pyxml-checkins. Should a separate list be created for the SF issue tracker output? I'm not sure there's enough of it to justify a new list. -Fred -- Fred L. Drake, Jr. PythonLabs at Zope Corporation From mal@lemburg.com Wed Nov 27 18:27:52 2002 From: mal@lemburg.com (M.-A. Lemburg) Date: Wed, 27 Nov 2002 19:27:52 +0100 Subject: [XML-SIG] [ pyxml-Patches-644843 ] drv_sgmlop and skippedEntity() References: <3DE5042B.30106@lemburg.com> <15845.2253.941976.92382@grendel.zope.com> Message-ID: <3DE50EA8.3030409@lemburg.com> Fred L. Drake, Jr. wrote: > M.-A. Lemburg writes: > > Why is this being sent to the xml-sig mailing list ? > > Why is the new issue report being sent, or why is it being sent to the > XML-SIG list? The latter. > It's being sent because a new issue was filed; it was sent to this > list since the XML-SIG is the place the PyXML developers hang out. > > There are currently only two lists associated with PyXML: XML-SIG, and > pyxml-checkins. Should a separate list be created for the SF issue > tracker output? I'm not sure there's enough of it to justify a new > list. Oh, ok. I was just thinking that the recent SF maintenance introduced maybe some kind of bug in the setup. These messages are so rare on the list that I must have overread them in the past. -- Marc-Andre Lemburg CEO eGenix.com Software GmbH _______________________________________________________________________ eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,... Python Consulting: http://www.egenix.com/ Python Software: http://www.egenix.com/files/python/ From fdrake@acm.org Wed Nov 27 18:40:16 2002 From: fdrake@acm.org (Fred L. Drake, Jr.) Date: Wed, 27 Nov 2002 13:40:16 -0500 Subject: [XML-SIG] [ pyxml-Patches-644843 ] drv_sgmlop and skippedEntity() In-Reply-To: <3DE50EA8.3030409@lemburg.com> References: <3DE5042B.30106@lemburg.com> <15845.2253.941976.92382@grendel.zope.com> <3DE50EA8.3030409@lemburg.com> Message-ID: <15845.4496.84380.490382@grendel.zope.com> M.-A. Lemburg writes: > Oh, ok. I was just thinking that the recent SF maintenance > introduced maybe some kind of bug in the setup. These messages > are so rare on the list that I must have overread them in the > past. There certainly aren't many compared to what we see for Python itself. One reason is the smaller scope of the PyXML package, and another is that only notes about new issues are sent, instead of every update or followup. -Fred -- Fred L. Drake, Jr. PythonLabs at Zope Corporation From marco@morca.de Thu Nov 28 08:38:58 2002 From: marco@morca.de (Marco Machmer) Date: Thu, 28 Nov 2002 09:38:58 +0100 Subject: [XML-SIG] PubIdResolver In-Reply-To: References: Message-ID: On Friday, 1. November 2002 22:20, Martin v. Loewis wrote: > Marco Machmer writes: > > i want set my own PubIdResolver for an xml-parser created with > > sax2exts.XMLValParserFactory.make_parser() > > has anybody a tip for me, how can i do this? > > You should invoke setEntityResolver, passing an object that implements > the EntityResolver interface (see handler.EntityResolver). > > HTH, > Martin it doesn't work for me. here is my example code: # # # import sys from xml.sax import sax2exts from xml.dom.ext.reader import Sax2 from xml.sax.handler import EntityResolver from xml.dom.ext import PrettyPrint class MMEntityResolver(EntityResolver): def resolveEntity(self, publicId, systemId): """Resolve the system identifier of an entity and return either the system identifier to read from as a string, or an InputSource to read from.""" print "MMEntityResolver: ich bin da" print "publicId: " + str(publicId) print "systemId: " + str(systemId) if str(publicId) == "-//marco/gg//DE": return open("test.dtd", 'r') return systemId myparser = sax2exts.XMLValParserFactory.make_parser() er = MMEntityResolver() myparser.setEntityResolver(er) xreader = Sax2.Reader(parser=myparser) xf = open(sys.argv[1], 'r') myDom = xreader.fromStream(xf) xf.close() PrettyPrint(myDom) ########## i get the following exception: File "dom2.py", line 28, in ? myDom = xreader.fromStream(xf) File "/usr/lib/python2.1/site-packages/_xmlplus/dom/ext/reader/Sax2.py", line 373, in fromStream self.parser.parse(s) File "/usr/lib/python2.1/site-packages/_xmlplus/sax/xmlreader.py", line 123, in parse self.feed(buffer) File "/usr/lib/python2.1/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.py", line 93, in feed self._parser.feed(data) File "/usr/lib/python2.1/site-packages/_xmlplus/parsers/xmlproc/xmlval.py", line 44, in feed self.parser.feed(data) File "/usr/lib/python2.1/site-packages/_xmlplus/parsers/xmlproc/xmlutils.py", line 332, in feed self.do_parse() File "/usr/lib/python2.1/site-packages/_xmlplus/parsers/xmlproc/xmlproc.py", line 101, in do_parse self.parse_doctype() File "/usr/lib/python2.1/site-packages/_xmlplus/parsers/xmlproc/xmlproc.py", line 509, in parse_doctype sys_id)) File "/usr/lib/python2.1/site-packages/_xmlplus/parsers/xmlproc/xmlutils.py", line 125, in parse_resource self.report_error(3000, sysID) File "/usr/lib/python2.1/site-packages/_xmlplus/parsers/xmlproc/xmlutils.py", line 524, in report_error self.err.fatal(msg) File "/usr/lib/python2.1/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.py", line 226, in fatal self._err_handler.fatalError(saxlib.SAXParseException(msg, None, self)) File "/usr/lib/python2.1/site-packages/_xmlplus/dom/ext/reader/Sax2.py", line 341, in fatalError raise exception xml.sax._exceptions.SAXParseException: d1.xml:2:57: Couldn't open resource 'xtest.dtd' ##### and here my xml-doc: Gegbefuna Nwannem

666 Murtala Mohammed Blvd.
999-101-1001 nwanneg@naija.ng any ideas ma -- ******************************************************* Marco Machmer Phone : +49-2638-94 666 4 Fax : +49-2638-94 666 7 email : mailto:marco@morca.de www : http://www.Marco-Machmer.de Um ein tadelloses Mitglied einer Schafherde sein zu koennen, muss man vor allem ein Schaf sein. Albert Einstein From martin@v.loewis.de Thu Nov 28 09:35:02 2002 From: martin@v.loewis.de (Martin v. =?iso-8859-15?q?L=F6wis?=) Date: 28 Nov 2002 10:35:02 +0100 Subject: [XML-SIG] PubIdResolver In-Reply-To: References: Message-ID: Marco Machmer writes: > any ideas Sorry, no. If you can find a solution to the problem, please contribute a patch. Otherwise, submit a bug report. Regards, Martin From amarshmovva@yahoo.com Sat Nov 30 03:51:28 2002 From: amarshmovva@yahoo.com (Amarsh Movva) Date: Fri, 29 Nov 2002 19:51:28 -0800 (PST) Subject: [XML-SIG] RE: Transformation using XSLT Message-ID: <20021130035128.59590.qmail@web12208.mail.yahoo.com> --0-98488861-1038628288=:58020 Content-Type: text/plain; charset=us-ascii hello, I was looking for any information on XML transformation using XSLT, something like XALAN . Xalan supports Java and C++, does python have any modules that do the same. If yes can you please help me with some information about it. Thanks amarsh --------------------------------- Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now --0-98488861-1038628288=:58020 Content-Type: text/html; charset=us-ascii

hello,

I was looking for any information on XML transformation using XSLT, something like XALAN . Xalan supports Java and C++, does python have any modules that do the same. If yes can you please help me with some information about it.

Thanks

amarsh

 



Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now --0-98488861-1038628288=:58020-- From malcolm@commsecure.com.au Sat Nov 30 03:55:16 2002 From: malcolm@commsecure.com.au (Malcolm Tredinnick) Date: Sat, 30 Nov 2002 14:55:16 +1100 Subject: [XML-SIG] RE: Transformation using XSLT In-Reply-To: <20021130035128.59590.qmail@web12208.mail.yahoo.com> References: <20021130035128.59590.qmail@web12208.mail.yahoo.com> Message-ID: <20021130035516.GN1066@ws14.commsecure.com.au> On Fri, Nov 29, 2002 at 07:51:28PM -0800, Amarsh Movva wrote: > I was looking for any information on XML transformation using XSLT, > something like XALAN . Xalan supports Java and C++, does python have > any modules that do the same. If yes can you please help me with some > information about it. Daniel Veillard's libxslt library has Python bindings and it's extremely fast. Have a look at http://www.xmlsoft.org/ for more information. Cheers, Malcolm -- I just got lost in thought. It was unfamiliar territory. From martin@v.loewis.de Sat Nov 30 10:17:30 2002 From: martin@v.loewis.de (Martin v. =?iso-8859-15?q?L=F6wis?=) Date: 30 Nov 2002 11:17:30 +0100 Subject: [XML-SIG] RE: Transformation using XSLT In-Reply-To: <20021130035128.59590.qmail@web12208.mail.yahoo.com> References: <20021130035128.59590.qmail@web12208.mail.yahoo.com> Message-ID: Amarsh Movva writes: > I was looking for any information on XML transformation using XSLT, > something like XALAN . Xalan supports Java and C++, does python have > any modules that do the same. If yes can you please help me with > some information about it. With PIRXX, Xalan supports Python. Regards, Martin From Juergen Hermann" Message-ID: On 30 Nov 2002 11:17:30 +0100, Martin v. L=F6wis wrote: >Amarsh Movva writes: > >> I was looking for any information on XML transformation using XSLT, >> something like XALAN . Xalan supports Java and C++, does python have >> any modules that do the same. If yes can you please help me with >> some information about it. > >With PIRXX, Xalan supports Python. Or with Pyana, maybe. ;) Ciao, J=FCrgen From james.kew@btinternet.com Sat Nov 30 17:38:02 2002 From: james.kew@btinternet.com (James Kew) Date: Sat, 30 Nov 2002 17:38:02 -0000 Subject: [XML-SIG] PubIdResolver References: Message-ID: <009a01c29897$3bfcc4a0$541b27d9@btopenworld.com> "Martin v. Löwis" wrote: > submit a bug report. Done, several months ago: http://sourceforge.net/tracker/?group_id=6473&atid=106473&func=detail&aid=60 9590 I don't have the skill or the time available to work on a patch, sorry -- I ended up working around it by reducing functionality. James