<html><head></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div><span>Thank you very much, Christian. Let me try this..</span></div><div><span><br></span></div><div><span><br></span></div><br>  <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_1_1446472291059_3553"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_1_1446472291059_3552"> <div dir="ltr" id="yui_3_16_0_1_1446472291059_3609"> <hr size="1">  <font size="2" face="Arial"> <b><span style="font-weight:bold;">From:</span></b> Christian GrĂ¼n <christian.gruen@gmail.com><br> <b><span style="font-weight: bold;">To:</span></b> sudheshna iyer <sudheshnaiyer@yahoo.com> <br><b><span style="font-weight: bold;">Cc:</span></b> "talk@x-query.com" <talk@x-query.com> <br> <b><span style="font-weight: bold;">Sent:</span></b> Sunday, November 1, 2015 4:26 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [xquery-talk] Xquery : Sort and get only the first record<br> </font> </div> <div class="y_msg_container" id="yui_3_16_0_1_1446472291059_3551"><br>If your XQuery processor supports XQuery Update, this would be one solution:<br clear="none"><br clear="none">  copy $xml := doc('x.xml')<br clear="none">  modify (<br clear="none">    delete node subsequence(<br clear="none">      for $job in $xml//job<br clear="none">      order by xs:date(replace($job/StartDate,<br clear="none">        "(\d{2})-(\d{2})-(\d{4})", "$3-$1-$2")<br clear="none">      ) descending<br clear="none">      return $job<br clear="none">    , 2)<br clear="none">  )<br clear="none">  return $xml<br clear="none"><br clear="none">Best,<br clear="none">Christian<br clear="none"><br clear="none"><div class="qtdSeparateBR"><br><br></div><div class="yqt0470902684" id="yqtfd38923"><br clear="none">On Sun, Nov 1, 2015 at 8:51 PM, sudheshna iyer <<a shape="rect" ymailto="mailto:sudheshnaiyer@yahoo.com" href="mailto:sudheshnaiyer@yahoo.com">sudheshnaiyer@yahoo.com</a>> wrote:<br clear="none">> Team,<br clear="none">><br clear="none">> I have an xml which has multiple jobs elements. I want to sort the jobs and<br clear="none">> want to output only the latest job. Note that <EndDate> can be empty<br clear="none">> indicating that it is the current job.<br clear="none">><br clear="none">> Basically I want to order by jobs/job/EndDate in descending fashion and<br clear="none">> select only the first record..<br clear="none">><br clear="none">> How do I do that using xquery?<br clear="none">><br clear="none">> Input request:<br clear="none">> <?xml version="1.0" encoding="UTF-8"?><br clear="none">> <Request><br clear="none">>   <SessionInfo><br clear="none">>      <uid>qq</uid><br clear="none">>      <pwd>qq</pwd><br clear="none">>   </SessionInfo><br clear="none">>   <Param><br clear="none">>      <CustomerInfo><br clear="none">>         <Contact><br clear="none">>            <Number>123</Number><br clear="none">>            <Name>aaa bbb</Name><br clear="none">>            <Jobs><br clear="none">>               <job><br clear="none">>                  <Name>Analyst</Name><br clear="none">>                  <Id>1</Id><br clear="none">>                  <StartDate>01-01-2015</StartDate><br clear="none">>                  <EndDate>08-30-2015</EndDate><br clear="none">>               </job><br clear="none">>               <job><br clear="none">>                  <Name>Programmer</Name><br clear="none">>                  <Id>2</Id><br clear="none">>                  <StartDate>08-31-2015</StartDate><br clear="none">>                  <EndDate /><br clear="none">>               </job><br clear="none">>            </Jobs><br clear="none">>         </Contact><br clear="none">>      </CustomerInfo><br clear="none">>   </Param><br clear="none">> </Request><br clear="none">><br clear="none">> Expected output:<br clear="none">><br clear="none">> <?xml version="1.0" encoding="UTF-8"?><br clear="none">> <Request><br clear="none">>   <SessionInfo><br clear="none">>      <uid>qq</uid><br clear="none">>      <pwd>qq</pwd><br clear="none">>   </SessionInfo><br clear="none">>   <Param><br clear="none">>      <CustomerInfo><br clear="none">>         <Contact><br clear="none">>            <Number>123</Number><br clear="none">>            <Name>aaa bbb</Name><br clear="none">>            <Jobs><br clear="none">>               <job><br clear="none">>                  <Name>Programmer</Name><br clear="none">>                  <Id>2</Id><br clear="none">>                  <StartDate>08-31-2015</StartDate><br clear="none">>                  <EndDate/><br clear="none">>               </job><br clear="none">>            </Jobs><br clear="none">>         </Contact><br clear="none">>      </CustomerInfo><br clear="none">>   </Param><br clear="none">> </Request><br clear="none">><br clear="none">> Your help is greatly appreciated.</div><br clear="none">><br clear="none">><br clear="none">><br clear="none">><br clear="none">> _______________________________________________<br clear="none">> <a shape="rect" ymailto="mailto:talk@x-query.com" href="mailto:talk@x-query.com">talk@x-query.com</a><br clear="none">> <a shape="rect" href="http://x-query.com/mailman/listinfo/talk" target="_blank">http://x-query.com/mailman/listinfo/talk</a><div class="yqt0470902684" id="yqtfd42273"><br clear="none"></div><br><br></div> </div> </div>  </div></body></html>