From olivier at xmlmind.com Wed Nov 2 03:20:55 2011 From: olivier at xmlmind.com (Olivier Ishacian) Date: Wed, 02 Nov 2011 12:20:55 +0100 Subject: [xquery-talk] [ANN] Qizx 4.3 is available Message-ID: <4EB12797.7090707@xmlmind.com> Qizx is an embeddable, high-speed, native XML indexing and query engine written in Java(TM), with the querying and processing capabilities of a fully fledged XML Query implementation. --------------------------------------------- Version 4.3 introduces new features mainly centered around Qizx Server: * Administration facilities: (accessible through native Java API, Server REST API, XQuery functions and a new visual tool QizxAdmin) - visualisation and edition of the configuration - runtime statistics - maintenance tasks scheduling and monitoring (backup, reindexing etc) - running queries (monitor and cancel) * XQuery webApps: a new mechanism for implementing web applications (server-side). * server caching: compiled queries + sequence cache for efficient page by page iteration on results * query optimizer improvements Please visit http://www.xmlmind.com/qizx/changes.html for more details. ------------ Qizx is available in several editions: * The commercial product has 3 liberal licenses both for corporate application development, and for royalty-free distributable products. * The Free Engine edition is a fully functional version of Qizx which can be used for developing or in production. It is limited in database size (one Gigabyte of XML approximately). * Qizx/open is an open-source version of the XML Query interpreter of Qizx. Qizx/open has been available since 2003 and is recognized as one of the fastest and most advanced XML Query implementations to date. Qizx Free Engine can be downloaded from http://www.xmlmind.com/qizx/download.shtml Qizx/open can be downloaded from http://www.xmlmind.com/qizx/qizxopen.shtml Qizx customers, please upgrade using this form: http://www.xmlmind.com/store/download.php (The above form is usually accessed through http://www.xmlmind.com/qizx/upgrade.html.) Please visit http://www.xmlmind.com/qizx/ for more information about Qizx. From pengyu.ut at gmail.com Wed Nov 2 17:14:16 2011 From: pengyu.ut at gmail.com (Peng Yu) Date: Wed, 2 Nov 2011 20:14:16 -0500 Subject: [xquery-talk] How to invert the hierarchy of an xml? Message-ID: Hi, Suppose that I have an xml where each Article has it is own Journals. But since the Journals may be the same. I'd like to group the articles by Journals. I'm still learning XQuery. Could anybody show me how to do the conversion using XQuery?
title1 author1 journal1
title2 author2 journal1
title3 author3 journal2
title4 author4 journal2
=========================I want to get something the following
title1 author1
title2 author2
title3 author3
title4 author4
-- Regards, Peng From joewiz at gmail.com Wed Nov 2 19:38:00 2011 From: joewiz at gmail.com (Joe Wicentowski) Date: Wed, 2 Nov 2011 23:38:00 -0400 Subject: [xquery-talk] How to invert the hierarchy of an xml? In-Reply-To: References: Message-ID: Hi Peng, Welcome to the XQuery talk mailing list. > Suppose that I have an xml where each Article has it is own Journals. > But since the Journals may be the same. I'd like to group the articles > by Journals. I'm still learning XQuery. Could anybody show me how to > do the conversion using XQuery? I suggest making use of XQuery 3.0's "group by" clause. A nice example of "group by" happens to be on the eXist-db blog, describing exist-db's support for this clause (http://atomic.exist-db.org/HowTo/XQuery3/GroupByClause) and providing an example that is quite similar to yours, sans the need to filter out the Journal child of the Article element in the results. Chances are folks will suggest more elegant approaches to that portion of the code, but this query does the trick. Below is the code for your case. Cheers, Joe xquery version "3.0"; let $library :=
title1 author1 journal1
title2 author2 journal1
title3 author3 journal2
title4 author4 journal2
let $reordered := { for $article in $library/Article group $article as $journal-articles by $article/Journal as $journal order by $journal return { for $article in $journal-articles return
{ $article/*[not(name(.) eq 'Journal')] }
}
}
return $reordered From pengyu.ut at gmail.com Wed Nov 2 20:59:32 2011 From: pengyu.ut at gmail.com (Peng Yu) Date: Wed, 2 Nov 2011 23:59:32 -0500 Subject: [xquery-talk] How to invert the hierarchy of an xml? In-Reply-To: References: Message-ID: On Wed, Nov 2, 2011 at 10:38 PM, Joe Wicentowski wrote: > Hi Peng, > > Welcome to the XQuery talk mailing list. > >> Suppose that I have an xml where each Article has it is own Journals. >> But since the Journals may be the same. I'd like to group the articles >> by Journals. I'm still learning XQuery. Could anybody show me how to >> do the conversion using XQuery? > > I suggest making use of XQuery 3.0's "group by" clause. ?A nice > example of "group by" happens to be on the eXist-db blog, describing > exist-db's support for this clause > (http://atomic.exist-db.org/HowTo/XQuery3/GroupByClause) and providing > an example that is quite similar to yours, sans the need to filter out > the Journal child of the Article element in the results. ?Chances are > folks will suggest more elegant approaches to that portion of the > code, but this query does the trick. ?Below is the code for your case. > > Cheers, > Joe > > > xquery version "3.0"; Is the above line necessary? I use the following command, where main.xq include all the XQuery code except the above line. Everything works fine. (httpclient.sh is from eXist-db) httpclient.pl -u admin -p FyDi3QfBON -q < main.xq Now suppose, that I have the elements Title and TitleLong in Journal. I want to group by both Title and TitleLong. There are a number of things that are different from the simpler case. I'm not familiar with the syntax enough to know what I should use. Would you please let me know what XQuery I should use to do the transformation? Thanks!
title1 author1 journal1 journal1long i1
title2 author2 journal1 journal1long i2
title3 author3 journal2 journal2long i3
title4 author4 journal2 journal2long i4
=========I want it to be converted to this
title1 author1 i1
title2 author2 i2
title3 author3 i3
title4 author4 i4
-- Regards, Peng From geert.josten at dayon.nl Thu Nov 3 11:45:23 2011 From: geert.josten at dayon.nl (Geert Josten) Date: Thu, 3 Nov 2011 20:45:23 +0100 Subject: [xquery-talk] How to invert the hierarchy of an xml? In-Reply-To: References: Message-ID: -----Oorspronkelijk bericht----- Van: talk-bounces at x-query.com [mailto:talk-bounces at x-query.com] Namens Peng Yu Verzonden: donderdag 3 november 2011 6:00 Aan: Joe Wicentowski; talk at x-query.com Onderwerp: Re: [xquery-talk] How to invert the hierarchy of an xml? On Wed, Nov 2, 2011 at 10:38 PM, Joe Wicentowski wrote: > Hi Peng, > > Welcome to the XQuery talk mailing list. > >> Suppose that I have an xml where each Article has it is own Journals. >> But since the Journals may be the same. I'd like to group the articles >> by Journals. I'm still learning XQuery. Could anybody show me how to >> do the conversion using XQuery? > > I suggest making use of XQuery 3.0's "group by" clause. ?A nice > example of "group by" happens to be on the eXist-db blog, describing > exist-db's support for this clause > (http://atomic.exist-db.org/HowTo/XQuery3/GroupByClause) and providing > an example that is quite similar to yours, sans the need to filter out > the Journal child of the Article element in the results. ?Chances are > folks will suggest more elegant approaches to that portion of the > code, but this query does the trick. ?Below is the code for your case. > > Cheers, > Joe > > > xquery version "3.0"; Is the above line necessary? I use the following command, where main.xq include all the XQuery code except the above line. Everything works fine. (httpclient.sh is from eXist-db) httpclient.pl -u admin -p FyDi3QfBON -q < main.xq Now suppose, that I have the elements Title and TitleLong in Journal. I want to group by both Title and TitleLong. There are a number of things that are different from the simpler case. I'm not familiar with the syntax enough to know what I should use. Would you please let me know what XQuery I should use to do the transformation? Thanks!
title1 author1 journal1 journal1long i1
title2 author2 journal1 journal1long i2
title3 author3 journal2 journal2long i3
title4 author4 journal2 journal2long i4
=========I want it to be converted to this
title1 author1 i1
title2 author2 i2
title3 author3 i3
title4 author4 i4
-- Regards, Peng _______________________________________________ talk at x-query.com http://x-query.com/mailman/listinfo/talk From mike at saxonica.com Thu Nov 3 15:39:15 2011 From: mike at saxonica.com (Michael Kay) Date: Thu, 03 Nov 2011 23:39:15 +0000 Subject: [xquery-talk] How to invert the hierarchy of an xml? In-Reply-To: References: Message-ID: <4EB32623.6060706@saxonica.com> On 03/11/2011 03:38, Joe Wicentowski wrote: > let $reordered := { > for $article in $library/Article > group $article as $journal-articles by $article/Journal as $journal It's rather regrettable that (a) XQuery 1.0 provides no grouping capability (b) The above syntax does not match the "group by" clause specified in any XQuery 3.0 working draft (c) The XQuery spec is very tolerant of processors providing their own extensions to the syntax in the W3C recommendation (d) Many processors have taken advantage of this tolerance, and have implemented syntactic extensions which will turn out to be incompatible with future versions of the standard. Michael Kay Saxonica From james.fuller.2007 at gmail.com Wed Nov 9 00:15:41 2011 From: james.fuller.2007 at gmail.com (James Fuller) Date: Wed, 9 Nov 2011 09:15:41 +0100 Subject: [xquery-talk] [ANN] presenting XQuery - GSD language at MarkLogic User Group London Nov 24 Message-ID: I will be presenting a more technical version of my recent presentation (at Arhus GOTOCON) about XQuery. http://www.meetup.com/muglondon/events/40390792/ I used this talk to try and provide some basis to the various adhoc comments I have received over the years about XQuery productivity ... yes we know its very productive but I wanted to understand the reasons behind this. So I did an informal analysis and survey to try and understand if XQuery is actually productive or if its a matter of the imagination! I will also try and present a few xquery gems to illustrate the boundaries of the language. One example of this is the recent Corona effort https://github.com/marklogic/Corona which is an attempt to build a complete NoSQL drop in replacement, using XQuery set within MarkLogic. Its a pretty impressive example of how far you can push the language. In particular I am interested in discussing how we can further promote XQuery to a larger audience (and possibly all kinds of data); so would be great to get some momentum behind this. I don't know if XQuery will ever gain critical adoption, but I do know it took SQL 15 yrs to 'catch on' and it will take several years for the NoSQL crowd to get their query/update story standardized ... I do know that a language like SQL and XQuery is what we need and open to all ideas of how to go forward. Jim Fuller From william.candillon at 28msec.com Wed Nov 9 00:43:42 2011 From: william.candillon at 28msec.com (William Candillon) Date: Wed, 9 Nov 2011 09:43:42 +0100 Subject: [xquery-talk] [ANN] presenting XQuery - GSD language at MarkLogic User Group London Nov 24 In-Reply-To: References: Message-ID: Hello James, It's not our collective imagination. XQuery is making us more productive programmers. We even have serious evidence to back this up. When talking to people outside the xquery community, they buy immediately the productivity argument. But are they gonna learn a new programming language because it is allegedly more productive? No way... It seems to me that for XQuery to go mainstream, we need to go in areas where XQuery is not just more productive but simply indispensable. What are we gonna do to get Dimitri to throw away his PHP and switch to XQuery? We tried to answer this question in the following blog entry: http://www.28msec.com/html/entry/2011/11/03/Not_your_Grandmas_XQuery Kind regards, William -- 28msec - XQuery in the Cloud http://www.youtube.com/watch?v=6oY5ctVHEck On Wed, Nov 9, 2011 at 9:15 AM, James Fuller wrote: > I will be presenting a more technical version of my recent > presentation (at Arhus GOTOCON) about XQuery. > > http://www.meetup.com/muglondon/events/40390792/ > > I used this talk to try and provide some basis to the various adhoc > comments I have received over the years about XQuery productivity ... > yes we know its very productive but I wanted to understand the reasons > behind this. So I did an informal analysis and survey to try and > understand if XQuery is actually productive or if its a matter of the > imagination! > > I will also try and present a few xquery gems to illustrate the > boundaries of the language. One example of this is the recent Corona > effort https://github.com/marklogic/Corona which is an attempt to > build a complete NoSQL drop in replacement, using XQuery set within > MarkLogic. Its a pretty impressive example of how far you can push the > language. > > In particular I am interested in discussing how we can further promote > XQuery to a larger audience (and possibly all kinds of data); so would > be great to get some momentum behind this. > > I don't know if XQuery will ever gain critical adoption, but I do know > it took SQL 15 yrs to 'catch on' and it will take several years for > the NoSQL crowd to get their query/update story standardized ... I do > know that a language like SQL and XQuery is what we need and open to > all ideas of how to go forward. > > Jim Fuller > _______________________________________________ > talk at x-query.com > http://x-query.com/mailman/listinfo/talk > From william.candillon at 28msec.com Wed Nov 9 00:53:11 2011 From: william.candillon at 28msec.com (William Candillon) Date: Wed, 9 Nov 2011 09:53:11 +0100 Subject: [xquery-talk] [ANN] presenting XQuery - GSD language at MarkLogic User Group London Nov 24 In-Reply-To: References: Message-ID: In the following video, we're giving an explanation for the productivity argument: http://www.youtube.com/watch?v=NLydlE-9EyA Kind regards, William On Wed, Nov 9, 2011 at 9:43 AM, William Candillon wrote: > Hello James, > > It's not our collective imagination. > XQuery is making us more productive programmers. > We even have serious evidence to back this up. > > When talking to people outside the xquery community, they buy > immediately the productivity argument. > But are they gonna learn a new programming language because it is > allegedly more productive? No way... > > It seems to me that for XQuery to go mainstream, we need to go in > areas where XQuery is not just more productive but simply > indispensable. > > What are we gonna do to get Dimitri to throw away his PHP and switch to XQuery? > > We tried to answer this question in the following blog entry: > http://www.28msec.com/html/entry/2011/11/03/Not_your_Grandmas_XQuery > > Kind regards, > > William > > -- > 28msec - XQuery in the Cloud > http://www.youtube.com/watch?v=6oY5ctVHEck > > > > > > On Wed, Nov 9, 2011 at 9:15 AM, James Fuller > wrote: >> I will be presenting a more technical version of my recent >> presentation (at Arhus GOTOCON) about XQuery. >> >> http://www.meetup.com/muglondon/events/40390792/ >> >> I used this talk to try and provide some basis to the various adhoc >> comments I have received over the years about XQuery productivity ... >> yes we know its very productive but I wanted to understand the reasons >> behind this. So I did an informal analysis and survey to try and >> understand if XQuery is actually productive or if its a matter of the >> imagination! >> >> I will also try and present a few xquery gems to illustrate the >> boundaries of the language. One example of this is the recent Corona >> effort https://github.com/marklogic/Corona which is an attempt to >> build a complete NoSQL drop in replacement, using XQuery set within >> MarkLogic. Its a pretty impressive example of how far you can push the >> language. >> >> In particular I am interested in discussing how we can further promote >> XQuery to a larger audience (and possibly all kinds of data); so would >> be great to get some momentum behind this. >> >> I don't know if XQuery will ever gain critical adoption, but I do know >> it took SQL 15 yrs to 'catch on' and it will take several years for >> the NoSQL crowd to get their query/update story standardized ... I do >> know that a language like SQL and XQuery is what we need and open to >> all ideas of how to go forward. >> >> Jim Fuller >> _______________________________________________ >> talk at x-query.com >> http://x-query.com/mailman/listinfo/talk >> > From andrew.j.welch at gmail.com Wed Nov 9 02:13:36 2011 From: andrew.j.welch at gmail.com (Andrew Welch) Date: Wed, 9 Nov 2011 10:13:36 +0000 Subject: [xquery-talk] [ANN] presenting XQuery - GSD language at MarkLogic User Group London Nov 24 In-Reply-To: References: Message-ID: Hi all, > But are they gonna learn a new programming language because it is > allegedly more productive? No way... Is there a killer app yet? > It seems to me that for XQuery to go mainstream, we need to go in > areas where XQuery is not just more productive but simply > indispensable. Playing devils advocate: - XQuery is only productive because of proprietary extensions for a given product - XQuery on its own isn't a single-tier, do-everything language - Each vendor has effectively created a dsl. -- Andrew Welch http://andrewjwelch.com From james.fuller.2007 at gmail.com Wed Nov 9 02:25:31 2011 From: james.fuller.2007 at gmail.com (James Fuller) Date: Wed, 9 Nov 2011 11:25:31 +0100 Subject: [xquery-talk] [ANN] presenting XQuery - GSD language at MarkLogic User Group London Nov 24 In-Reply-To: References: Message-ID: On Wed, Nov 9, 2011 at 11:13 AM, Andrew Welch wrote: > Hi all, > >> But are they gonna learn a new programming language because it is >> allegedly more productive? No way... > > Is there a killer app yet? unsure what you mean, is there a killer app for SQL ? the nonproblem of xquery is that it has a much wider applicability then SQL. >> It seems to me that for XQuery to go mainstream, we need to go in >> areas where XQuery is not just more productive but simply >> indispensable. > > Playing devils advocate: > > - XQuery is only productive because of proprietary extensions for a > given product sure but this is the case with every nascent technology, if XQuery hits adoption then it will require some weeding to bring core XQuery in line ... there are the EX- type standards ... which btw is thankless work that everyone wants but no one wants to spend the energy to actually contribute to. I whole heartedly believe in the standards but I also whole heartedly believe in going 'exotic' if there is a pragmatic need that has not yet been addressed. > - XQuery on its own isn't a single-tier, do-everything language XQuery is first and foremost a dsl for data .... I don't buy into the XRX thing because it presupposes that we live in a homogenous world. Even if this is the case v2 of whatever data format will ensure heterogeneity. I think XQuery main strength is as a query/update language which has modular extensibility in terms of how its specified ... its a replacement for SQL and thats where we should be aiming. The ability to write full blown apps in it is wonderful and something I do everyday with it, but I feel that we first need to gain adoption as a query language, which means we need to figure out the story of working with relational databases in a standard way. First port of call is probably tactical e.g. standardise interaction with RDBMS via some ODBC like interface. > - Each vendor has effectively created a dsl. sure, but they are all related and its not like vendor lockin of 20 yrs ago e.g. the problems of porting are far from intractable and I would argue that we need a whole lot more adoption to warrant standardisation ... core xquery across most of the vendors is pretty consistent though you maybe surprised by things like context and implicit typing ... this is more to do with the imprecision of the XQuery specs then anything. most of the lockin revolves around module libraries versus the xquery language getting doped up with something else. Jim Fuller From andrew.j.welch at gmail.com Wed Nov 9 02:39:57 2011 From: andrew.j.welch at gmail.com (Andrew Welch) Date: Wed, 9 Nov 2011 10:39:57 +0000 Subject: [xquery-talk] [ANN] presenting XQuery - GSD language at MarkLogic User Group London Nov 24 In-Reply-To: References: Message-ID: >> Is there a killer app yet? > > unsure what you mean, is there a killer app for SQL ? I mean some well known product/site/app/thing that is all done using xquery behind the scenes... so when you are talking someone who doesn't quite believe that it's the-next-big-thing, you can say 'these guys are using it'. For example, Hadoop has Facebook, Ruby has Twitter (but afaik, then ran into problems and then parts of it were rewritten in Java) etc -- Andrew Welch http://andrewjwelch.com From james.fuller.2007 at gmail.com Wed Nov 9 02:53:24 2011 From: james.fuller.2007 at gmail.com (James Fuller) Date: Wed, 9 Nov 2011 11:53:24 +0100 Subject: [xquery-talk] [ANN] presenting XQuery - GSD language at MarkLogic User Group London Nov 24 In-Reply-To: References: Message-ID: On Wed, Nov 9, 2011 at 11:39 AM, Andrew Welch wrote: >>> Is there a killer app yet? >> >> unsure what you mean, is there a killer app for SQL ? > > I mean some well known product/site/app/thing that is all done using > xquery behind the scenes... so when you are talking someone who > doesn't quite believe that it's the-next-big-thing, you can say 'these > guys are using it'. > > For example, Hadoop has Facebook, Ruby has Twitter (but afaik, then > ran into problems and then parts of it were rewritten in Java) etc yes there are tons of apps out there, just look at all the very cool stuff people are using MarkLogic for; some very revolutionary stuff with the bulk being done in XQuery but perhaps is not shouted to the rooftops that xquery is programming language in affect. but most of these apps are vertical in nature, applied to a specific industry and there is nothing horizontal (markmail?) I know of but I think the point I was trying to make is that for XQuery to gain adoption as a data dsl we need to focus first on its applicability there instead of a general programming language. There is probably no killer app for SQL for example. That being said am always interested in potential ideas for a killer app ... personally i think said killer app would actually be XQuery+database but I maybe wrong.... Jim Fuller From andrew.j.welch at gmail.com Wed Nov 9 03:21:46 2011 From: andrew.j.welch at gmail.com (Andrew Welch) Date: Wed, 9 Nov 2011 11:21:46 +0000 Subject: [xquery-talk] [ANN] presenting XQuery - GSD language at MarkLogic User Group London Nov 24 In-Reply-To: References: Message-ID: > yes there are tons of apps out there, just look at all the very cool > stuff people are using MarkLogic for; some very revolutionary stuff > with the bulk being done in XQuery but perhaps is not shouted to the > rooftops that xquery is programming language in affect. Yeah lots of good stuff (fwiw, I did the BP app for them here in the UK... hopefully that counts as good) But... nothing the average project lead will be aware of. > There is probably no > killer app for SQL for example. Ok, this is a situation I've been in a few times now, given a new project you suggest using xquery and an xml database for the usual reasons. The person making the decision isn't convinced, they know spring/hibernate, they've used data binding etc. At that point, I really need to be able to refer them to some product or site and say 'look, these guys are using it'... otherwise its just the xml person advocating the xml solution. Maybe the better way of saying all this is - what is the most widely known app/site that uses xquery? -- Andrew Welch http://andrewjwelch.com From james.fuller.2007 at gmail.com Wed Nov 9 03:40:01 2011 From: james.fuller.2007 at gmail.com (James Fuller) Date: Wed, 9 Nov 2011 12:40:01 +0100 Subject: [xquery-talk] [ANN] presenting XQuery - GSD language at MarkLogic User Group London Nov 24 In-Reply-To: References: Message-ID: On Wed, Nov 9, 2011 at 12:21 PM, Andrew Welch wrote: >> yes there are tons of apps out there, just look at all the very cool >> stuff people are using MarkLogic for; some very revolutionary stuff >> with the bulk being done in XQuery but perhaps is not shouted to the >> rooftops that xquery is programming language in affect. > > Yeah lots of good stuff (fwiw, I did the BP app for them here in the > UK... hopefully that counts as good) sure does (I did the PoC!) ... say hi to Andrew. > > But... nothing the average project lead will be aware of. > >> There is probably no >> killer app for SQL for example. > > Ok, this is a situation I've been in a few times now, given a new > project you suggest using xquery and an xml database for the usual > reasons. ?The person making the decision isn't convinced, they know > spring/hibernate, they've used data binding etc. ?At that point, I > really need to be able to refer them to some product or site and say > 'look, these guys are using it'... otherwise its just the xml person > advocating the xml solution. sure we come into that situation all the time, usually after the client has failed several times doing it with other technologies. I love XML but lets be frank, this is just data wonkiness ... for most of the people this is like asking them to love serialized b tree's to hard disk. They care even less for these kind of situations... what people love about data is the inferences they make from it. We need to realize that people do not care about angle brackets like we do, we need to focus on what you can do with the technology versus getting bogged down in angle brackets. IF that means we say the word XML Database less and say Database thats fine (most xml databases I know of allow storage of text, binary, xml), same goes for the term Data versus XML ... the xdm can encapsulate a lot of structured/semi structured data ... ya we have the oddball that is json but thats fairly trivial to address. In my mind I would like to be able to say; 'XQuery is a language for data with polystructured data' perhaps we derive a new language (or simpler syntax) and call it something snappy like 'BigDataLang' or 'PolyStructData' let the acronyms fly .... Part of the statement is reality today ... how do we bring in other data types ? Perhaps we could bring in the notion of content-type to bear to help identify these other data types ? > Maybe the better way of saying all this is - what is the most widely > known app/site that uses xquery? a lot of the 'amazing' apps for MarkLogic are with government customers and these are certainly not available for public review but I can compile a list of viewable public stuff. Will get back to you with a list of URLS for that. Jim Fuller From schassan at hab.de Thu Nov 10 06:46:01 2011 From: schassan at hab.de (Torsten Schassan) Date: Thu, 10 Nov 2011 15:46:01 +0100 Subject: [xquery-talk] OAI Message-ID: <4EBBE3A9.8080102@hab.de> Hi, what would be the most complete OAI-PMH implementation in XQuery? I came across these: [1] https://code.google.com/p/xqoai/ [2] https://ala-nsl.googlecode.com/svn/service-layer/trunk/common/app/modules/oaipmh.xqm Any other available? Would you recommend one of these mentioned over the other? Thanks, best, Torsten -- Torsten Schassan Digitale Editionen Abteilung Handschriften und Sondersammlungen Herzog August Bibliothek, Postfach 1364, D-38299 Wolfenbuettel Tel.: +49-5331-808-130 (Fax -165), schassan {at} hab.de *neu: Handschriftendatenbank* http://diglib.hab.de/?db=mss http://www.hab.de/forschung/projekte/europeana-regia.htm From ksclarke at gmail.com Thu Nov 10 09:54:11 2011 From: ksclarke at gmail.com (Kevin S. Clarke) Date: Thu, 10 Nov 2011 09:54:11 -0800 Subject: [xquery-talk] OAI In-Reply-To: <4EBBE3A9.8080102@hab.de> References: <4EBBE3A9.8080102@hab.de> Message-ID: Hi, I was around Princeton at the time Mike was developing the first URL below. It was based on another one written by Winona Salesky. That one is attached to this email (it doesn't use XHive and is customized to fit her collections at a different institution). Both were tested against the OAI validator, but as far as I know never really saw a lot of real world use (so YMMV). I don't know the #2 one below at all. Kevin On Thu, Nov 10, 2011 at 6:46 AM, Torsten Schassan wrote: > Hi, > > what would be the most complete OAI-PMH implementation in XQuery? I came > across these: > > [1] https://code.google.com/p/xqoai/ > > [2] > https://ala-nsl.googlecode.com/svn/service-layer/trunk/common/app/modules/oaipmh.xqm > > > Any other available? Would you recommend one of these mentioned over the > other? > > Thanks, best, Torsten > > -- > Torsten Schassan > Digitale Editionen > Abteilung Handschriften und Sondersammlungen > Herzog August Bibliothek, Postfach 1364, D-38299 Wolfenbuettel > Tel.: +49-5331-808-130 (Fax -165), schassan {at} hab.de > > *neu: Handschriftendatenbank* http://diglib.hab.de/?db=mss > http://www.hab.de/forschung/projekte/europeana-regia.htm > > _______________________________________________ > talk at x-query.com > http://x-query.com/mailman/listinfo/talk > -------------- next part -------------- A non-text attachment was scrubbed... Name: oai.xql Type: application/octet-stream Size: 21118 bytes Desc: not available URL: From joewiz at gmail.com Thu Nov 17 11:04:22 2011 From: joewiz at gmail.com (Joe Wicentowski) Date: Thu, 17 Nov 2011 14:04:22 -0500 Subject: [xquery-talk] XPath/XQuery equivalent of xsl:number? Message-ID: Hi all, I am constructing a table of contents based on a TEI document (whose structure consists primarily of nested divs), and would like to be able to generate appropriate heading levels for each the table of contents hierarchy. Specifically, I want to be able to generate the "I", "II", "A", "B", and "a" bits in: I. Chapter 1 II. Chapter 2 A. Section 1 B. Section 2 a) Subsection 1 Put another way, borrowing from CSS terminology, I need to be able to format an integer as "upper-roman", "upper-alpha", and "lower-alpha." Borrowing from XSL terminology, I need to perform the equivalent function of , as in: References: Message-ID: <7.0.1.0.2.20111117140431.023265f0@wheresmymailserver.com> Below is what I use in the classroom for Roman numerals for a limited set of numbers. For your alpha numbers I would work with codepoints-to-string() ... but it isn't something I've already done. I hope this helps. . . . . . . . . . . . Ken xquery version "1.0"; (: A library to transform a number less than 4000 to a sequence of Roman digits. Crane Softwrights Ltd. XQuery Training :) module namespace n2r = "urn:X-Crane:n2roman"; (:the basis of transformation is a series of strings for components:) declare variable $n2r:values as element(value)+ := ( , , , , , , , , , , , , ); (:return the concatenation of strings by continuous reduction:) declare function n2r:n2roman ( $num as xs:integer ) as xs:string { (:as long as we have a number, keep going:) if ( $num ) then (:reduce by the largest number that has a string value:) for $val in $n2r:values[@num <= $num][fn:last()] return (:using the highest value:) fn:concat( $val/@char,n2r:n2roman( $num - xs:integer( $val/@num ) ) ) (:nothing left:) else "" }; (:end of file:) At 2011-11-17 14:04 -0500, Joe Wicentowski wrote: >Hi all, > >I am constructing a table of contents based on a TEI document (whose >structure consists primarily of nested divs), and would like to be >able to generate appropriate heading levels for each the table of >contents hierarchy. Specifically, I want to be able to generate the >"I", "II", "A", "B", and "a" bits in: > >I. Chapter 1 >II. Chapter 2 > A. Section 1 > B. Section 2 > a) Subsection 1 > >Put another way, borrowing from CSS terminology, I need to be able to >format an integer as "upper-roman", "upper-alpha", and "lower-alpha." > >Borrowing from XSL terminology, I need to perform the equivalent >function of , as in: > > >I think what I really need is XPath 3.0's fn:format-integer() >function[1], but it appears that XPath 3.0 is still at the Working >Draft stage. > >So my question: Of course I could hack my own format-integer() >function together (indeed, my current kludge is to pipe out my >integers to an XSL stylesheet), but is there an XPath or XQuery >library that would let me do this? > >Thanks, >Joe > >[1] http://www.w3.org/TR/xpath-functions-30/#func-format-integer -- Contact us for world-wide XML consulting and instructor-led training Free 5-hour video lecture: XSLT/XPath 1.0 & 2.0 http://ude.my/t37DVX Crane Softwrights Ltd. http://www.CraneSoftwrights.com/q/ G. Ken Holman mailto:gkholman at CraneSoftwrights.com Google+ profile: https://plus.google.com/116832879756988317389/about Legal business disclaimers: http://www.CraneSoftwrights.com/legal From adam.retter at googlemail.com Thu Nov 17 11:23:41 2011 From: adam.retter at googlemail.com (Adam Retter) Date: Thu, 17 Nov 2011 19:23:41 +0000 Subject: [xquery-talk] XPath/XQuery equivalent of xsl:number? In-Reply-To: References: Message-ID: Joe, In eXist-db (which I happen to know you are using), if you want the format-number function, you can just call - xsl:format-number(...) from XQuery, see the signature for in the eXist-db function guide - xsl:format-number($number as numeric?, $format as xs:string) xs:string However I doubt format-number function is actually what you want as it doesnt appear to support roman numerals. As such I think Ken's example is a good start On 17 November 2011 19:04, Joe Wicentowski wrote: > Hi all, > > I am constructing a table of contents based on a TEI document (whose > structure consists primarily of nested divs), and would like to be > able to generate appropriate heading levels for each the table of > contents hierarchy. ?Specifically, I want to be able to generate the > "I", "II", "A", "B", and "a" bits in: > > I. Chapter 1 > II. Chapter 2 > ?A. Section 1 > ?B. Section 2 > ? ?a) Subsection 1 > > Put another way, borrowing from CSS terminology, I need to be able to > format an integer as "upper-roman", "upper-alpha", and "lower-alpha." > > Borrowing from XSL terminology, I need to perform the equivalent > function of , as in: > > ? ? ? > I think what I really need is XPath 3.0's fn:format-integer() > function[1], but it appears that XPath 3.0 is still at the Working > Draft stage. > > So my question: Of course I could hack my own format-integer() > function together (indeed, my current kludge is to pipe out my > integers to an XSL stylesheet), but is there an XPath or XQuery > library that would let me do this? > > Thanks, > Joe > > [1] http://www.w3.org/TR/xpath-functions-30/#func-format-integer > _______________________________________________ > talk at x-query.com > http://x-query.com/mailman/listinfo/talk > -- Adam Retter skype: adam.retter tweet: adamretter http://www.adamretter.org.uk From sokolov at ifactory.com Thu Nov 17 16:14:54 2011 From: sokolov at ifactory.com (Michael Sokolov) Date: Thu, 17 Nov 2011 19:14:54 -0500 Subject: [xquery-talk] XPath/XQuery equivalent of xsl:number? In-Reply-To: <7.0.1.0.2.20111117140431.023265f0@wheresmymailserver.com> References: <7.0.1.0.2.20111117140431.023265f0@wheresmymailserver.com> Message-ID: <4EC5A37E.8020903@ifactory.com> You might also someday be interested in the inverse function (roman numeral to decimal); here is what we use. It might be interesting for the group to compare the iterative approach here with the recursive approach to a similar problem in Ken's version? -Mike declare namespace ifp="http://www.ifactory.com/press"; define function ifp:roman-number-to-decimal ($roman-number as xs:string) { let $roman-tokens := 1000 500 100 50 10 5 1 let $l := string-length($roman-number) return sum ( for $i in (0 to $l - 1) let $t := substring($roman-number, $l - $i, 1) let $s := substring($roman-number, $l - $i + 1, 1) let $tv := number($roman-tokens/tok[@sym=$t]) let $sv := number($roman-tokens/tok[@sym=$s]) return if ($sv and $sv gt $tv) then $tv * -1 else number($tv) ) }; On 11/17/2011 2:11 PM, G. Ken Holman wrote: > Below is what I use in the classroom for Roman numerals for a limited > set of numbers. > > For your alpha numbers I would work with codepoints-to-string() ... > but it isn't something I've already done. > > I hope this helps. > > . . . . . . . . . . . Ken > > xquery version "1.0"; > > (: > A library to transform a number less than 4000 to a sequence of > Roman digits. > > Crane Softwrights Ltd. XQuery Training > :) > > module namespace n2r = "urn:X-Crane:n2roman"; > > (:the basis of transformation is a series of strings for components:) > declare variable $n2r:values as element(value)+ := > ( > , > , > , > , > , > , > , > , > , > , > , > , > > ); > > (:return the concatenation of strings by continuous reduction:) > declare function n2r:n2roman ( $num as xs:integer ) as xs:string > { > (:as long as we have a number, keep going:) > if ( $num ) then > (:reduce by the largest number that has a string value:) > > for $val in $n2r:values[@num <= $num][fn:last()] return > (:using the highest value:) > fn:concat( $val/@char,n2r:n2roman( $num - xs:integer( $val/@num > ) ) ) > (:nothing left:) > else "" > }; > > (:end of file:) > > At 2011-11-17 14:04 -0500, Joe Wicentowski wrote: >> Hi all, >> >> I am constructing a table of contents based on a TEI document (whose >> structure consists primarily of nested divs), and would like to be >> able to generate appropriate heading levels for each the table of >> contents hierarchy. Specifically, I want to be able to generate the >> "I", "II", "A", "B", and "a" bits in: >> >> I. Chapter 1 >> II. Chapter 2 >> A. Section 1 >> B. Section 2 >> a) Subsection 1 >> >> Put another way, borrowing from CSS terminology, I need to be able to >> format an integer as "upper-roman", "upper-alpha", and "lower-alpha." >> >> Borrowing from XSL terminology, I need to perform the equivalent >> function of , as in: >> >> > > > >> I think what I really need is XPath 3.0's fn:format-integer() >> function[1], but it appears that XPath 3.0 is still at the Working >> Draft stage. >> >> So my question: Of course I could hack my own format-integer() >> function together (indeed, my current kludge is to pipe out my >> integers to an XSL stylesheet), but is there an XPath or XQuery >> library that would let me do this? >> >> Thanks, >> Joe >> >> [1] http://www.w3.org/TR/xpath-functions-30/#func-format-integer > > > -- > Contact us for world-wide XML consulting and instructor-led training > Free 5-hour video lecture: XSLT/XPath 1.0 & 2.0 http://ude.my/t37DVX > Crane Softwrights Ltd. http://www.CraneSoftwrights.com/q/ > G. Ken Holman mailto:gkholman at CraneSoftwrights.com > Google+ profile: https://plus.google.com/116832879756988317389/about > Legal business disclaimers: http://www.CraneSoftwrights.com/legal > > _______________________________________________ > talk at x-query.com > http://x-query.com/mailman/listinfo/talk From gkholman at CraneSoftwrights.com Thu Nov 17 16:53:14 2011 From: gkholman at CraneSoftwrights.com (G. Ken Holman) Date: Thu, 17 Nov 2011 19:53:14 -0500 Subject: [xquery-talk] XPath/XQuery equivalent of xsl:number? In-Reply-To: <4EC5A37E.8020903@ifactory.com> References: <7.0.1.0.2.20111117140431.023265f0@wheresmymailserver.com> <4EC5A37E.8020903@ifactory.com> Message-ID: <7.0.1.0.2.20111117194856.02447ee0@wheresmymailserver.com> At 2011-11-17 19:14 -0500, Michael Sokolov wrote: >You might also someday be interested in the inverse function (roman >numeral to decimal); here is what we use. It might be interesting >for the group to compare the iterative approach here with the >recursive approach to a similar problem in Ken's version? Interesting thought, Mike! >declare namespace ifp="http://www.ifactory.com/press"; > >define function ifp:roman-number-to-decimal ($roman-number as xs:string) >{ > let $roman-tokens := >1000 >500 >100 >50 >10 >5 >1 > > let $l := string-length($roman-number) > return sum ( > for $i in (0 to $l - 1) > let $t := substring($roman-number, $l - $i, 1) > let $s := substring($roman-number, $l - $i + 1, 1) > let $tv := number($roman-tokens/tok[@sym=$t]) > let $sv := number($roman-tokens/tok[@sym=$s]) > return if ($sv and $sv gt $tv) then $tv * -1 else number($tv) > ) >}; I just modified my module as below in order to offer the inverse of Roman numeral to decimal, using the same lookup table as I use for the initial direction. Interestingly, the solution has very much the same shape! . . . . . . . . . . . . Ken xquery version "1.0"; (: A library to transform a number less than 4000 to a sequence of Roman digits. Crane Softwrights Ltd. XQuery Training :) module namespace n2r = "urn:X-Crane:n2roman"; (:the basis of transformation is a series of strings for components:) declare variable $n2r:values as element(value)+ := ( , , , , , , , , , , , , ); (:return the concatenation of strings by continuous reduction:) declare function n2r:n2roman ( $num as xs:integer ) as xs:string { (:as long as we have a number, keep going:) if ( $num ) then (:reduce by the largest number that has a string value:) for $val in $n2r:values[@num <= $num][fn:last()] return (:using the highest value:) fn:concat( $val/@char,n2r:n2roman( $num - xs:integer( $val/@num ) ) ) (:nothing left:) else "" }; (:return the sum of numbers by continuous addition:) declare function n2r:roman2n ( $str as xs:string ) as xs:integer { (:as long as we have a string, keep going:) if ( $str ) then (:reduce by the largest number that has a string value:) for $val in $n2r:values[starts-with($str, at char)][fn:last()] return (:using the highest value:) xs:integer( $val/@num ) + n2r:roman2n(substring-after($str,$val/@char)) (:nothing left:) else 0 }; (:test all numbers up to but not including 4000:) declare function n2r:test ( ) as xs:integer* { for $each in 1 to 3999 return if( $each != n2r:roman2n(n2r:n2roman($each)) ) then $each else () }; (:end of file:) -- Contact us for world-wide XML consulting and instructor-led training Free 5-hour video lecture: XSLT/XPath 1.0 & 2.0 http://ude.my/t37DVX Crane Softwrights Ltd. http://www.CraneSoftwrights.com/q/ G. Ken Holman mailto:gkholman at CraneSoftwrights.com Google+ profile: https://plus.google.com/116832879756988317389/about Legal business disclaimers: http://www.CraneSoftwrights.com/legal From tgraham at mentea.net Fri Nov 18 03:33:11 2011 From: tgraham at mentea.net (Tony Graham) Date: Fri, 18 Nov 2011 11:33:11 -0000 (GMT) Subject: [xquery-talk] Schematron implemented in XQuery? Message-ID: <27302.83.147.131.233.1321615991.squirrel@mail3.webfaction.com> Has anybody developed a (free) implementation of Schematron with XQuery as the query language/implementation. The ISO Schematron spec has the following fine-sounding note: The following query language names are reserved without further definition. Implementations which use different query language bindings are encouraged to use one of these names if appropriate : stx, xslt, xslt1.1, exslt, xslt2, xpath, xpath2, xquery. The closest that I've found to Schematron in XQuery is Norm's ML-Schematron module [1] but that relies on MarkLogic's XSLT 2.0 support. It's for an upcoming project implemented using QT, where the XQuery 1.0 support is more complete than the XSLT 2.0 support [2]. I'll also be looking to see whether Schematron's final compiled XSLT 2.0 stylesheet that you actually run on the XML documents doesn't overexert QT's XSLT 2.0 processor, but it would be good to find out if I didn't have to worry about that. Regards, Tony Graham tgraham at mentea.net Consultant http://www.mentea.net Mentea 13 Kelly's Bay Beach, Skerries, Co. Dublin, Ireland -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- XML, XSL-FO and XSLT consulting, training and programming [1] https://github.com/ndw/ML-Schematron [2] http://doc.trolltech.com/latest/xmlprocessing.html#features-and-conformance From geert.josten at dayon.nl Fri Nov 18 04:28:26 2011 From: geert.josten at dayon.nl (Geert Josten) Date: Fri, 18 Nov 2011 13:28:26 +0100 Subject: [xquery-talk] Schematron implemented in XQuery? In-Reply-To: <27302.83.147.131.233.1321615991.squirrel@mail3.webfaction.com> References: <27302.83.147.131.233.1321615991.squirrel@mail3.webfaction.com> Message-ID: Hi Tony, I did a bit of work on that a few years ago. But it kind of compiles from Schematron to XQuery. The idea was to make it a bit more efficient. You had to put the Schematron files in the Schema database of MarkLogic Server, at first request it would compile it and put the xqy code into Modules database to enable running it. In other words, rather tied to MarkLogic Server the way it is now.. Note that it only covers the validation part, not the second part to make a nice report out of it. Also note that there is a good XSLT 1.0 implementation of Schematron. Perhaps that would work in QT.. Kind regards, Geert -----Oorspronkelijk bericht----- Van: talk-bounces at x-query.com [mailto:talk-bounces at x-query.com] Namens Tony Graham Verzonden: vrijdag 18 november 2011 12:33 Aan: talk at x-query.com Onderwerp: [xquery-talk] Schematron implemented in XQuery? Has anybody developed a (free) implementation of Schematron with XQuery as the query language/implementation. The ISO Schematron spec has the following fine-sounding note: The following query language names are reserved without further definition. Implementations which use different query language bindings are encouraged to use one of these names if appropriate : stx, xslt, xslt1.1, exslt, xslt2, xpath, xpath2, xquery. The closest that I've found to Schematron in XQuery is Norm's ML-Schematron module [1] but that relies on MarkLogic's XSLT 2.0 support. It's for an upcoming project implemented using QT, where the XQuery 1.0 support is more complete than the XSLT 2.0 support [2]. I'll also be looking to see whether Schematron's final compiled XSLT 2.0 stylesheet that you actually run on the XML documents doesn't overexert QT's XSLT 2.0 processor, but it would be good to find out if I didn't have to worry about that. Regards, Tony Graham tgraham at mentea.net Consultant http://www.mentea.net Mentea 13 Kelly's Bay Beach, Skerries, Co. Dublin, Ireland -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- XML, XSL-FO and XSLT consulting, training and programming [1] https://github.com/ndw/ML-Schematron [2] http://doc.trolltech.com/latest/xmlprocessing.html#features-and-conformanc e _______________________________________________ talk at x-query.com http://x-query.com/mailman/listinfo/talk From joewiz at gmail.com Fri Nov 18 07:25:36 2011 From: joewiz at gmail.com (Joe Wicentowski) Date: Fri, 18 Nov 2011 10:25:36 -0500 Subject: [xquery-talk] XPath/XQuery equivalent of xsl:number? In-Reply-To: <7.0.1.0.2.20111117194856.02447ee0@wheresmymailserver.com> References: <7.0.1.0.2.20111117140431.023265f0@wheresmymailserver.com> <4EC5A37E.8020903@ifactory.com> <7.0.1.0.2.20111117194856.02447ee0@wheresmymailserver.com> Message-ID: <333C7BDE-A37D-4306-994B-CAC01D27C429@gmail.com> Thanks everyone for your helpful ideas! Joe Sent from my iPhone On Nov 17, 2011, at 7:53 PM, "G. Ken Holman" wrote: > At 2011-11-17 19:14 -0500, Michael Sokolov wrote: >> You might also someday be interested in the inverse function (roman numeral to decimal); here is what we use. It might be interesting for the group to compare the iterative approach here with the recursive approach to a similar problem in Ken's version? > > Interesting thought, Mike! > >> declare namespace ifp="http://www.ifactory.com/press"; >> >> define function ifp:roman-number-to-decimal ($roman-number as xs:string) >> { >> let $roman-tokens := >> 1000 >> 500 >> 100 >> 50 >> 10 >> 5 >> 1 >> >> let $l := string-length($roman-number) >> return sum ( >> for $i in (0 to $l - 1) >> let $t := substring($roman-number, $l - $i, 1) >> let $s := substring($roman-number, $l - $i + 1, 1) >> let $tv := number($roman-tokens/tok[@sym=$t]) >> let $sv := number($roman-tokens/tok[@sym=$s]) >> return if ($sv and $sv gt $tv) then $tv * -1 else number($tv) >> ) >> }; > > I just modified my module as below in order to offer the inverse of Roman numeral to decimal, using the same lookup table as I use for the initial direction. Interestingly, the solution has very much the same shape! > > . . . . . . . . . . . . Ken > > xquery version "1.0"; > > (: > A library to transform a number less than 4000 to a sequence of Roman digits. > > Crane Softwrights Ltd. XQuery Training > :) > > module namespace n2r = "urn:X-Crane:n2roman"; > > (:the basis of transformation is a series of strings for components:) > declare variable $n2r:values as element(value)+ := > ( > , > , > , > , > , > , > , > , > , > , > , > , > > ); > > (:return the concatenation of strings by continuous reduction:) > declare function n2r:n2roman ( $num as xs:integer ) as xs:string > { > (:as long as we have a number, keep going:) > if ( $num ) then > (:reduce by the largest number that has a string value:) > for $val in $n2r:values[@num <= $num][fn:last()] return > (:using the highest value:) > fn:concat( $val/@char,n2r:n2roman( $num - xs:integer( $val/@num ) ) ) > (:nothing left:) > else "" > }; > > (:return the sum of numbers by continuous addition:) > declare function n2r:roman2n ( $str as xs:string ) as xs:integer > { > (:as long as we have a string, keep going:) > if ( $str ) then > (:reduce by the largest number that has a string value:) > for $val in $n2r:values[starts-with($str, at char)][fn:last()] return > (:using the highest value:) > xs:integer( $val/@num ) + n2r:roman2n(substring-after($str,$val/@char)) > (:nothing left:) > else 0 > }; > > (:test all numbers up to but not including 4000:) > declare function n2r:test ( ) as xs:integer* > { > for $each in 1 to 3999 return if( $each != n2r:roman2n(n2r:n2roman($each)) ) > then $each else () > }; > > (:end of file:) > > > -- > Contact us for world-wide XML consulting and instructor-led training > Free 5-hour video lecture: XSLT/XPath 1.0 & 2.0 http://ude.my/t37DVX > Crane Softwrights Ltd. http://www.CraneSoftwrights.com/q/ > G. Ken Holman mailto:gkholman at CraneSoftwrights.com > Google+ profile: https://plus.google.com/116832879756988317389/about > Legal business disclaimers: http://www.CraneSoftwrights.com/legal > > _______________________________________________ > talk at x-query.com > http://x-query.com/mailman/listinfo/talk From james.fuller.2007 at gmail.com Mon Nov 21 02:04:43 2011 From: james.fuller.2007 at gmail.com (James Fuller) Date: Mon, 21 Nov 2011 11:04:43 +0100 Subject: [xquery-talk] [ANN] MarkLogic User Group London Nov 24 In-Reply-To: References: Message-ID: (last announcement I promise!) I will be giving a talk at the upcoming MarkLogic User Group in London, Nov 24th (this Thursday). http://www.meetup.com/muglondon/events/40390792/ The talk revolves around a few xquery related subjects; * I will present evidence of why XQuery is such a productive language * show some of the cooler things you can do with XQuery which you may not be doing now * present a few XQuery applications, specifically; ? ? * Corona: MarkLogic new Open Source NoSQL built on top of ML XQuery ? ? * xprocxq: An xproc processor built using XQuery We have a few more spots, so please come on down, contribute, swap war stories, heckle and drink (beer|wine|tea) its going to be a good time. hope to see you there, Jim Fuller From dlee at calldei.com Wed Nov 23 04:54:43 2011 From: dlee at calldei.com (David Lee) Date: Wed, 23 Nov 2011 07:54:43 -0500 Subject: [xquery-talk] [ANN] Candle 0.10 Beta Release - a new scripting language for XML and more In-Reply-To: <2870bc8b9dce9812976f248d580e7d08.squirrel@emailmg.netfirms.com> References: <070558d45111e975749078219bd8825a.squirrel@emailmg.netfirms.com> <1b721beec6d48d888ecc03d7a52f1f01@mail.gmail.com> <2870bc8b9dce9812976f248d580e7d08.squirrel@emailmg.netfirms.com> Message-ID: <00e701cca9df$13824f50$3a86edf0$@calldei.com> I'm definitely for more XML scripting languages, its a great thing. But as the author of xmlsh I'd like to clarify a misconception --- quote " xmlsh primarily concerns with converting the input and output of the shell commands into XML" --- This is a misconception. The primary goal and functionality of xmlsh is to provide *efficient* native XML processing within a (possibly) familiar scripting syntax. There happen to be a few "shell commands" implemented which input or output XML, that's a mere sidelight. External shell commands are not converted to XML at all. The main goal is to provide a scripting language where in the past everything was text (variables, pipes, expressions) but is now fully XML enabled, but equally with text. Variables are stored as XDM values, Expressions support full XQuery syntax, piping is in-process (threaded) and supports text equally as well as XML. But to repeat my first statement. The more good scripting languages for XML processing the better, IMHO, because it gives more people exposure to XML. And being a self-proclaimed "XML Advocate" that's a good thing by definition :) Some say too many languages is a bad thing ... but when a technology is under-utilized I believe a plethora of languages is good thing. So good going !!!! ---------------------------------------- David A. Lee dlee at calldei.com http://www.xmlsh.org From: talk-bounces at x-query.com [mailto:talk-bounces at x-query.com] On Behalf Of henryluo at candlescript.org Sent: Tuesday, November 22, 2011 10:05 PM To: Geert Josten Cc: talk at x-query.com; henryluo at candlescript.org Subject: Re: [xquery-talk] [ANN] Candle 0.10 Beta Release - a new scripting language for XML and more Thanks for the comment. Regarding XProc and xmlsh, I definitely have both in mind when designing Candle. Candle will definitely provide pipeline feature like XProc, but it won't be in 1.0 formal release. And I also share the same vision as xmlsh that everything in the end should be XML or something hierarchical. xmlsh primarily concerns with converting the input and output of the shell commands into XML, that can be easily done in Candle using the grammar support in Candle. Candle introduces additional advanced features to shell scripting, like: . separation of side effects; . unifying file system data model (files and directories) with document node data model, so that you can extend advanced features on XML like schema, path selection, query and transformation to the file system. That will be a revolution to the shell scripting. (am I leaking too much of something exciting for the 1.0 release? :-) Best Regards Henry > Sounds interesting. How does it compare to other solutions that bring > those > techniques together, like xmlsh and the XProc standard? > > > > Kind regards, > > Geert > > > > *Van:* talk-bounces at x-query.com [mailto:talk-bounces at x-query.com] *Namens > * > henryluo at candlescript.org > *Verzonden:* dinsdag 22 november 2011 6:37 > *Aan:* talk at x-query.com > *Onderwerp:* [xquery-talk] [ANN] Candle 0.10 Beta Release - a new > scripting > language for XML and more > > > > Dear members of talk at x-query.com list, > > I'm glad to announce the 0.10 beta release of *Candle*. Candle is an > open-source (MPL) scripting language that unifies the core features of > many > XML-related technologies (including XSLT, XQuery, XQuery Update, RELAX NG, > BNF, XHTML, SVG and more). It can be used to develop command-line, desktop > and Internet applications. > > Some of the advantages of Candle comparing to XSLT and XQuery are: > > - *Candle is an unified language* instead of two highly-overlapping > languages. Candle uses scripting syntax instead of the highly verbose > markup syntax of XSLT. > - *Candle's > markuplanguage > is strongly-typed > * even without schema, whereas XML is only weakly-typed without schema. > - *Candle comes up with a pattern > language > * which cleanly unifies several pattern-related DSLs (including RegEx, > BNF, RELAX NG, XQuery Sequence Type). It can easily match on sequence > of > items, nodes and characters. > - *Candle unifies functional and procedural programming*. Through a > mechanism called > separation-of-side-effects, > Candle unifies two worlds in a more orderly manner then any existing > multi-paradigm programming languages. > - *Candle is a general-purpose scripting language* like Python, whereas > XSLT and XQuery are more like DSLs. Candle alone is sufficient to > develop > complex command-line, desktop and Internet applications, whereas XSLT > and > XQuery still need to integrate with other languages to develop a > serious > application. > > And this new release introduces a new hierarchical namespace > syntaxand > adds support for a new object > notation. > You can find out more details from the updated reference documents, as > well > as my 3 new blogs: > > - Who Needs > XML: > I talked about the problems of XML as a general data-exchange format, > especially when used for structured data. > - A Markup Notation Better Then > Ever: > I showed how Candle unifies XML markup data model with OOP object data > model, and its advantages comparing to formats like XML, JSON, JavaFX > literal object and YAML. > - The Examples Speak For > Themselve: > I showed how Candle Markup can effectively express different kinds of > structured data, like iCanlendar Record, SVG, MathML, DOT graph > language, > POV-Ray SDL, and Lua configuration. > > For more information, you can visit the > website( > http://www.candlescript.org/) or the SourceForge > project > . > > Your feedback on Candle is highly appreciated. > > Henry > > -------------------------------------------------------------------- > Candle App Platform - An *unified platform* for desktop and Internet apps. > _______________________________________________ > talk at x-query.com > http://x-query.com/mailman/listinfo/talk