Hi All, I figured it out myself. Thanks anyways.
Regards Amit On 7 June 2012 12:22, <[email protected]> wrote: > Send General mailing list submissions to > [email protected] > > To subscribe or unsubscribe via the World Wide Web, visit > http://community.marklogic.com/mailman/listinfo/general > or, via email, send a message with subject or body 'help' to > [email protected] > > You can reach the person managing the list at > [email protected] > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of General digest..." > > Today's Topics: > > 1. Re: Issue with operator in Search api (amit gope) > > > ---------- Forwarded message ---------- > From: amit gope <[email protected]> > To: [email protected] > Cc: > Date: Thu, 7 Jun 2012 12:22:54 +0530 > Subject: Re: [MarkLogic Dev General] Issue with operator in Search api > Hi Micah, > > In addition to the operator question, can the operators be made > case-insensitive? for eg if i provide "JOURNALONLINEFIRST" or > "JournalONLINEFirst" still it should fetch the results. > > Regards > Amit > > On 7 June 2012 10:49, amit gope <[email protected]> wrote: > >> Hi Micah, >> >> Thank you so much for your help. It worked. >> >> Regards >> Amit >> >> On 7 June 2012 10:12, <[email protected]> wrote: >> >>> Send General mailing list submissions to >>> [email protected] >>> >>> To subscribe or unsubscribe via the World Wide Web, visit >>> http://community.marklogic.com/mailman/listinfo/general >>> or, via email, send a message with subject or body 'help' to >>> [email protected] >>> >>> You can reach the person managing the list at >>> [email protected] >>> >>> When replying, please edit your Subject line so it is more specific >>> than "Re: Contents of General digest..." >>> >>> Today's Topics: >>> >>> 1. xdmp:base64Decode returns invalid UTF-8 escape sequence >>> (Steve Spigarelli) >>> 2. Re: xdmp:base64Decode returns invalid UTF-8 escape sequence >>> (Michael Blakeley) >>> 3. Re: xdmp:base64Decode returns invalid UTF-8 escape sequence >>> (Steve Spigarelli) >>> 4. Re: xdmp:base64Decode returns invalid UTF-8 escape sequence >>> (Michael Blakeley) >>> 5. Issue with operator in Search api (amit gope) >>> 6. Re: Issue with operator in Search api (Micah Dubinko) >>> >>> >>> ---------- Forwarded message ---------- >>> From: Steve Spigarelli <[email protected]> >>> To: [email protected] >>> Cc: >>> Date: Wed, 6 Jun 2012 14:25:12 -0600 >>> Subject: [MarkLogic Dev General] xdmp:base64Decode returns invalid UTF-8 >>> escape sequence >>> How do I tell this code that I don't want it to be UTF-8 encoded? >>> >>> xquery version "1.0-ml"; >>> >>> xdmp:base64-decode('JxrHeSl2YX4LunZkWKZqog==') >>> >>> Thanks >>> Steve >>> >>> >>> >>> ---------- Forwarded message ---------- >>> From: Michael Blakeley <[email protected]> >>> To: MarkLogic Developer Discussion <[email protected]> >>> Cc: >>> Date: Wed, 6 Jun 2012 13:37:34 -0700 >>> Subject: Re: [MarkLogic Dev General] xdmp:base64Decode returns invalid >>> UTF-8 escape sequence >>> That function only works with encoded strings, and I think they have to >>> be UTF-8 as well. But try this trick: >>> >>> binary { xs:hexBinary(xs:base64Binary('JxrHeSl2YX4LunZkWKZqog==')) >>> >>> -- Mike >>> >>> On 6 Jun 2012, at 13:25 , Steve Spigarelli wrote: >>> >>> > How do I tell this code that I don't want it to be UTF-8 encoded? >>> > >>> > xquery version "1.0-ml"; >>> > >>> > xdmp:base64-decode('JxrHeSl2YX4LunZkWKZqog==') >>> >>> >>> >>> >>> >>> ---------- Forwarded message ---------- >>> From: Steve Spigarelli <[email protected]> >>> To: [email protected] >>> Cc: >>> Date: Wed, 6 Jun 2012 14:53:48 -0600 >>> Subject: Re: [MarkLogic Dev General] xdmp:base64Decode returns invalid >>> UTF-8 escape sequence >>> So the initial string "JxrHeSl2YX4LunZkWKZqog==" is a base64 encoded >>> nonce from soapUI. It only contains characters that are valid in a >>> base64 world, so Marklogic has no problems with it. It's what happens >>> next when one runs the decode that causes the problems. >>> >>> In order to calculate a SOAP password digest one needs the original >>> nonce (base64 decoded of the base64 encoded nonce), the timestamp and >>> the password. But, in order to base64 decode a nonce with invalid >>> UTF-8 sequences one must use functions that are not available in >>> Marklogic. Casting the original base64 encoded string (that is already >>> valid) to base64 binary then to hexbinary then to a binary document >>> doesn't get me what I need for calling the base64-decode function that >>> expects an xs:string. >>> >>> I think that my colleague will just end up doing simple passwords over >>> https instead of password digest unless there is another way to do >>> this. >>> >>> Steve >>> >>> >>> That function only works with encoded strings, and I think they have >>> to be UTF-8 as well. But try this trick: >>> >>> binary { xs:hexBinary(xs:base64Binary('JxrHeSl2YX4LunZkWKZqog==')) >>> >>> -- Mike >>> >>> >>> On Wed, Jun 6, 2012 at 2:25 PM, Steve Spigarelli <[email protected]> wrote: >>> > How do I tell this code that I don't want it to be UTF-8 encoded? >>> > >>> > xquery version "1.0-ml"; >>> > >>> > xdmp:base64-decode('JxrHeSl2YX4LunZkWKZqog==') >>> > >>> > Thanks >>> > Steve >>> >>> >>> >>> ---------- Forwarded message ---------- >>> From: Michael Blakeley <[email protected]> >>> To: MarkLogic Developer Discussion <[email protected]> >>> Cc: >>> Date: Wed, 6 Jun 2012 14:11:33 -0700 >>> Subject: Re: [MarkLogic Dev General] xdmp:base64Decode returns invalid >>> UTF-8 escape sequence >>> HTTPS sounds reasonable, but you can do a few more tricks with binary >>> data. This might get you there: >>> >>> xdmp:hex-to-integer( >>> string(xs:hexBinary(xs:base64Binary('JxrHeSl2YX4LunZkWKZqog==')))) >>> >>> The result is an xs:decimal 18446744073709551615 - is that what you >>> need? You might want to construct an xs:unsignedLong from it, and use >>> xdmp:not64() and its siblings for the math. >>> >>> -- Mike >>> >>> On 6 Jun 2012, at 13:53 , Steve Spigarelli wrote: >>> >>> > So the initial string "JxrHeSl2YX4LunZkWKZqog==" is a base64 encoded >>> > nonce from soapUI. It only contains characters that are valid in a >>> > base64 world, so Marklogic has no problems with it. It's what happens >>> > next when one runs the decode that causes the problems. >>> > >>> > In order to calculate a SOAP password digest one needs the original >>> > nonce (base64 decoded of the base64 encoded nonce), the timestamp and >>> > the password. But, in order to base64 decode a nonce with invalid >>> > UTF-8 sequences one must use functions that are not available in >>> > Marklogic. Casting the original base64 encoded string (that is already >>> > valid) to base64 binary then to hexbinary then to a binary document >>> > doesn't get me what I need for calling the base64-decode function that >>> > expects an xs:string. >>> > >>> > I think that my colleague will just end up doing simple passwords over >>> > https instead of password digest unless there is another way to do >>> > this. >>> > >>> > Steve >>> > >>> > >>> > That function only works with encoded strings, and I think they have >>> > to be UTF-8 as well. But try this trick: >>> > >>> > binary { xs:hexBinary(xs:base64Binary('JxrHeSl2YX4LunZkWKZqog==')) >>> > >>> > -- Mike >>> > >>> > >>> > On Wed, Jun 6, 2012 at 2:25 PM, Steve Spigarelli <[email protected]> >>> wrote: >>> >> How do I tell this code that I don't want it to be UTF-8 encoded? >>> >> >>> >> xquery version "1.0-ml"; >>> >> >>> >> xdmp:base64-decode('JxrHeSl2YX4LunZkWKZqog==') >>> >> >>> >> Thanks >>> >> Steve >>> > _______________________________________________ >>> > General mailing list >>> > [email protected] >>> > http://community.marklogic.com/mailman/listinfo/general >>> >>> > >>> >>> >>> >>> >>> ---------- Forwarded message ---------- >>> From: amit gope <[email protected]> >>> To: [email protected] >>> Cc: >>> Date: Thu, 7 Jun 2012 09:57:46 +0530 >>> Subject: [MarkLogic Dev General] Issue with operator in Search api >>> Hello All, >>> >>> I am new to search api and i am having trouble in implementing one >>> functionality. There are basically two things that i am stuck with: >>> >>> 1. Can i have two operators in the options? >>> 2. I have a code which looks something like this: >>> >>> <operator name="sort"> >>> <state name="relevance"> >>> <sort-order> >>> <score/> >>> </sort-order> >>> </state> >>> <state name="date"> >>> <sort-order direction="descending" >>> type="xs:date" collation=""> >>> <element ns=" >>> http://www.marklogic.com/app/meta" name="Date"/> >>> </sort-order> >>> <sort-order> >>> <score/> >>> </sort-order> >>> </state> >>> </operator> >>> <operator name="JournalOnlineFirst"> >>> <state name="true"> >>> >>> <searchable-expression>/Publisher[.//JournalOnlineFirst]</searchable-expression> >>> </state> >>> </operator> >>> >>> If my URL has an reads something like this >>> "localhost:1234://..../q=issn:1573-4803 >>> journalonlinefirst:true&api_key=asdbfdas2342sfda" i want the api to fetch >>> me those docs which are of the type JournalOnlineFirst. But i get the error >>> as :" >>> >>> XDMP-ARGTYPE: (err:XPTY0004) fn:in-scope-prefixes((<searchable-expression >>> xmlns="http://marklogic.com/appservices/search">/Publisher[.//JournalOnlineFirst]</searchable-expression>, >>> <searchable-expression >>> xmlns="http://marklogic.com/appservices/search">fn:collection()</searchable-expression>)) >>> -- arg1 is not of type element()" >>> >>> Please suggest how to achieve the result because i am stuck at this >>> place. I have also tried something like this. >>> >>> "<operator name="JournalOnlineFirst"> >>> <state name="true"> >>> >>> </state> >>> </operator> >>> >>> <searchable-expression>/Publisher[.//JournalOnlineFirst]</searchable-expression>". >>> >>> >>> Here i dont get the result, but i dont get the error as well. Please let >>> me know where i am going wrong. Thanks in advance. >>> Regards >>> Amit >>> >>> >>> >>> >>> ---------- Forwarded message ---------- >>> From: Micah Dubinko <[email protected]> >>> To: MarkLogic Developer Discussion <[email protected]> >>> Cc: >>> Date: Wed, 6 Jun 2012 21:42:50 -0700 >>> Subject: Re: [MarkLogic Dev General] Issue with operator in Search api >>> Hi Amit, >>> >>> Welcome. >>> >>> First a bit of general advice, which you may have heard before. Run the >>> function search:check-options often. Set up your build environment so that >>> it runs every time you do a search. If it returns empty-sequence, you're >>> golden, otherwise it's alerting you to current or potential problems. (It >>> does in-depth checks which take time, so don't run it in a production >>> environment). >>> >>> It can be tricky to keep track of which config elements are allowed >>> where, but check-options will keep you on the path. >>> >>> It looks like the error below comes from having multiple >>> <searchable-expression>s. Having one inside a <state> should be fine, but >>> not with a global one too. Since your global one is pointing at >>> fn:collection() which is the default anyway, you can get rid of it. >>> >>> Try these and let us know how things turn out. >>> >>> Thanks, -m >>> >>> >>> >>> >>> On Jun 6, 2012, at 9:27 PM, amit gope wrote: >>> >>> Hello All, >>> >>> I am new to search api and i am having trouble in implementing one >>> functionality. There are basically two things that i am stuck with: >>> >>> 1. Can i have two operators in the options? >>> 2. I have a code which looks something like this: >>> >>> <operator name="sort"> >>> <state name="relevance"> >>> <sort-order> >>> <score/> >>> </sort-order> >>> </state> >>> <state name="date"> >>> <sort-order direction="descending" >>> type="xs:date" collation=""> >>> <element ns=" >>> http://www.marklogic.com/app/meta" name="Date"/> >>> </sort-order> >>> <sort-order> >>> <score/> >>> </sort-order> >>> </state> >>> </operator> >>> <operator name="JournalOnlineFirst"> >>> <state name="true"> >>> >>> <searchable-expression>/Publisher[.//JournalOnlineFirst]</searchable-expression> >>> </state> >>> </operator> >>> >>> If my URL has an reads something like this "localhost: >>> 1234://..../q=issn:1573-4803journalonlinefirst:true&api_key=asdbfdas2342sfda" >>> i want the api to fetch >>> me those docs which are of the type JournalOnlineFirst. But i get the error >>> as :" >>> >>> XDMP-ARGTYPE: (err:XPTY0004) fn:in-scope-prefixes((<searchable-expression >>> xmlns="http://marklogic.com/appservices/search">/Publisher[.//JournalOnlineFirst]</searchable-expression>, >>> <searchable-expression >>> xmlns="http://marklogic.com/appservices/search">fn:collection()</searchable-expression>)) >>> -- arg1 is not of type element()" >>> >>> >>> Please suggest how to achieve the result because i am stuck at this >>> place. I have also tried something like this. >>> >>> "<operator name="JournalOnlineFirst"> >>> <state name="true"> >>> >>> </state> >>> </operator> >>> >>> <searchable-expression>/Publisher[.//JournalOnlineFirst]</searchable-expression>". >>> >>> >>> Here i dont get the result, but i dont get the error as well. Please let >>> me know where i am going wrong. Thanks in advance. >>> Regards >>> Amit >>> >>> >>> _______________________________________________ >>> General mailing list >>> [email protected] >>> http://community.marklogic.com/mailman/listinfo/general >>> >>> >>> >>> _______________________________________________ >>> General mailing list >>> [email protected] >>> http://community.marklogic.com/mailman/listinfo/general >>> >>> >> >> >> >> >> > > > _______________________________________________ > General mailing list > [email protected] > http://community.marklogic.com/mailman/listinfo/general > >
_______________________________________________ General mailing list [email protected] http://community.marklogic.com/mailman/listinfo/general
