>> Personally, I see the principal benefits of XML as being the development of high-level patterns around the querying and manipulation of hierarchical data structures <<
Intriguing. What do you mean by this? Can you cite an example of such a pattern? - Ian Sparks. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Friday, April 19, 2002 2:40 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: RE: [Webware-discuss] Whence FormKit? Or, alas, poor FormKit, weknew him. On Fri, 19 Apr 2002 14:21:33 -0400 Ian Sparks <[EMAIL PROTECTED]> wrote: >>>It's certainly hard to define what convenience is where XML processing is >concerned.<< > >XPath is as useful to XML documents as SQL is to RDBMS's. Sure, you can use >cursors to do everything you'd want to in an RDBM's but you'd be mad. Actually, it does depend on what you're trying to achieve... >XPath allows you to frame statements like "provide me a list of nodes that >have attribute X = Y" or "find me the first node that is the 3rd <z> element >of a parent <x> element". Yes, it's a declarative language which permits expressions, similar in capabilities to SQL for relational databases, as you say. In that sense, it's really nice, and as I mentioned to another contributor to this list, I managed to do some really neat tricks with XPath in XSLT documents. I was most surprised that they worked so well, and credit is surely due to the people who put the Xerces/Xalan packages together. >XPath also takes away the uncertainty of processing poorly sytructured XML. >I'm at element X and I know there's a child under me which has an attribute >a="1". Now I can just find it without having to dredge all the child nodes >and test them (possibly tripping over spurious whitespace nodes as I go) : > >child = x.xpathQuery('/*[a="1"]') >if child: > .... > >NB. My XPath is rusty, the above probably isn't valid and I don't know the >Python syntax for XPath use but you get the idea. I suppose I'm more interested in systematically processing XML for the purposes of validation in frameworks, and in such cases, it is interesting to descend into the depths of a document - I just don't want to be distracted by too many details while doing so. For applications, I can see significant advantages in using XPath, although getElementsByTagName[NS] can certainly provide substantial benefits all by itself. ;-) Personally, I see the principal benefits of XML as being the development of high-level patterns around the querying and manipulation of hierarchical data structures rather than the fact that "XML is text" and "it's a common format" (the classic executive summary statements), which although true and beneficial in themselves, don't necessarily lead to massive gains in productivity beyond a certain point. I'll certainly look into Python XPath packages, of which there must surely be one included in the PyXML suite. I'm not 100% convinced of the robustness of PyXML in these "edge cases", however - there was a fair amount of discussion recently about what was needed to use XSLT with PyXML and whether those extra components (from 4Suite) were even compatible with the most recent PyXML. I must confess to not having followed such discussions in depth - one often has limited time to indulge in tracking "bleeding edge" dependencies, ignoring most of the back-and-forth conversations and just sticking to "more mature" releases. Paul _______________________________________________ Webware-discuss mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/webware-discuss