Hi Vincent,
Thanks. I am all set. Regards, Yitzhak Khabinsky From: Lizzi, Vincent <vincent.li...@taylorandfrancis.com> Sent: Friday, September 9, 2022 1:55 PM To: ykhab...@bellsouth.net; 'BaseX' <basex-talk@mailman.uni-konstanz.de> Subject: RE: [basex-talk] current-dateTime() function precision Hi Yitzhak The adjust-dateTime-to-timezone function may do what you need. For example, this converts the current time to UTC. adjust-dateTime-to-timezone(current-dateTime(), xs:dayTimeDuration('PT0H')) For EDT, change the duration to "-PT4H". The duration that is needed for US Eastern time will vary depending on the time of year. See https://maxtoroq.github.io/xpath-ref/fn/adjust-dateTime-to-timezone.html Kind regards, Vincent _____________________________________________ Vincent M. Lizzi Head of Information Standards | Taylor & Francis Group <mailto:vincent.li...@taylorandfrancis.com> vincent.li...@taylorandfrancis.com Information Classification: General From: ykhab...@bellsouth.net <mailto:ykhab...@bellsouth.net> <ykhab...@bellsouth.net <mailto:ykhab...@bellsouth.net> > Sent: Friday, September 9, 2022 1:46 PM To: Lizzi, Vincent <vincent.li...@taylorandfrancis.com <mailto:vincent.li...@taylorandfrancis.com> >; 'BaseX' <basex-talk@mailman.uni-konstanz.de <mailto:basex-talk@mailman.uni-konstanz.de> > Subject: RE: [basex-talk] current-dateTime() function precision Hi Vincent and Martin, Thanks for the clarification. I switched to using the Profiling module. let $before_datetime := convert:integer-to-dateTime(prof:current-ms()) (: current-dateTime() :) And it is working well. <startTime>2022-09-09T17:31:34.466Z</startTime> <endTime>2022-09-09T17:31:34.538Z</endTime> The last remaining task is to convert the output from the UTC time zone to my local EST: <startTime>2022-09-09T13:31:34.466-04:00</startTime> Any idea how to achieve that? Regards, Yitzhak Khabinsky From: Lizzi, Vincent <vincent.li...@taylorandfrancis.com <mailto:vincent.li...@taylorandfrancis.com> > Sent: Friday, September 9, 2022 1:26 PM To: ykhab...@bellsouth.net <mailto:ykhab...@bellsouth.net> ; 'BaseX' <basex-talk@mailman.uni-konstanz.de <mailto:basex-talk@mailman.uni-konstanz.de> > Subject: RE: [basex-talk] current-dateTime() function precision Hello Yitzhak, The current-dateTime() function returns the same value throughout the execution of a single query. The Profiling module has functions that provide the current system time, which is probably more to what you need. https://docs.basex.org/wiki/Profiling_Module Kind regards, Vincent _____________________________________________ Vincent M. Lizzi Head of Information Standards | Taylor & Francis Group <mailto:vincent.li...@taylorandfrancis.com> vincent.li...@taylorandfrancis.com Information Classification: General From: BaseX-Talk <basex-talk-boun...@mailman.uni-konstanz.de <mailto:basex-talk-boun...@mailman.uni-konstanz.de> > On Behalf Of ykhab...@bellsouth.net <mailto:ykhab...@bellsouth.net> Sent: Friday, September 9, 2022 11:55 AM To: 'BaseX' <basex-talk@mailman.uni-konstanz.de <mailto:basex-talk@mailman.uni-konstanz.de> > Subject: [basex-talk] current-dateTime() function precision Hello, I am using BaseX v.10.1 It seems that the current-dateTime() function precision is off. I am validating an XML file against an XSD 1.1 file via Xerces 2.12.2 validator. And trying to measure a timing of it. Here is my code. xquery version "4.0"; let $xml := '\\...\AForm-XSD-20211013\PD220224062681.XML' let $xsd := '\\...\AForm-XSD-20211013\Miami-ws-AForm.xsd' let $before_datetime := current-dateTime() let $result := validate:xsd-report($xml, $xsd, map { 'http://apache.org/xml/features/validation/cta-full-xpath-checking': true() }) return <root><metadata> <result>{data($result/status)}</result> <errors>{count($result/message)}</errors> <startTime>{$before_datetime}</startTime> <endTime>{current-dateTime()}</endTime> <xmlFile>{$xml}</xmlFile> <xsdFile>{$xsd}</xsdFile> <xsdProcessor>BaseX {data(db:system()//version)}, EE-Java, {validate:xsd-processor()} 2.12.2</xsdProcessor> <xsdVersion>{validate:xsd-version()}</xsdVersion> </metadata> <messages>{$result/message}</messages> </root> It is emitting the following output: <root> <metadata> <result>invalid</result> <errors>3</errors> <startTime>2022-09-09T11:32:29.667-04:00</startTime> <endTime>2022-09-09T11:32:29.667-04:00</endTime> <xmlFile>\\...\AForm-XSD-20211013\PD220224062681.XML <file://.../AForm-XSD-20211013/PD220224062681.XML%3c/xmlFile> </xmlFile> <xsdFile>\\...\AForm-XSD-20211013\Miami-ws-AForm.xsd <file://.../AForm-XSD-20211013/Miami-ws-AForm.xsd%3c/xsdFile> </xsdFile> <xsdProcessor>BaseX 10.1, EE-Java, Xerces 2.12.2</xsdProcessor> <xsdVersion>1.1</xsdVersion> </metadata> <messages> ... </messages> </root> The question is why the before and after timing is the same: <startTime>2022-09-09T11:32:29.667-04:00</startTime> <endTime>2022-09-09T11:32:29.667-04:00</endTime> They are identical up to a millisecond. My expectations were that at least the millisecond time portion would be different. Regards, Yitzhak Khabinsky