I retrieve my data from Marklogic using XQuery, but I am trying to manipulate the results.
I'm not sure xquery is the best solution and xslt might be better.. > From: [email protected] > To: [email protected] > Date: Thu, 18 Feb 2010 19:04:30 +0100 > Subject: RE: [MarkLogic Dev General] Distinct Nodes/Value Functions > > Hi Tony, > > If you are able to utilize xsl:key, you might.. > > Kind regards, > Geert > > > > > > drs. G.P.H. (Geert) Josten > Consultant > > > Daidalos BV > Hoekeindsehof 1-4 > 2665 JZ Bleiswijk > > T +31 (0)10 850 1200 > F +31 (0)10 850 1199 > > mailto:[email protected] > http://www.daidalos.nl/ > > KvK 27164984 > > P Please consider the environment before printing this mail. > De informatie - verzonden in of met dit e-mailbericht - is afkomstig van > Daidalos BV en is uitsluitend bestemd voor de geadresseerde. Indien u dit > bericht onbedoeld hebt ontvangen, verzoeken wij u het te verwijderen. Aan dit > bericht kunnen geen rechten worden ontleend. > > > From: [email protected] > > [mailto:[email protected]] On Behalf Of > > Tony Mariella > > Sent: donderdag 18 februari 2010 19:03 > > To: [email protected] > > Subject: RE: [MarkLogic Dev General] Distinct Nodes/Value Functions > > > > I wonder if I should be doing this in XSLT instead of Xquery.. > > > > Any insights ? > > > > -Tony > > > > > > > > > > > > ________________________________ > > > > From: [email protected] > > To: [email protected] > > Subject: RE: [MarkLogic Dev General] Distinct Nodes/Value Functions > > Date: Thu, 18 Feb 2010 12:04:00 -0500 > > > > I'm also having issues with Time Limit Exceeded for deep-equal. > > > > > > > > ________________________________ > > > > From: [email protected] > > To: [email protected] > > Date: Thu, 18 Feb 2010 08:55:08 -0800 > > Subject: Re: [MarkLogic Dev General] Distinct Nodes/Value Functions > > > > > > Would JSON be a useful alternative? JSON conversion is built > > in as xdmp:to-json. > > > > wunder > > > > On Feb 18, 2010, at 8:48 AM, Tony Mariella wrote: > > > > > > > > Can you think of a way to return the data as a CSV output ? > > > > -Tony > > > > > > > Date: Wed, 17 Feb 2010 12:54:25 -0500 > > > To: [email protected] > > > From: [email protected] > > > Subject: RE: [MarkLogic Dev General] Distinct > > Nodes/Value Functions > > > > > > At 2010-02-17 11:49 -0500, Tony Mariella wrote: > > > >The Tall Rd items are different than the Short Rd items. > > > >I'm trying to de-dupe the items with the caveat that > > if the testVal > > > >tag is set, > > > >then collapse all identical items containing a blank > > testVal tag. > > > > > > But you didn't say that the first time. :{)} > > > > > > ><results> > > > > <item> > > > > <addr>24 Short Rd</addr> > > > > <city>Baltimore</city> > > > > <state>MD</state> > > > > <testVal>TEST1</testVal> > > > > </item> > > > > <item> > > > > <addr>55 Tall Rd</addr> > > > > <city>Orlando</city> > > > > <state>FL</state> > > > > <testVal/> > > > > </item> > > > ></results> > > > > > > Spelling out your requirement in words, backing it up > > with the > > > example really helps. > > > > > > I hope the answer below helps. > > > > > > . . . . . . . . . . . Ken > > > > > > > > > T:\ftemp>call xquery tony2.xq > > > <?xml version="1.0" encoding="UTF-8"?> > > > <results> > > > <item> > > > <addr>24 Short Rd</addr> > > > <city>Baltimore</city> > > > <state>MD</state> > > > <testVal>TEST1</testVal> > > > </item> > > > <item> > > > <addr>55 Tall Rd</addr> > > > <city>Orlando</city> > > > <state>FL</state> > > > <testVal/> > > > </item> > > > </results> > > > T:\ftemp>type tony2.xml > > > <results> > > > <item> > > > <addr>24 Short Rd</addr> > > > <city>Baltimore</city> > > > <state>MD</state> > > > <testVal/> > > > </item> > > > <item> > > > <addr>24 Short Rd</addr> > > > <city>Baltimore</city> > > > <state>MD</state> > > > <testVal/> > > > </item> > > > <item> > > > <addr>24 Short Rd</addr> > > > <city>Baltimore</city> > > > <state>MD</state> > > > <testVal>TEST1</testVal> > > > </item> > > > <item> > > > <addr>55 Tall Rd</addr> > > > <city>Orlando</city> > > > <state>FL</state> > > > <testVal/> > > > </item> > > > <item> > > > <addr>55 Tall Rd</addr> > > > <city>Orlando</city> > > > <state>FL</state> > > > <testVal/> > > > </item> > > > <item> > > > <addr>55 Tall Rd</addr> > > > <city>Orlando</city> > > > <state>FL</state> > > > <testVal/> > > > </item> > > > </results> > > > > > > T:\ftemp>type tony2.xq > > > declare function local:distinct-items ($items as > > node()*) as node()* > > > { > > > (:walk through the information finding unique members:) > > > let $unique := for $i at $ipos in $items > > > let $before_i := subsequence( $items, 1, $ipos - 1 ) > > > where every $bi in $before_i > > > satisfies not( deep-equal($bi, $i) ) > > > return $i > > > (:rearrange the information to isolate the non-testVal info:) > > > let $interim := for $u in $unique > > > return <interim> > > > <compare>{$u/node() except $u/testVal}</compare> > > > {$u} > > > </interim> > > > (:walk through the rearranged information de-duping > > those without a > > > value for testVal and for those with testVal removing > > all the same > > > without it:) > > > for $each in $interim return > > > if ( string( $each/item/testVal ) ) > > > then $each/item (:because this has testVal:) > > > else if ( some $i in $interim except $each > > > satisfies deep-equal( $i/compare, $each/compare ) ) > > > then () (:because the other must have testVal:) > > > else $each/item (:because none have testVal:) > > > }; > > > > > > <results> > > > { local:distinct-items( doc('tony2.xml')/results/item ) } > > > </results> > > > T:\ftemp>rem Done! > > > > > > > > > > > > > > > -- > > > XSLT/XQuery/XPath training after http://XMLPrague.cz > > <http://xmlprague.cz/> 2010-03-15/19 > > > XSLT/XQuery/XPath training: San Carlos, California > > 2010-04-26/30 > > > Vote for your XML training: > > http://www.CraneSoftwrights.com/q/i/ > > > Crane Softwrights Ltd. http://www.CraneSoftwrights.com/q/ > > > Training tools: Comprehensive interactive XSLT/XPath > > 1.0/2.0 video > > > Video lesson: > > http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18 > > > Video overview: > > http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18 > > > G. Ken Holman mailto:[email protected] > > > Male Cancer Awareness Nov'07 > > http://www.CraneSoftwrights.com/q/bc > > > Legal business disclaimers: > > http://www.CraneSoftwrights.com/legal > > > > > > _______________________________________________ > > > General mailing list > > > [email protected] > > > http://xqzone.com/mailman/listinfo/general > > _______________________________________________ > > General mailing list > > [email protected] > > http://xqzone.com/mailman/listinfo/general > > > > > > > > > _______________________________________________ > General mailing list > [email protected] > http://xqzone.com/mailman/listinfo/general
_______________________________________________ General mailing list [email protected] http://xqzone.com/mailman/listinfo/general
