From: Adam R. <ada...@de...> - 2008-03-17 10:52:54
|
Your final choice was correct :-) -----Original Message----- From: Fraser Goffin [mailto:go...@go...] Sent: Sun 16/03/2008 18:59 To: exi...@li... Cc: Adam Retter Subject: Re: [Exist-open] _query or _xsl support for collection results Thanks Adam, as you said it was quite easy to modify to get what I need. On a related note. When I called from IE the results weren't displayed nicely formatted although a quick 'View Source' confirmed that everything was OK. I noted that the MIME type returned was tex/html, so I started experimenting with various ways of setting this. I tried using :- response:set-header("Content-Type", "application/xml;charset=UTF-8") but couldn't get this to work (actually I wasn't 100% sure where to put this in the XQuery ?? I kept getting errors like 'Variable $response is not bound to a Java object' .. I then found a note from you about setting the param dynamic-content-type in server.xml. I assumed this meant here :- <rest enabled="yes" context="/*"> <!-- Special params: set form-encoding and container-encoding. If they are set to different encodings, eXist may need to recode form parameters. --> <param name="form-encoding" value="UTF-8"/> <param name="container-encoding" value="UTF-8"/> <param name="dynamic-content-type" value="yes"/> but again this didn't seem to have any effect ?? Finally I tried the XQuery option :- declare option exist:serialize "media-type=application/xml"; and this DID seem to work. Was this the right choice ? Should the other methods have worked ? Thanks Fraser On 11/03/2008, Adam Retter <ada...@de...> wrote: > > > > Here is some XQuery code to get you started, completing this should be very > easy - > > xquery version "1.0"; > > declare namespace > request="http://exist-db.org/xquery/request"; > declare namespace xmldb="http://exist-db.org/xquery/xmldb"; > > (: let $collectionName := replace(request:get-uri(), ".*/", "") return :) > let $collectionName := "/db" return > > <result> > <collection name="{$collectionName}" > owner="{xmldb:get-owner($collectionName)}" > group="{xmldb:get-group($collectionName)}" > permissions="{xmldb:get-permissions($collectionName)}"> > { > for $childCollection in > xmldb:get-child-collections($collectionName) > let $collectionName := concat($collectionName, "/", > $childCollection) return > <collection name="{$collectionName}" > owner="{xmldb:get-owner($collectionName)}" > group="{xmldb:get-group($collectionName)}" > permissions="{xmldb:get-permissions($collectionName)}"/>, > > for $childResource in > xmldb:get-child-resources($collectionName) return > <resource name="{$childResource}"/> > } > </collection> > </result> > > > -----Original Message----- > From: Fraser Goffin [mailto:go...@go...] > Sent: Mon 10/03/2008 18:35 > To: exi...@li... > Cc: Adam Retter > Subject: Re: [Exist-open] _query or _xsl support for collection results > > > 1) We would need to make some small changes in org.exist.http.RESTServer > > to act on the _xsl parameter when displaying collection listings. This > > should be quite easy. How are your Java skills? > > I see. Not great :-) > > > Sure I could produce you an example or even write it for you. But - > > which method would you prefer (1) or (2). > > Well ...... both would be good :-) - not just for me of course but the > community as a whole. If I were forced to choose I would go for (2) > since this seems to me to provide a more RESTful approach whereas (1) > exposes the implementation detail somewhat. I can see a case for both. > > Can we pursue (2) to start with. Care to offer a starter which I can > work thorugh to ensure I understand properly (along the lines > suggested earlier ?) > > Cheers > > Fraser. > > On 10/03/2008, Adam Retter <ada...@de...> wrote: > > > > 1) We would need to make some small changes in org.exist.http.RESTServer > > to act on the _xsl parameter when displaying collection listings. This > > should be quite easy. How are your Java skills? > > > > 2) You don't need a transform step. As you say - the XQuery can be coded > > to produce the desired output - I just thought you wanted a transform as > > well? > > > > Sure I could produce you an example or even write it for you. But - > > which method would you prefer (1) or (2). > > > > Thanks Adam. > > > > > > -----Original Message----- > > From: Fraser Goffin [mailto:go...@go...] > > Sent: 10 March 2008 13:01 > > To: exi...@li... > > Cc: Adam Retter > > Subject: Re: [Exist-open] _query or _xsl support for collection results > > > > > > Adam, > > > > > 1) NO eXist cannot yet apply an XSLT to a collection listing. Although > > it > > > would be very easy to implement - I could help you with this if you > > have the > > > inclination. > > > > Thanks. Yes that would be very useful, how shall we start with this ? > > > > > 2) As an alternative to achieve what you want, you can write an XQuery > > which > > > is the default document that will generate the output you want (below > > - same > > > as collection listing) and then apply an XSLT to it with > > > transform:transform() > > > > H'mmm. Ok, why would I need a separate transform step when the XQuery > > can be written to produce the required output ? > > > > and .... where are you expecting transform:transform to execute ? > > > > It is this bit that I'm struggling with. The default XQuery document > > appears to operate only on the contents of the collection (all of the > > resources stored within it). Clearly I don't really want to process > > every stored document and I'm not sure if I can get access to > > meta-data about them (i.e. what collection(s) they belong to) even if > > I wanted to. > > > > Perhaps you could show me an example of what you think the XQuery > > would look like ? Lets use this simple example :- > > > > Produce a similar representation that would be output by Exist when > > using a URL at the top level > (http://localhost:8080/exist/rest/db). On > > my test machine this produces (see below). Lets say we want the same > > representation but with the exist namespace removed, that is , > > <exist:result ... becomes <result ... etc :- > > > > <exist:result > xmlns:exist="http://exist.sourceforge.net/NS/exist"> > > <exist:collection name="/db" owner="admin" group="dba" > > permissions="rwurwurwu"> > > <exist:collection name="rss" created="2007-12-27T14:45:05.668Z" > > owner="guest" group="guest" permissions="rwur-ur-u" /> > > <exist:collection name="xmlad" created="2007-12-27T14:52:49.515Z" > > owner="admin" group="dba" permissions="rwur-ur-u" /> > > <exist:collection name="sandbox" created="2007-12-27T14:55:51.427Z" > > owner="admin" group="dba" permissions="rwur-ur-u" /> > > <exist:collection name="shakespeare" > > created="2007-12-27T14:52:15.807Z" owner="admin" group="dba" > > permissions="rwur-ur-u" /> > > <exist:collection name="mods" created="2007-12-27T14:52:18.32Z" > > owner="admin" group="dba" permissions="rwur-ur-u" /> > > <exist:collection name="Numbers" created="2007-12-28T11:11:53.83Z" > > owner="goffinf" group="dba" permissions="rwur-ur-u" /> > > <exist:collection name="mondial" created="2007-12-27T14:52:53.431Z" > > owner="admin" group="dba" permissions="rwur-ur-u" /> > > <exist:collection name="quotestore" > > created="2008-01-27T14:41:17.457Z" owner="goffinf" group="dba" > > permissions="rwur-ur-u" /> > > <exist:collection name="library" created="2007-12-27T14:52:18.13Z" > > owner="admin" group="dba" permissions="rwur-ur-u" /> > > <exist:collection name="xinclude" created="2007-12-27T14:52:17.82Z" > > owner="admin" group="dba" permissions="rwur-ur-u" /> > > </exist:collection> > > </exist:result> > > > > Thanks > > > > Fraser. > > > > > > > > > > On 10/03/2008, Adam Retter <ada...@de...> wrote: > > > > > > > > > > > > Okay the answers are in my previous emails. Im sorry if its not clear, > > lets > > > try again... > > > > > > > > > 1) NO eXist cannot yet apply an XSLT to a collection listing. Although > > it > > > would be very easy to implement - I could help you with this if you > > have the > > > inclination. > > > > > > 2) As an alternative to achieve what you want, you can write an XQuery > > which > > > is the default document that will generate the output you want (below > > - same > > > as collection listing) and then apply an XSLT to it with > > > transform:transform() > > > > > > Cheers Adam. > > > > > > -----Original Message----- > > > From: exi...@li... on > behalf of > > > Fraser Goffin > > > Sent: Sun 09/03/2008 12:57 > > > To: exi...@li... > > > Subject: Re: [Exist-open] _query or _xsl support for collection > > results > > > > > > > > > Adam, > > > > > > still not quite there, and I am still wondering if what I am trying to > > > acheive is possible within Exist itself (easily) ? > > > > > > As you say I *could* implement what I need in a RESTLet server class. > > I had > > > in fact already done this but wanted to get Exist itself to return the > > > representation that I need. > > > > > > I followed your suggestion of defining a default (XQuery) document > > with > > > descriptor.xml and this did indeed execute, but once again does NOT > > appear > > > to operate on the results that Exist would return for a COLLECTION > > (i.e. an > > > REST algorithmic query), but on ALL of the [physical] resources > > CONTAINED > > > within that collection. > > > > > > I want my XQuery to execute against THIS representation that I would > > get > > > using a URL such as > > > (http://localhost:8080/exist/rest/db/quotestore) - when > > > no default document is defined for that collection :- > > > > > > <exist:result > > > xmlns:exist="http://exist.sourceforge.net/NS/exist"> > > > <exist:collection name="/db/quotestore" owner="goffinf" group="dba" > > > permissions="rwur-ur-u"> > > > <exist:collection name="nba" created="2008-01-27T14:41:42.783Z" > > > owner="goffinf" group="dba" permissions="rwur-ur-u"/> > > > <exist:collection name="rfq" created="2008-01-27T14:41:42.783Z" > > > owner="goffinf" group="dba" permissions="rwur-ur-u"/> > > > ... > > > </exist:result> > > > > > > Any thoughts > > > > > > Thanks > > > > > > Fraser. > > > > > > > > > > > > Adam Retter wrote: > > > > > > > > > > > > > > > > You stated two things you wanter originally. I believed we were > > talking > > > > about the first thing in these last emails. > > > > > > > > If you want to transform a collection listing with XSLT, that is not > > > > currently supported - as I said in my first email! > > > > However it you know Java it would not be much work to implement it > > in the > > > > RESTServer class. Otherwise your other option would be to write an > > xquery > > > > that iterated over the resources and collections and puts out an XML > > > > document with the format that your require. This XQuery could then > > be set > > > > as the `default document` for that collection - so when you call > > > > http://localhost:8080/exist/servlet/db/quotestore - > you > > > actually see the > > > > output of the xquery. This `default document` functionality is > > defined in > > > > descriptor.xml > > > > > > > > Thanks Adam. > > > > > > > > > > > > -----Original Message----- > > > > From: exi...@li... on > behalf > > > of Fraser Goffin > > > > Sent: Sat 01/03/2008 18:17 > > > > To: exi...@li... > > > > Subject: Re: [Exist-open] _query or _xsl support for collection > > results > > > > > > > > > > > > OK, using collection() *did* run successfully, but still didn't > > return > > > > what I > > > > wanted. It executed against the documents within the collection, not > > the > > > > collection representation itself. > > > > > > > > Its my fault I'm just not explaining clearly enough. > > > > > > > > What I want to return is a transformed representation of the > > collection > > > > results. Exist returns this for the GET request > > > > (http://localhost:8080/exist/rest/db/quotestore):- > > > > > > > > <exist:result > > > xmlns:exist="http://exist.sourceforge.net/NS/exist"> > > > > <exist:collection name="/db/quotestore" owner="goffinf" > > group="dba" > > > > permissions="rwur-ur-u"> > > > > <exist:collection name="nba" created="2008-01-27T14:41:42.783Z" > > > > owner="goffinf" group="dba" permissions="rwur-ur-u"/> > > > > <exist:collection name="rfq" created="2008-01-27T14:41:42.783Z" > > > > owner="goffinf" group="dba" permissions="rwur-ur-u"/> > > > > ... > > > > </exist:result> > > > > > > > > and I want to return something similar, but transformed ... for > > example > > > > [say] this :- > > > > > > > > <collections> > > > > <collection name="nba" link="/db/quotestore/nba"/> > > > > <collection name="rfq" link="/db/quotestore/rfq"/> > > > > <collection name="ren" link="/db/quotestore/ren"/> > > > > <collection name="mta" link="/db/quotestore/mta"/> > > > > </collections> > > > > > > > > Thanks > > > > > > > > Fraser. > > > > > > > > > > > > Adam Retter wrote: > > > >> > > > >> > > > >> Your right that wont work, instead of doc() use collection() > > > >> > > > >> :-p > > > >> > > > >> Cheers Adam > > > >> > > > >> > > > >> -----Original Message----- > > > >> From: exi...@li... on > behalf > > > of Fraser Goffin > > > >> Sent: Sat 01/03/2008 15:31 > > > >> To: exi...@li... > > > >> Subject: Re: [Exist-open] _query or _xsl support for collection > > results > > > >> > > > >> > > > >> Thanks Adam. > > > >> > > > >> However, I *still* can't seem to get this to work. I created the > > simplest > > > >> XQuery that I could think of and stored it in the collection, but > > it > > > >> still > > > >> doesn't return any results. Are you certain that this will work > > when the > > > >> doc > > > >> function is referencing a collection rather than a stored XML > > instance ? > > > >> > > > >> Note: When I point the doc function at an XML instance in the > > collection > > > >> it > > > >> works fine. > > > >> > > > >> This query :- > > > >> > > > >> xquery version "1.0"; > > > >> declare namespace eXist = > > > "http://exist.sourceforge.net/NS/exist"; > > > >> <result> > > > >> {for $m in doc("/db/Numbers")/* return $m} > > > >> </result> > > > >> > > > >> This is what got returned :- > > > >> > > > >> <result/> > > > >> > > > >> I also tried {for $m in doc("/db/Numbers")/eXist:result return $m}, > > but > > > >> still the same outcome ?? > > > >> > > > >> Any ideas what I'm doing wrong ? > > > >> > > > >> Fraser. > > > >> > > > >> > > > >> > > > >> Adam Retter wrote: > > > >>> > > > >>> In your first example where you want to use _query - just store > > your > > > >>> query > > > >>> in the collection itself and call it directly from REST. So your > > > >>> > > > > http://localhost:8080/exist/rest/db/quotestore?_query=myXQuery.xq > > > would > > > >>> become > > > > http://localhost:8080/exist/rest/db/quotestore/myXQuery.xql > > > >>> > > > >>> In the second example where you want to apply an XSL to a > > collection > > > >>> result, I think that is a valid use-case but it is not supported > > at the > > > >>> moment. Perhaps you could add a feature request on the SourceForge > > page > > > >>> for eXist - I would be happy for you to assign it to me if you > > like > > > >>> (deliriumsky) > > > >>> > > > >>> Thanks Adam. > > > >>> > > > >>> > > > >>> -----Original Message----- > > > >>> From: exi...@li... on > > > behalf of Fraser > > > >>> Goffin > > > >>> Sent: Sun 24/02/2008 13:07 > > > >>> To: exi...@li... > > > >>> Subject: [Exist-open] _query or _xsl support for collection > > results > > > >>> > > > >>> > > > >>> exist version: 1.1 > > > >>> primary usage model : REST > > > >>> > > > >>> Searching this archive I can see that _xsl does NOT appear to > > operate on > > > >>> a > > > >>> representation of a collection itself, for example if the resource > > > >>> requested > > > >>> returns this (for > > > http://localhost:8080/exist/rest/db/quotestore) :- > > > >>> > > > >>> <exist:result > > > xmlns:exist="http://exist.sourceforge.net/NS/exist"> > > > >>> <exist:collection name="/db/quotestore" owner="goffinf" > > group="dba" > > > >>> permissions="rwur-ur-u"> > > > >>> <exist:collection name="nba" > > created="2008-01-27T14:41:42.783Z" > > > >>> owner="goffinf" .... /> > > > >>> ... > > > >>> > > > >>> Is this still the case for version 1.2 ? > > > >>> > > > >>> I wondered whether _query might be an option, but again it appears > > that > > > >>> the > > > >>> query does NOT operate on the collection result but on the > > documents > > > >>> within > > > >>> that collection. Is that correct or am I missing something ? > > > >>> > > > >>> For example I would like to return the collection as above, but > > > >>> transform > > > >>> it > > > >>> before it is passed to the calling client. I *could* of course do > > this > > > >>> in > > > >>> my > > > >>> restlet code, but I was hoping to do it as part of the exist > > request ? I > > > >>> want to do something like this, but have the XQuery or XSL operate > > on > > > >>> the > > > >>> collection results shown above :- > > > >>> > > > >>> > > > > http://localhost:8080/exist/rest/db/quotestore?_query=myXQuery.xq > > > >>> > > > >>> or > > > >>> > > > >>> > > > > http://localhost:8080/exist/rest/db/quotestore?_xsl=myXSL.xsl > > > >>> > > > >>> Thanks > > > >>> > > > >>> Fraser. > > > >>> -- > > > >>> View this message in context: > > > >>> > > > > > > http://www.nabble.com/_query-or-_xsl-support-for-collection-results-tp15 > > 663892p15663892.html > > > >>> Sent from the exist-open mailing list archive at Nabble.com. > > > >>> > > > >>> > > > >>> > > > > > > ------------------------------------------------------------------------ > > - > > > >>> This SF.net email is sponsored by: Microsoft > > > >>> Defy all challenges. Microsoft(R) Visual Studio 2008. > > > >>> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > >>> _______________________________________________ > > > >>> Exist-open mailing list > > > >>> Exi...@li... > > > >>> > https://lists.sourceforge.net/lists/listinfo/exist-open > > > >>> > > > >>> > > > >>> > > > > > > ------------------------------------------------------------------------ > > - > > > >>> This SF.net email is sponsored by: Microsoft > > > >>> Defy all challenges. Microsoft(R) Visual Studio 2008. > > > >>> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > >>> _______________________________________________ > > > >>> Exist-open mailing list > > > >>> Exi...@li... > > > >>> > https://lists.sourceforge.net/lists/listinfo/exist-open > > > >>> > > > >>> > > > >> > > > >> -- > > > >> View this message in context: > > > >> > > > > > > http://www.nabble.com/Re%3A-_query-or-_xsl-support-for-collection-result > > s-tp15665960p15777208.html > > > >> Sent from the exist-open mailing list archive at Nabble.com. > > > >> > > > >> > > > >> > > > > > > ------------------------------------------------------------------------ > > - > > > >> This SF.net email is sponsored by: Microsoft > > > >> Defy all challenges. Microsoft(R) Visual Studio 2008. > > > >> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > >> _______________________________________________ > > > >> Exist-open mailing list > > > >> Exi...@li... > > > >> > https://lists.sourceforge.net/lists/listinfo/exist-open > > > >> > > > >> > > > >> > > > > > > ------------------------------------------------------------------------ > > - > > > >> This SF.net email is sponsored by: Microsoft > > > >> Defy all challenges. Microsoft(R) Visual Studio 2008. > > > >> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > >> _______________________________________________ > > > >> Exist-open mailing list > > > >> Exi...@li... > > > >> > https://lists.sourceforge.net/lists/listinfo/exist-open > > > >> > > > >> > > > > > > > > -- > > > > View this message in context: > > > > > > > > > > http://www.nabble.com/Re%3A-_query-or-_xsl-support-for-collection-result > > s-tp15665960p15779103.html > > > > Sent from the exist-open mailing list archive at Nabble.com. > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > - > > > > This SF.net email is sponsored by: Microsoft > > > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > > _______________________________________________ > > > > Exist-open mailing list > > > > Exi...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/exist-open > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > - > > > > This SF.net email is sponsored by: Microsoft > > > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > > _______________________________________________ > > > > Exist-open mailing list > > > > Exi...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/exist-open > > > > > > > > > > > > > > -- > > > View this message in context: > > > > > > http://www.nabble.com/Re%3A-_query-or-_xsl-support-for-collection-result > > s-tp15665960p15925877.html > > > Sent from the exist-open mailing list archive at Nabble.com. > > > > > > > > > > > > ------------------------------------------------------------------------ > > - > > > This SF.net email is sponsored by: Microsoft > > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > _______________________________________________ > > > Exist-open mailing list > > > Exi...@li... > > > https://lists.sourceforge.net/lists/listinfo/exist-open > > > > > > Sent: Sun 09/03/2008 12:57 > > > To: exi...@li... > > > Subject: Re: [Exist-open] _query or _xsl support for collection > > results > > > > > > > > > Adam, > > > > > > still not quite there, and I am still wondering if what I am trying to > > > acheive is possible within Exist itself (easily) ? > > > > > > As you say I *could* implement what I need in a RESTLet server class. > > I had > > > in fact already done this but wanted to get Exist itself to return the > > > representation that I need. > > > > > > I followed your suggestion of defining a default (XQuery) document > > with > > > descriptor.xml and this did indeed execute, but once again does NOT > > appear > > > to operate on the results that Exist would return for a COLLECTION > > (i.e. an > > > REST algorithmic query), but on ALL of the [physical] resources > > CONTAINED > > > within that collection. > > > > > > I want my XQuery to execute against THIS representation that I would > > get > > > using a URL such as > > > (http://localhost:8080/exist/rest/db/quotestore) - when > > > no default document is defined for that collection :- > > > > > > <exist:result > > > xmlns:exist="http://exist.sourceforge.net/NS/exist"> > > > <exist:collection name="/db/quotestore" owner="goffinf" group="dba" > > > permissions="rwur-ur-u"> > > > <exist:collection name="nba" created="2008-01-27T14:41:42.783Z" > > > owner="goffinf" group="dba" permissions="rwur-ur-u"/> > > > <exist:collection name="rfq" created="2008-01-27T14:41:42.783Z" > > > owner="goffinf" group="dba" permissions="rwur-ur-u"/> > > > ... > > > </exist:result> > > > > > > Any thoughts > > > > > > Thanks > > > > > > Fraser. > > > > > > > > > > > > Adam Retter wrote: > > > > > > > > > > > > > > > > You stated two things you wanter originally. I believed we were > > talking > > > > about the first thing in these last emails. > > > > > > > > If you want to transform a collection listing with XSLT, that is not > > > > currently supported - as I said in my first email! > > > > However it you know Java it would not be much work to implement it > > in the > > > > RESTServer class. Otherwise your other option would be to write an > > xquery > > > > that iterated over the resources and collections and puts out an XML > > > > document with the format that your require. This XQuery could then > > be set > > > > as the `default document` for that collection - so when you call > > > > http://localhost:8080/exist/servlet/db/quotestore - > you > > > actually see the > > > > output of the xquery. This `default document` functionality is > > defined in > > > > descriptor.xml > > > > > > > > Thanks Adam. > > > > > > > > > > > > -----Original Message----- > > > > From: exi...@li... on > behalf > > > of Fraser Goffin > > > > Sent: Sat 01/03/2008 18:17 > > > > To: exi...@li... > > > > Subject: Re: [Exist-open] _query or _xsl support for collection > > results > > > > > > > > > > > > OK, using collection() *did* run successfully, but still didn't > > return > > > > what I > > > > wanted. It executed against the documents within the collection, not > > the > > > > collection representation itself. > > > > > > > > Its my fault I'm just not explaining clearly enough. > > > > > > > > What I want to return is a transformed representation of the > > collection > > > > results. Exist returns this for the GET request > > > > (http://localhost:8080/exist/rest/db/quotestore):- > > > > > > > > <exist:result > > > xmlns:exist="http://exist.sourceforge.net/NS/exist"> > > > > <exist:collection name="/db/quotestore" owner="goffinf" > > group="dba" > > > > permissions="rwur-ur-u"> > > > > <exist:collection name="nba" created="2008-01-27T14:41:42.783Z" > > > > owner="goffinf" group="dba" permissions="rwur-ur-u"/> > > > > <exist:collection name="rfq" created="2008-01-27T14:41:42.783Z" > > > > owner="goffinf" group="dba" permissions="rwur-ur-u"/> > > > > ... > > > > </exist:result> > > > > > > > > and I want to return something similar, but transformed ... for > > example > > > > [say] this :- > > > > > > > > <collections> > > > > <collection name="nba" link="/db/quotestore/nba"/> > > > > <collection name="rfq" link="/db/quotestore/rfq"/> > > > > <collection name="ren" link="/db/quotestore/ren"/> > > > > <collection name="mta" link="/db/quotestore/mta"/> > > > > </collections> > > > > > > > > Thanks > > > > > > > > Fraser. > > > > > > > > > > > > Adam Retter wrote: > > > >> > > > >> > > > >> Your right that wont work, instead of doc() use collection() > > > >> > > > >> :-p > > > >> > > > >> Cheers Adam > > > >> > > > >> > > > >> -----Original Message----- > > > >> From: exi...@li... on > behalf > > > of Fraser Goffin > > > >> Sent: Sat 01/03/2008 15:31 > > > >> To: exi...@li... > > > >> Subject: Re: [Exist-open] _query or _xsl support for collection > > results > > > >> > > > >> > > > >> Thanks Adam. > > > >> > > > >> However, I *still* can't seem to get this to work. I created the > > simplest > > > >> XQuery that I could think of and stored it in the collection, but > > it > > > >> still > > > >> doesn't return any results. Are you certain that this will work > > when the > > > >> doc > > > >> function is referencing a collection rather than a stored XML > > instance ? > > > >> > > > >> Note: When I point the doc function at an XML instance in the > > collection > > > >> it > > > >> works fine. > > > >> > > > >> This query :- > > > >> > > > >> xquery version "1.0"; > > > >> declare namespace eXist = > > > "http://exist.sourceforge.net/NS/exist"; > > > >> <result> > > > >> {for $m in doc("/db/Numbers")/* return $m} > > > >> </result> > > > >> > > > >> This is what got returned :- > > > >> > > > >> <result/> > > > >> > > > >> I also tried {for $m in doc("/db/Numbers")/eXist:result return $m}, > > but > > > >> still the same outcome ?? > > > >> > > > >> Any ideas what I'm doing wrong ? > > > >> > > > >> Fraser. > > > >> > > > >> > > > >> > > > >> Adam Retter wrote: > > > >>> > > > >>> In your first example where you want to use _query - just store > > your > > > >>> query > > > >>> in the collection itself and call it directly from REST. So your > > > >>> > > > > http://localhost:8080/exist/rest/db/quotestore?_query=myXQuery.xq > > > would > > > >>> become > > > > http://localhost:8080/exist/rest/db/quotestore/myXQuery.xql > > > >>> > > > >>> In the second example where you want to apply an XSL to a > > collection > > > >>> result, I think that is a valid use-case but it is not supported > > at the > > > >>> moment. Perhaps you could add a feature request on the SourceForge > > page > > > >>> for eXist - I would be happy for you to assign it to me if you > > like > > > >>> (deliriumsky) > > > >>> > > > >>> Thanks Adam. > > > >>> > > > >>> > > > >>> -----Original Message----- > > > >>> From: exi...@li... on > > > behalf of Fraser > > > >>> Goffin > > > >>> Sent: Sun 24/02/2008 13:07 > > > >>> To: exi...@li... > > > >>> Subject: [Exist-open] _query or _xsl support for collection > > results > > > >>> > > > >>> > > > >>> exist version: 1.1 > > > >>> primary usage model : REST > > > >>> > > > >>> Searching this archive I can see that _xsl does NOT appear to > > operate on > > > >>> a > > > >>> representation of a collection itself, for example if the resource > > > >>> requested > > > >>> returns this (for > > > http://localhost:8080/exist/rest/db/quotestore) :- > > > >>> > > > >>> <exist:result > > > xmlns:exist="http://exist.sourceforge.net/NS/exist"> > > > >>> <exist:collection name="/db/quotestore" owner="goffinf" > > group="dba" > > > >>> permissions="rwur-ur-u"> > > > >>> <exist:collection name="nba" > > created="2008-01-27T14:41:42.783Z" > > > >>> owner="goffinf" .... /> > > > >>> ... > > > >>> > > > >>> Is this still the case for version 1.2 ? > > > >>> > > > >>> I wondered whether _query might be an option, but again it appears > > that > > > >>> the > > > >>> query does NOT operate on the collection result but on the > > documents > > > >>> within > > > >>> that collection. Is that correct or am I missing something ? > > > >>> > > > >>> For example I would like to return the collection as above, but > > > >>> transform > > > >>> it > > > >>> before it is passed to the calling client. I *could* of course do > > this > > > >>> in > > > >>> my > > > >>> restlet code, but I was hoping to do it as part of the exist > > request ? I > > > >>> want to do something like this, but have the XQuery or XSL operate > > on > > > >>> the > > > >>> collection results shown above :- > > > >>> > > > >>> > > > > http://localhost:8080/exist/rest/db/quotestore?_query=myXQuery.xq > > > >>> > > > >>> or > > > >>> > > > >>> > > > > http://localhost:8080/exist/rest/db/quotestore?_xsl=myXSL.xsl > > > >>> > > > >>> Thanks > > > >>> > > > >>> Fraser. > > > >>> -- > > > >>> View this message in context: > > > >>> > > > > > > http://www.nabble.com/_query-or-_xsl-support-for-collection-results-tp15 > > 663892p15663892.html > > > >>> Sent from the exist-open mailing list archive at Nabble.com. > > > >>> > > > >>> > > > >>> > > > > > > ------------------------------------------------------------------------ > > - > > > >>> This SF.net email is sponsored by: Microsoft > > > >>> Defy all challenges. Microsoft(R) Visual Studio 2008. > > > >>> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > >>> _______________________________________________ > > > >>> Exist-open mailing list > > > >>> Exi...@li... > > > >>> > https://lists.sourceforge.net/lists/listinfo/exist-open > > > >>> > > > >>> > > > >>> > > > > > > ------------------------------------------------------------------------ > > - > > > >>> This SF.net email is sponsored by: Microsoft > > > >>> Defy all challenges. Microsoft(R) Visual Studio 2008. > > > >>> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > >>> _______________________________________________ > > > >>> Exist-open mailing list > > > >>> Exi...@li... > > > >>> > https://lists.sourceforge.net/lists/listinfo/exist-open > > > >>> > > > >>> > > > >> > > > >> -- > > > >> View this message in context: > > > >> > > > > > > http://www.nabble.com/Re%3A-_query-or-_xsl-support-for-collection-result > > s-tp15665960p15777208.html > > > >> Sent from the exist-open mailing list archive at Nabble.com. > > > >> > > > >> > > > >> > > > > > > ------------------------------------------------------------------------ > > - > > > >> This SF.net email is sponsored by: Microsoft > > > >> Defy all challenges. Microsoft(R) Visual Studio 2008. > > > >> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > >> _______________________________________________ > > > >> Exist-open mailing list > > > >> Exi...@li... > > > >> > https://lists.sourceforge.net/lists/listinfo/exist-open > > > >> > > > >> > > > >> > > > > > > ------------------------------------------------------------------------ > > - > > > >> This SF.net email is sponsored by: Microsoft > > > >> Defy all challenges. Microsoft(R) Visual Studio 2008. > > > >> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > >> _______________________________________________ > > > >> Exist-open mailing list > > > >> Exi...@li... > > > >> > https://lists.sourceforge.net/lists/listinfo/exist-open > > > >> > > > >> > > > > > > > > -- > > > > View this message in context: > > > > > > > > > > http://www.nabble.com/Re%3A-_query-or-_xsl-support-for-collection-result > > s-tp15665960p15779103.html > > > > Sent from the exist-open mailing list archive at Nabble.com. > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > - > > > > This SF.net email is sponsored by: Microsoft > > > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > > _______________________________________________ > > > > Exist-open mailing list > > > > Exi...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/exist-open > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > - > > > > This SF.net email is sponsored by: Microsoft > > > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > > _______________________________________________ > > > > Exist-open mailing list > > > > Exi...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/exist-open > > > > > > > > > > > > > > -- > > > View this message in context: > > > > > > http://www.nabble.com/Re%3A-_query-or-_xsl-support-for-collection-result > > s-tp15665960p15925877.html > > > Sent from the exist-open mailing list archive at Nabble.com. > > > > > > > > > > > > ------------------------------------------------------------------------ > > - > > > This SF.net email is sponsored by: Microsoft > > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > _______________________________________________ > > > Exist-open mailing list > > > Exi...@li... > > > https://lists.sourceforge.net/lists/listinfo/exist-open > > > > > > > > > > > > > > > > Sent: Mon 10/03/2008 18:35 > To: exi...@li... > Cc: Adam Retter > Subject: Re: [Exist-open] _query or _xsl support for collection results > > > 1) We would need to make some small changes in org.exist.http.RESTServer > > to act on the _xsl parameter when displaying collection listings. This > > should be quite easy. How are your Java skills? > > I see. Not great :-) > > > Sure I could produce you an example or even write it for you. But - > > which method would you prefer (1) or (2). > > Well ...... both would be good :-) - not just for me of course but the > community as a whole. If I were forced to choose I would go for (2) > since this seems to me to provide a more RESTful approach whereas (1) > exposes the implementation detail somewhat. I can see a case for both. > > Can we pursue (2) to start with. Care to offer a starter which I can > work thorugh to ensure I understand properly (along the lines > suggested earlier ?) > > Cheers > > Fraser. > > On 10/03/2008, Adam Retter <ada...@de...> wrote: > > > > 1) We would need to make some small changes in org.exist.http.RESTServer > > to act on the _xsl parameter when displaying collection listings. This > > should be quite easy. How are your Java skills? > > > > 2) You don't need a transform step. As you say - the XQuery can be coded > > to produce the desired output - I just thought you wanted a transform as > > well? > > > > Sure I could produce you an example or even write it for you. But - > > which method would you prefer (1) or (2). > > > > Thanks Adam. > > > > > > -----Original Message----- > > From: Fraser Goffin [mailto:go...@go...] > > Sent: 10 March 2008 13:01 > > To: exi...@li... > > Cc: Adam Retter > > Subject: Re: [Exist-open] _query or _xsl support for collection results > > > > > > Adam, > > > > > 1) NO eXist cannot yet apply an XSLT to a collection listing. Although > > it > > > would be very easy to implement - I could help you with this if you > > have the > > > inclination. > > > > Thanks. Yes that would be very useful, how shall we start with this ? > > > > > 2) As an alternative to achieve what you want, you can write an XQuery > > which > > > is the default document that will generate the output you want (below > > - same > > > as collection listing) and then apply an XSLT to it with > > > transform:transform() > > > > H'mmm. Ok, why would I need a separate transform step when the XQuery > > can be written to produce the required output ? > > > > and .... where are you expecting transform:transform to execute ? > > > > It is this bit that I'm struggling with. The default XQuery document > > appears to operate only on the contents of the collection (all of the > > resources stored within it). Clearly I don't really want to process > > every stored document and I'm not sure if I can get access to > > meta-data about them (i.e. what collection(s) they belong to) even if > > I wanted to. > > > > Perhaps you could show me an example of what you think the XQuery > > would look like ? Lets use this simple example :- > > > > Produce a similar representation that would be output by Exist when > > using a URL at the top level > (http://localhost:8080/exist/rest/db). On > > my test machine this produces (see below). Lets say we want the same > > representation but with the exist namespace removed, that is , > > <exist:result ... becomes <result ... etc :- > > > > <exist:result > xmlns:exist="http://exist.sourceforge.net/NS/exist"> > > <exist:collection name="/db" owner="admin" group="dba" > > permissions="rwurwurwu"> > > <exist:collection name="rss" created="2007-12-27T14:45:05.668Z" > > owner="guest" group="guest" permissions="rwur-ur-u" /> > > <exist:collection name="xmlad" created="2007-12-27T14:52:49.515Z" > > owner="admin" group="dba" permissions="rwur-ur-u" /> > > <exist:collection name="sandbox" created="2007-12-27T14:55:51.427Z" > > owner="admin" group="dba" permissions="rwur-ur-u" /> > > <exist:collection name="shakespeare" > > created="2007-12-27T14:52:15.807Z" owner="admin" group="dba" > > permissions="rwur-ur-u" /> > > <exist:collection name="mods" created="2007-12-27T14:52:18.32Z" > > owner="admin" group="dba" permissions="rwur-ur-u" /> > > <exist:collection name="Numbers" created="2007-12-28T11:11:53.83Z" > > owner="goffinf" group="dba" permissions="rwur-ur-u" /> > > <exist:collection name="mondial" created="2007-12-27T14:52:53.431Z" > > owner="admin" group="dba" permissions="rwur-ur-u" /> > > <exist:collection name="quotestore" > > created="2008-01-27T14:41:17.457Z" owner="goffinf" group="dba" > > permissions="rwur-ur-u" /> > > <exist:collection name="library" created="2007-12-27T14:52:18.13Z" > > owner="admin" group="dba" permissions="rwur-ur-u" /> > > <exist:collection name="xinclude" created="2007-12-27T14:52:17.82Z" > > owner="admin" group="dba" permissions="rwur-ur-u" /> > > </exist:collection> > > </exist:result> > > > > Thanks > > > > Fraser. > > > > > > > > > > On 10/03/2008, Adam Retter <ada...@de...> wrote: > > > > > > > > > > > > Okay the answers are in my previous emails. Im sorry if its not clear, > > lets > > > try again... > > > > > > > > > 1) NO eXist cannot yet apply an XSLT to a collection listing. Although > > it > > > would be very easy to implement - I could help you with this if you > > have the > > > inclination. > > > > > > 2) As an alternative to achieve what you want, you can write an XQuery > > which > > > is the default document that will generate the output you want (below > > - same > > > as collection listing) and then apply an XSLT to it with > > > transform:transform() > > > > > > Cheers Adam. > > > > > > -----Original Message----- > > > From: exi...@li... on > behalf of > > > Fraser Goffin > > > Sent: Sun 09/03/2008 12:57 > > > To: exi...@li... > > > Subject: Re: [Exist-open] _query or _xsl support for collection > > results > > > > > > > > > Adam, > > > > > > still not quite there, and I am still wondering if what I am trying to > > > acheive is possible within Exist itself (easily) ? > > > > > > As you say I *could* implement what I need in a RESTLet server class. > > I had > > > in fact already done this but wanted to get Exist itself to return the > > > representation that I need. > > > > > > I followed your suggestion of defining a default (XQuery) document > > with > > > descriptor.xml and this did indeed execute, but once again does NOT > > appear > > > to operate on the results that Exist would return for a COLLECTION > > (i.e. an > > > REST algorithmic query), but on ALL of the [physical] resources > > CONTAINED > > > within that collection. > > > > > > I want my XQuery to execute against THIS representation that I would > > get > > > using a URL such as > > > (http://localhost:8080/exist/rest/db/quotestore) - when > > > no default document is defined for that collection :- > > > > > > <exist:result > > > xmlns:exist="http://exist.sourceforge.net/NS/exist"> > > > <exist:collection name="/db/quotestore" owner="goffinf" group="dba" > > > permissions="rwur-ur-u"> > > > <exist:collection name="nba" created="2008-01-27T14:41:42.783Z" > > > owner="goffinf" group="dba" permissions="rwur-ur-u"/> > > > <exist:collection name="rfq" created="2008-01-27T14:41:42.783Z" > > > owner="goffinf" group="dba" permissions="rwur-ur-u"/> > > > ... > > > </exist:result> > > > > > > Any thoughts > > > > > > Thanks > > > > > > Fraser. > > > > > > > > > > > > Adam Retter wrote: > > > > > > > > > > > > > > > > You stated two things you wanter originally. I believed we were > > talking > > > > about the first thing in these last emails. > > > > > > > > If you want to transform a collection listing with XSLT, that is not > > > > currently supported - as I said in my first email! > > > > However it you know Java it would not be much work to implement it > > in the > > > > RESTServer class. Otherwise your other option would be to write an > > xquery > > > > that iterated over the resources and collections and puts out an XML > > > > document with the format that your require. This XQuery could then > > be set > > > > as the `default document` for that collection - so when you call > > > > http://localhost:8080/exist/servlet/db/quotestore - > you > > > actually see the > > > > output of the xquery. This `default document` functionality is > > defined in > > > > descriptor.xml > > > > > > > > Thanks Adam. > > > > > > > > > > > > -----Original Message----- > > > > From: exi...@li... on > behalf > > > of Fraser Goffin > > > > Sent: Sat 01/03/2008 18:17 > > > > To: exi...@li... > > > > Subject: Re: [Exist-open] _query or _xsl support for collection > > results > > > > > > > > > > > > OK, using collection() *did* run successfully, but still didn't > > return > > > > what I > > > > wanted. It executed against the documents within the collection, not > > the > > > > collection representation itself. > > > > > > > > Its my fault I'm just not explaining clearly enough. > > > > > > > > What I want to return is a transformed representation of the > > collection > > > > results. Exist returns this for the GET request > > > > (http://localhost:8080/exist/rest/db/quotestore):- > > > > > > > > <exist:result > > > xmlns:exist="http://exist.sourceforge.net/NS/exist"> > > > > <exist:collection name="/db/quotestore" owner="goffinf" > > group="dba" > > > > permissions="rwur-ur-u"> > > > > <exist:collection name="nba" created="2008-01-27T14:41:42.783Z" > > > > owner="goffinf" group="dba" permissions="rwur-ur-u"/> > > > > <exist:collection name="rfq" created="2008-01-27T14:41:42.783Z" > > > > owner="goffinf" group="dba" permissions="rwur-ur-u"/> > > > > ... > > > > </exist:result> > > > > > > > > and I want to return something similar, but transformed ... for > > example > > > > [say] this :- > > > > > > > > <collections> > > > > <collection name="nba" link="/db/quotestore/nba"/> > > > > <collection name="rfq" link="/db/quotestore/rfq"/> > > > > <collection name="ren" link="/db/quotestore/ren"/> > > > > <collection name="mta" link="/db/quotestore/mta"/> > > > > </collections> > > > > > > > > Thanks > > > > > > > > Fraser. > > > > > > > > > > > > Adam Retter wrote: > > > >> > > > >> > > > >> Your right that wont work, instead of doc() use collection() > > > >> > > > >> :-p > > > >> > > > >> Cheers Adam > > > >> > > > >> > > > >> -----Original Message----- > > > >> From: exi...@li... on > behalf > > > of Fraser Goffin > > > >> Sent: Sat 01/03/2008 15:31 > > > >> To: exi...@li... > > > >> Subject: Re: [Exist-open] _query or _xsl support for collection > > results > > > >> > > > >> > > > >> Thanks Adam. > > > >> > > > >> However, I *still* can't seem to get this to work. I created the > > simplest > > > >> XQuery that I could think of and stored it in the collection, but > > it > > > >> still > > > >> doesn't return any results. Are you certain that this will work > > when the > > > >> doc > > > >> function is referencing a collection rather than a stored XML > > instance ? > > > >> > > > >> Note: When I point the doc function at an XML instance in the > > collection > > > >> it > > > >> works fine. > > > >> > > > >> This query :- > > > >> > > > >> xquery version "1.0"; > > > >> declare namespace eXist = > > > "http://exist.sourceforge.net/NS/exist"; > > > >> <result> > > > >> {for $m in doc("/db/Numbers")/* return $m} > > > >> </result> > > > >> > > > >> This is what got returned :- > > > >> > > > >> <result/> > > > >> > > > >> I also tried {for $m in doc("/db/Numbers")/eXist:result return $m}, > > but > > > >> still the same outcome ?? > > > >> > > > >> Any ideas what I'm doing wrong ? > > > >> > > > >> Fraser. > > > >> > > > >> > > > >> > > > >> Adam Retter wrote: > > > >>> > > > >>> In your first example where you want to use _query - just store > > your > > > >>> query > > > >>> in the collection itself and call it directly from REST. So your > > > >>> > > > > http://localhost:8080/exist/rest/db/quotestore?_query=myXQuery.xq > > > would > > > >>> become > > > > http://localhost:8080/exist/rest/db/quotestore/myXQuery.xql > > > >>> > > > >>> In the second example where you want to apply an XSL to a > > collection > > > >>> result, I think that is a valid use-case but it is not supported > > at the > > > >>> moment. Perhaps you could add a feature request on the SourceForge > > page > > > >>> for eXist - I would be happy for you to assign it to me if you > > like > > > >>> (deliriumsky) > > > >>> > > > >>> Thanks Adam. > > > >>> > > > >>> > > > >>> -----Original Message----- > > > >>> From: exi...@li... on > > > behalf of Fraser > > > >>> Goffin > > > >>> Sent: Sun 24/02/2008 13:07 > > > >>> To: exi...@li... > > > >>> Subject: [Exist-open] _query or _xsl support for collection > > results > > > >>> > > > >>> > > > >>> exist version: 1.1 > > > >>> primary usage model : REST > > > >>> > > > >>> Searching this archive I can see that _xsl does NOT appear to > > operate on > > > >>> a > > > >>> representation of a collection itself, for example if the resource > > > >>> requested > > > >>> returns this (for > > > http://localhost:8080/exist/rest/db/quotestore) :- > > > >>> > > > >>> <exist:result > > > xmlns:exist="http://exist.sourceforge.net/NS/exist"> > > > >>> <exist:collection name="/db/quotestore" owner="goffinf" > > group="dba" > > > >>> permissions="rwur-ur-u"> > > > >>> <exist:collection name="nba" > > created="2008-01-27T14:41:42.783Z" > > > >>> owner="goffinf" .... /> > > > >>> ... > > > >>> > > > >>> Is this still the case for version 1.2 ? > > > >>> > > > >>> I wondered whether _query might be an option, but again it appears > > that > > > >>> the > > > >>> query does NOT operate on the collection result but on the > > documents > > > >>> within > > > >>> that collection. Is that correct or am I missing something ? > > > >>> > > > >>> For example I would like to return the collection as above, but > > > >>> transform > > > >>> it > > > >>> before it is passed to the calling client. I *could* of course do > > this > > > >>> in > > > >>> my > > > >>> restlet code, but I was hoping to do it as part of the exist > > request ? I > > > >>> want to do something like this, but have the XQuery or XSL operate > > on > > > >>> the > > > >>> collection results shown above :- > > > >>> > > > >>> > > > > http://localhost:8080/exist/rest/db/quotestore?_query=myXQuery.xq > > > >>> > > > >>> or > > > >>> > > > >>> > > > > http://localhost:8080/exist/rest/db/quotestore?_xsl=myXSL.xsl > > > >>> > > > >>> Thanks > > > >>> > > > >>> Fraser. > > > >>> -- > > > >>> View this message in context: > > > >>> > > > > > > http://www.nabble.com/_query-or-_xsl-support-for-collection-results-tp15 > > 663892p15663892.html > > > >>> Sent from the exist-open mailing list archive at Nabble.com. > > > >>> > > > >>> > > > >>> > > > > > > ------------------------------------------------------------------------ > > - > > > >>> This SF.net email is sponsored by: Microsoft > > > >>> Defy all challenges. Microsoft(R) Visual Studio 2008. > > > >>> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > >>> _______________________________________________ > > > >>> Exist-open mailing list > > > >>> Exi...@li... > > > >>> > https://lists.sourceforge.net/lists/listinfo/exist-open > > > >>> > > > >>> > > > >>> > > > > > > ------------------------------------------------------------------------ > > - > > > >>> This SF.net email is sponsored by: Microsoft > > > >>> Defy all challenges. Microsoft(R) Visual Studio 2008. > > > >>> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > >>> _______________________________________________ > > > >>> Exist-open mailing list > > > >>> Exi...@li... > > > >>> > https://lists.sourceforge.net/lists/listinfo/exist-open > > > >>> > > > >>> > > > >> > > > >> -- > > > >> View this message in context: > > > >> > > > > > > http://www.nabble.com/Re%3A-_query-or-_xsl-support-for-collection-result > > s-tp15665960p15777208.html > > > >> Sent from the exist-open mailing list archive at Nabble.com. > > > >> > > > >> > > > >> > > > > > > ------------------------------------------------------------------------ > > - > > > >> This SF.net email is sponsored by: Microsoft > > > >> Defy all challenges. Microsoft(R) Visual Studio 2008. > > > >> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > >> _______________________________________________ > > > >> Exist-open mailing list > > > >> Exi...@li... > > > >> > https://lists.sourceforge.net/lists/listinfo/exist-open > > > >> > > > >> > > > >> > > > > > > ------------------------------------------------------------------------ > > - > > > >> This SF.net email is sponsored by: Microsoft > > > >> Defy all challenges. Microsoft(R) Visual Studio 2008. > > > >> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > >> _______________________________________________ > > > >> Exist-open mailing list > > > >> Exi...@li... > > > >> > https://lists.sourceforge.net/lists/listinfo/exist-open > > > >> > > > >> > > > > > > > > -- > > > > View this message in context: > > > > > > > > > > http://www.nabble.com/Re%3A-_query-or-_xsl-support-for-collection-result > > s-tp15665960p15779103.html > > > > Sent from the exist-open mailing list archive at Nabble.com. > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > - > > > > This SF.net email is sponsored by: Microsoft > > > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > > _______________________________________________ > > > > Exist-open mailing list > > > > Exi...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/exist-open > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > - > > > > This SF.net email is sponsored by: Microsoft > > > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > > _______________________________________________ > > > > Exist-open mailing list > > > > Exi...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/exist-open > > > > > > > > > > > > > > -- > > > View this message in context: > > > > > > http://www.nabble.com/Re%3A-_query-or-_xsl-support-for-collection-result > > s-tp15665960p15925877.html > > > Sent from the exist-open mailing list archive at Nabble.com. > > > > > > > > > > > > ------------------------------------------------------------------------ > > - > > > This SF.net email is sponsored by: Microsoft > > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > > _______________________________________________ > > > Exist-open mailing list > > > Exi...@li... > > > https://lists.sourceforge.net/lists/listinfo/exist-open > > > > > > Sent: Sun 09/03/2008 12:57 > > > To: exi...@li... > > > Subject: Re: [Exist-open] _query or _xsl support for collection > > results > > > > > > > > > Adam, > > > > > > still not quite there, and I am still wondering if what I am trying to > > > acheive is possible within Exist itself (easily) ? > > > > > > As you say I *could* implement what I need in a RESTLet server class. > > I had > > > in fact already done this but wanted to get Exist itself to return the > > > representation that I need. > > > > > > I followed your suggestion of defining a default (XQuery) document > > with > > > descriptor.xml and this did indeed execute, but once again does NOT > > appear > > > to operate on the results that Exist would return for a COLLECTION > > (i.e. an > > > REST algorithmic query), but on ALL of the [physical] resources > > CONTAINED > > > within that collection. > > > > > > I want my XQuery to execute against THIS representation that I would > > get > > > using a URL such as > > > (http://localhost:8080/exist/rest/db/quotestore) - when > > > no default document is defined for that collection :- > > > > > > <exist:result > > > xmlns:exist="http://exist.sourceforge.net/NS/exist"> > > > <exist:collection name="/db/quotestore" owner="goffinf" group="dba" > > > permissions="rwur-ur-u"> > > > <exist:collection name="nba" created="2008-01-27T14:41:42.783Z" > > > owner="goffinf" group="dba" permissions="rwur-ur-u"/> > > > <exist:collection name="rfq" created="2008-01-27T14:41:42.783Z" > > > owner="goffinf" group="dba" permissions="rwur-ur-u"/> > > > ... > > > </exist:result> > > > > > > Any thoughts > > > > > > Thanks > > > > > > Fraser. > > > > > > > > > > > > Adam Retter wrote: > > > > > > > > > > > > > > > > You stated two things you wanter originally. I believed we were > > talking > > > > about the first thing in these last emails. > > > > > > > > If you want to transform a collection listing with XSLT, that is not > > > > currently supported - as I said in my first email! > > > > However it you know Java it would not be much work to implement it > > in the > > > > RESTServer class. Otherwise your other option would be to write an > > xquery > > > > that iterated over the resources and collections and puts out an XML > > > > document with the format that your require. This XQuery could then > > be set > > > > as the `default document` for that collection - so when you call > > > > http://localhost:8080/exist/servlet/db/quotestore - > you > > > actually see the > > > > output of the xquery. This `default document` functionality is > > defined in > > > > descriptor.xml > > > > > > > > Thanks Adam. > > > > > > > > > > > > -----Original Message----- > > > > From: exi...@li... on > behalf > > > of Fraser Goffin > > > > Sent: Sat 01/03/2008 18:17 > > > > To: exi...@li... > > > > Subject: Re: [Exist-open] _query or _xsl support for collection > > results > > > > > > > > > > > > OK, using collection() *did* run successfully, but still didn't > > return > > > > what I > > > > wanted. It executed against the documents within the collection, not > > the > > > > collection representation itself. > > > > > > > > Its my fault I'm just not explaining clearly enough. > > > > > > > > What I want to return is a transformed representation of the > > collection > > > > results. Exist returns this for the GET request > > > > (http://localhost:8080/exist/rest/db/quotestore):- > > > > > > > > <exist:result > > > xmlns:exist="http://exist.sourceforge.net/NS/exist"> > > > > <exist:collection name="/db/quotestore" owner="goffinf" > > group="dba" > > > > permissions="rwur-ur-u"> > > > > <exist:collection name="nba" created="2008-01-27T14:41:42.783Z" > > > > owner="goffinf" group="dba" permissions="rwur-ur-u"/> > > > > <exist:collection name="rfq" created="2008-01-27T14:41:42.783Z" > > > > owner="goffinf" group="dba" permissions="rwur-ur-u"/> > > > > ... > > > > </exist:result> > > > > > > > > and I want to return something similar, but transformed ... for > > example > > > > [say] this :- > > > > > > > > <collections> > > > > <collection name="nba" link="/db/quotestore/nba"/> > > > > <collection name="rfq" link="/db/quotestore/rfq"/> > > > > <collection name="ren" link="/db/quotestore/ren"/> > > > > <collection name="mta" link="/db/quotestore/mta"/> > > > > </collections> > > > > > > > > Thanks > > > > > > > > Fraser. > > > > > > > > > > > > Adam Retter wrote: > > > >> > > > >> > > > >> Your right that wont work, instead of doc() use collection() > > > >> > > > >> :-p > > > >> > > > >> Cheers Adam > > > >> > > > >> > > > >> -----Original Message----- > > > >> From: exi...@li... on > behalf > > > of Fraser Goffin > > > >> Sent: Sat 01/03/2008 15:31 > > > >> To: exi...@li... > > > >> Subject: Re: [Exist-open] _query or _xsl support for collection > > results > > > >> > > > >> > > > >> Thanks Adam. > > > >> > > > >> However, I *still* can't seem to get this to work. I created the > > simplest > > > >> XQuery that I could think of and stored it in the collection, but > > it > > > >> still > > > >> doesn't return any results. Are you certain that this will work > > when the > > > >> doc > > > >> function is referencing a collection rather than a stored XML > > instance ? > > > >> > > > >> Note: When I point the doc function at an XML instance in the > > collection > > > >> it > > > >> works fine. > > > >> > > > >> This query :- > > > >> > > > >> xquery version "1.0"; > > > >> declare namespace eXist = > > > "h... [truncated message content] |