From: Robert L. <ro...@le...> - 2004-09-02 22:16:06
|
What are folks thoughts on the best XML and XPath library to use? Ideally it would work in both Jython and Python, but the main criteria is that is has to have excellent namespace support. I've tried ElementTree, but namespaces and XPath are not fully supported, 4Suite is excellent, but does not work in Jython, and the others (based on Uche Ogbuji's articles on xml.com - http://www.xml.com/pub/a/2003/03/10/python.html) also seem a little underdone in their namespace support. The Java-based libraries (XOM, DOM4j, Jaxen, etc) also work well, but, of course, only in Jython. Will I have to forgo Python support and only work in Jython/Java or is there a better alternative? Robert |
From: Alan K. <jyt...@xh...> - 2004-09-03 11:18:19
|
[Robert Leftwich] > What are folks thoughts on the best XML and XPath library to use? > Ideally it would work in both Jython and Python, but the main criteria > is that is has to have excellent namespace support. > Will I have to forgo Python support and only work in Jython/Java or is > there a better alternative? One possible approach. Have you looked at the xml.dom.javadom package in jython? It allows you to use a "standard" python API to xml DOMs, but layered on top of native java libraries such as Xerces, Crimson, etc. I submitted a patch to make it work with the "new" JAXP API, which you can find here https://sourceforge.net/tracker/?func=detail&atid=312867&aid=876821&group_id=12867 That should make it easier for you to use the same DOM api on cpython and jython, you write code that works transparently across both platforms. You would probably have to do a little work to get an xpath API that layers correctly on differing xpath implementations between cpython and jython. This shouldn't too hard though that's essentially just mapping a text string (the xpath expression) + a context to a nodeset. Not a 100% solution to your problem, but a good start. Regards, Alan. |
From: Robert L. <ro...@le...> - 2004-09-04 23:33:05
|
Alan Kennedy wrote: > [Robert Leftwich] > >> What are folks thoughts on the best XML and XPath library to use? > > Have you looked at the xml.dom.javadom package in jython? It allows you > to use a "standard" python API to xml DOMs, but layered on top of native > java libraries such as Xerces, Crimson, etc.... > > Not a 100% solution to your problem, but a good start. > Thanks for that, I've put this to the top of my list as it sounds pretty close to what I need. Robert |
From: Todd M. <tm...@in...> - 2004-09-03 13:08:02
|
Not sure if it's relevant to what you're doing, Robert, but I'm taking a slightly different approach to XML that might be of interest to *ython devotees. Instead of turning XML into a passive document that must be acted on by external code, I'm turning it into a tree of Jython objects. These objects are aware of their place in the tree and can interact with other nodes in their own or other trees. The XML to Jython conversion is solid, but I'm still experimenting with algorithms within the resulting object trees. I'd be interested in hearing your impressions of this approach. If others are interested, I could share code and addition details as it develops. Cheers, Todd Moyer Robert Leftwich wrote: > What are folks thoughts on the best XML and XPath library to use? > Ideally it would work in both Jython and Python, but the main criteria > is that is has to have excellent namespace support. I've tried > ElementTree, but namespaces and XPath are not fully supported, 4Suite is > excellent, but does not work in Jython, and the others (based on Uche > Ogbuji's articles on xml.com - > http://www.xml.com/pub/a/2003/03/10/python.html) also seem a little > underdone in their namespace support. The Java-based libraries (XOM, > DOM4j, Jaxen, etc) also work well, but, of course, only in Jython. > > Will I have to forgo Python support and only work in Jython/Java or is > there a better alternative? > > Robert > > > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users |
From: Robert L. <ro...@le...> - 2004-09-04 23:52:39
|
Todd Moyer wrote: > > Instead of turning XML into a passive document that must be acted on by > external code, I'm turning it into a tree of Jython objects.... > > I'd be interested in hearing your impressions of this approach. Sounds interesting, but I'm not sure if I would use it in my current mode of development, which is very much SOA as described by Sean McGrath (i.e. Sean Oriented Architecture :-)) - temporally decoupled, asynch and document-centric, whereas, correct me if I'm wrong, jython object trees sounds more akin to object serialisation. Robert |
From: Fredrik L. <fr...@py...> - 2004-09-05 14:10:34
|
Robert Leftwich wrote: > Ideally it would work in both Jython and Python, but the main criteria is that is has to have > excellent namespace support. I've tried ElementTree, but namespaces and XPath are not fully > supported ElementTree has full support for XML namespaces; in fact, unlike many other bindings, it takes a lot more work to ignore the namespaces than to use them. the XPath support is limited to simple location paths in 1.2. this may change in future versions. </F> |
From: Robert L. <ro...@le...> - 2004-09-08 09:51:01
|
Fredrik Lundh wrote: > Robert Leftwich wrote: > > >>Ideally it would work in both Jython and Python, but the main criteria is that is has to have >>excellent namespace support. I've tried ElementTree, but namespaces and XPath are not fully >>supported > > > ElementTree has full support for XML namespaces; in fact, unlike many > other bindings, it takes a lot more work to ignore the namespaces than to > use them. > > the XPath support is limited to simple location paths in 1.2. this may > change in future versions. > Sorry, my assertion was meant to read that the namespace side of XPath was not fully supported, i.e. namespaces *in* XPath. The namespace support of ElementTree is indeed excellent, which, for me at least, makes the lack of support for them in XPath all the more frustrating as I really like the way ElementTree works. Robert |
From: Fredrik L. <fr...@py...> - 2004-09-11 16:19:16
|
Robert Leftwich wrote: >> ElementTree has full support for XML namespaces; in fact, unlike many >> other bindings, it takes a lot more work to ignore the namespaces than to >> use them. > > > > the XPath support is limited to simple location paths in 1.2. this may > > change in future versions. > > Sorry, my assertion was meant to read that the namespace side of XPath was not fully supported, > i.e. namespaces *in* XPath. The namespace support of ElementTree is indeed excellent, which, for > me at least, makes the lack of support for them in XPath all the more frustrating as I really like > the way ElementTree works. I'm probably missing something here, but namespaces works the same way in ElementTree's XPath support as everywhere else in the library: to search for an element, use the universal name: elem.findall("{someurl}tag") elem.findall(".//{someurl}tag") </F> |
From: Robert L. <ro...@le...> - 2004-09-20 11:56:59
|
Fredrik Lundh wrote: > I'm probably missing something here, but namespaces works the same > way in ElementTree's XPath support as everywhere else in the library: > to search for an element, use the universal name: > > elem.findall("{someurl}tag") > elem.findall(".//{someurl}tag") > Hmmm, I thought I'd tried this, but I will revisit it. Robert PS Is anyone else seeing big delays in receiving emails on this list. I just received 10 or so emails, the earliest of which was from the 9th Sept and this one from the 12th Sept? |