Luca, I forward your question to the xupdate mailing list. Please subscribe to the list to join this discussion. Thanks, Lars.
On Tue, 8 Oct 2002 17:32:58 +0200 (CEST)
I only would like to know if there will be (or there is) a final version =
of XUpdate, because the latest XML:DB Working Draft review is from =
November 2000.
Thanks a lot.
Luc=EDa Mat=E9 G=F3mez Universidad Carlos III de Madrid Departamento de Ingenier=EDa Telem=E1tica.
I really believe that for XUpdate to have any overall value, it must support some form of dynamic evaluation for the content of modification constructs, and not just literal/static content. Some associates and I have been developing the groundwork for a new XML query language... A working man's query language, if you will. It's called ViXEn (Verbose XML Expressions), is a pipeline language, and is for casual XML users rather than developers or highly technical people. It supports both querying and modification syntaxes. What follows are some notes that have been written up based on our discussions.
ViXEn - Verbose XML Expressions
ViXEn is a simple XML expression language geared toward XML users rather than developers. It is not meant to provide an all-purpose general expression language for XML processing. It is meant to provide functionality that addresses the most common use cases of simple XML processing from the perspective of a user.
It provides 20% the functionality of XQuery but addresses 80% of the requirements of real world XML users. It is based partially on the XUpdate and SiXDML specifications with generous inspiration from SQL and the AppleScript language.
You'll notice that it abandons XPath as a node selection and filtering mechanism. XPath is too cryptic and ambiguous for most (non-technical) XML users. Other constructs that are happily missing include loops and parent axis traversal.
Example #1: from document "/work/dbXML/blah.xml" return all elements blah
Example #1.b:
from document "/work/dbXML/blah.xml"
get all elements blah
then return all elements fooExample #2:
from document "/work/dbXML/blah.xml"
get first element blah
where value = "some value"
and attribute id = 100Example #2.b:
from document "/work/dbXML/blah.xml"
get first element blah
with attribute id = 100
then return all elements fooExample #3:
from document "/work/dbXML/blah.xml"
get first 10 elements blah
with attribute id = 100
and attribute type = "test"
then insert into
(from document "/work/dbXML/other.xml"
get last element foo
with attribute id = 100)Example #4:
from document "/work/dbXML/blah.xml"
get first element blah
then get value
then insert that into
(new element wizbang)
then append after
(get document "/work/dbXML/other.xml"
then get last element foo
with attribute type = "test")
then store document "/work/dbXML/newblah.xml"Example #5:
from documents "/work/dbXML/*.xml"
get first element foo
then delete last element blah
with attribute id = 200Example #6:
from documents "/work/dbXML/*.xml"
delete all documents
with first element foo
with attribute id = 100Example #7:
from document "/work/dbXML/blah.xml"
get first element foo
with attribute id = 100
then set value to "new value"
then set attribute id to 200JFlex/JavaCC grammars forthcoming.
-- Tom Bradford - http://www.tbradford.org/ CTO - The dbXML Group - http://www.dbxml.com/ Apache Xindice - http://xml.apache.org/xindice
---------------------------------------------------------------------- Post a message: mailto:[EMAIL PROTECTED] Unsubscribe: mailto:[EMAIL PROTECTED] Contact administrator: mailto:[EMAIL PROTECTED] Read archived messages: http://archive.xmldb.org/ ----------------------------------------------------------------------
