Another forwarded posting from Jonathan.
------------------------------------------------------
Tom,
>
>
> Given my current schema:
> ------------------------
>
> <query>
> <element name="output"
> source="local/cart/addresses"
> xpath="/address" />
> <where>
> <match source="local/cart/addresses"
> xpath="/[EMAIL PROTECTED]'Tom Bradford'" />
> <not>
> <match source="local/cart/addresses"
> xpath="/[EMAIL PROTECTED]'vacation']" />
> </not>
> </where>
> </query>
>
>
questions:
are the "source" and "xpath" concatentated to provide the complete xpath to
a node? Does this translate to:
local/cart/addresses/address[(@name='Tom Bradford') and
not(@type='vacation')]
>
>
> An insertion example:
> ---------------------
>
> <query>
> <element source="local/cart/addresses"
> xpath="/address"
> replace="true" />
> <where>
> <!-- element source is the default -->
> <match xpath="/[EMAIL PROTECTED]'Tom Bradford'" />
> <match xpath="/[EMAIL PROTECTED]'work'" />
> <!-- this one narrows the target set -->
> <match target="local/cart/orders"
> xpath="/[EMAIL PROTECTED]'12345']" />
> </where>
> <insert target="local/cart/orders"
> xpath="/order/shipto" />
> </query>
>
Is this?
<xu:append select="local/cart/orders/order/shipto">
<xu:copy select="local/cart/addresses/address[
(@name='TB') and (@type='work')
and /local/cart/orders/[EMAIL PROTECTED]'12345']]"/>
</xu:append>
which points out the need to add:
<xupdate:copy select=""/>
to Lars and Andreas' draft ... i think <xupdate:value-of> returns just text
ala XSLT? this issue needs clarification.
On the other hand Tom's language is really is a query-update language as
opposed to an "updategram" language. Perhaps I am making a distinction that
ought not exist but to me, it looks more like Quilt in proper XML syntax
(see http://www.almaden.ibm.com/cs/people/chamberlin/quilt_euro.html and
http://www.infoloom.com/gcaconfs/WEB/paris2000/S08-01.HTM).
At the present time I see value in both approaches, and imagine that
selecting one or the other would depend on the particular problem domain.
For example XEditor *was* designed to operate on documents, particularly a
patient's medical record. This can be done in straight XSLT but is
cumbersome to write and debug. I can obviously see many applications where
operations should be carried out on large collections of documents. I guess
its all a point of view. Does a SQL table correspond to an XML document or a
collection of documents? -- to me there is no one correct answer.
Perhaps we should take parallel approaches: develop a robust query-update
language (is this a competitor to Quilt??, or alternatively can
insert/update semantics be added to Quilt itself?) and simultaneously
develop a very simple though admittedly less functional simple update
language.
Jonathan Borden
The Open Healthcare Group
http://www.openhealth.org
--
___________________________________________________________________
Lars Martin mailto:[EMAIL PROTECTED]
SMB GmbH http://www.smb-tec.com
------------------------------------------------------------------
Post a message: mailto:[EMAIL PROTECTED]
Unsubscribe: mailto:[EMAIL PROTECTED]
Contact adminstrator: mailto:[EMAIL PROTECTED]
Read archived messages: http://www.xmldb.org/
------------------------------------------------------------------