I've just reread the XUpdate spec. Here are my quick comments: 1) no namespace support. I mean, there is no namespace concept taken into consideration in the spec.
This would, *alone*, make it virtually useless for any serious XML storage. 2) extremely verbose: their example <?xml version="1.0"?> <xupdate:modifications version="1.0" xmlns:xupdate="http://www.xmldb.org/xupdate"> <xupdate:insert-after select="/addresses/address[1]" > <xupdate:element name="address"> <xupdate:attribute name="id">2</xupdate:attribute> <fullname>Lars Martin</fullname> <born day='2' month='12' year='1974'/> <town>Leizig</town> <country>Germany</country> </xupdate:element> </xupdate:insert-after> </xupdate:modifications> would be *equally* meaningful as <?xml version="1.0"?> <address id="2" xmlns:xupdate="http://www.xmldb.org/xupdate" xupdate:insert-after="/addresses/address[1]"> <fullname>Lars Martin</fullname> <born day='2' month='12' year='1974'/> <town>Leizig</town> <country>Germany</country> </address> 3) mixes concerns or duplicates them: why would you *ever* want to "rename" a node using something like this? This mixes concerns: renaming and moving stuff around is an administration concern, not an "update" concern. what's the semantic difference between "append" and "insert-after"? I can't find any. 4) adds variable support, which might be mixing concern with the XQuery language. <xupdate:variable name="town" select="/addresses/address[0]/town"/> <xupdate:append select="/addresses"> <xupdate:element name="address"> <xupdate:value-of select="$town"/> </xupdate:element> </xupdate:append> in the rest of the spec, XPath are used as "locations" or "entry points" for data modifications. Here, they are used as data queries. I consider this a big design mistake and probably a vary dangerous path to follow: IMO, the querying should happen *before* the XUpdate document is even generated. So, variables are useless. - o - Net result: as it stands right now, I would avoid it as the plague. With proper namespace support, better use of attribute-based semantics and no variables, it would be "decent". I'll try to come up with something because, as it stands, I would be very -1 in basing Cocoon XML persistant capabilities on such a spec. -- Stefano Mazzocchi One must still have chaos in oneself to be able to give birth to a dancing star. <[EMAIL PROTECTED]> Friedrich Nietzsche -------------------------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]