[MarkLogic Dev General] cts:element-range-query

David Lee David.Lee at marklogic.com
Thu Jan 21 11:03:43 PST 2016


did

From: general-bounces at developer.marklogic.com [mailto:general-bounces at developer.marklogic.com] On Behalf Of Justin Makeig
Sent: Thursday, January 21, 2016 11:36 AM
To: MarkLogic Developer Discussion <general at developer.marklogic.com>
Subject: Re: [MarkLogic Dev General] cts:element-range-query

That query will be problematic if you have multiple Date elements in your documents. You should transform your data to store a proper xs:date.

Justin

--
Justin Makeig
Director, Product Management
MarkLogic

On Jan 21, 2016, at 3:06 AM, Rajamani.Marimuthu at cognizant.com<mailto:Rajamani.Marimuthu at cognizant.com> wrote:

Hi  Pragya,

I don’t  think ,you can use the below format for date range comparison . Better you have same date details in attribute too. So , simply you can setup element attribute range index with integer option then try the following code . It will work.


let $fromDate := ("2011-03-04")
let $toDate := ("2011-06-08")
let $docs := cts:search(fn:doc()/DocumentList/Document,
                   cts:and-query((
                        cts:element-attribute-range-query(xs:QName("Date"),xs:QName("Year"), ">=",xs:int(substring($fromDate,1,4))),
                         cts:element-attribute-range-query(xs:QName("Date"),xs:QName("Year"), "<=",xs:int(substring($toDate,1,4))),
                         cts:element-attribute-range-query(xs:QName("Date"),xs:QName("Month"), ">=",xs:int(substring($fromDate,6,2))),
                         cts:element-attribute-range-query(xs:QName("Date"),xs:QName("Month"), "<=",xs:int(substring($toDate,6,2))),
                         cts:element-attribute-range-query(xs:QName("Date"),xs:QName("Day"), ">=",xs:int(substring($fromDate,9,2))),
                         cts:element-attribute-range-query(xs:QName("Date"),xs:QName("Day"), "<=",xs:int(substring($toDate,9,2)))
                        ))
                  )
return $docs


By
Raja>>>

From: general-bounces at developer.marklogic.com<mailto:general-bounces at developer.marklogic.com> [mailto:general-bounces at developer.marklogic.com] On Behalf Of Kapoor, Pragya
Sent: Thursday, January 21, 2016 2:52 PM
To: MarkLogic Developer Discussion
Subject: [MarkLogic Dev General] cts:element-range-query


Hi,

I need to query an element(Date) using cts:element-range-query, but the value this element(Date) is in different format.

<Date Year="2011" Month="03" Day="04">
2011 Mar 04
</Date>


query :

  let $fromDate := xs:date("2011-04-08")
  let $toDate := xs:date("2011-06-08")
  let $docs := cts:search(fn:doc("/misc/DocList.xml")/DocumentList/Document,
                   cts:and-query((
                        cts:element-range-query(xs:QName("Date"), "<=",$fromDate),
                         cts:element-range-query(xs:QName("Date"), ">=",$toDate)
                        ))
                  )
 return $docs

How can run this query or I need to use some other api?

Thanks
Pragya



"This e-mail and any attachments transmitted with it are for the sole use of the intended recipient(s) and may contain confidential , proprietary or privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this e-mail or any action taken in reliance on this e-mail is strictly prohibited and may be unlawful."
This e-mail and any files transmitted with it are for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient(s), please reply to the sender and destroy all copies of the original message. Any unauthorized review, use, disclosure, dissemination, forwarding, printing or copying of this email, and/or any action taken in reliance on the contents of this e-mail is strictly prohibited and may be unlawful. Where permitted by applicable law, this e-mail and other e-mail communications sent to and from Cognizant e-mail addresses may be monitored._______________________________________________
General mailing list
General at developer.marklogic.com<mailto:General at developer.marklogic.com>
Manage your subscription at:
http://developer.marklogic.com/mailman/listinfo/general

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://developer.marklogic.com/pipermail/general/attachments/20160121/354a1df3/attachment-0001.html 


More information about the General mailing list