Re: [basex-talk] current-dateTime() function precision

2022-09-09 Thread ykhabins
Hi Vincent,

 

Thanks. I am all set.

 

Regards,
Yitzhak Khabinsky

 

From: Lizzi, Vincent  
Sent: Friday, September 9, 2022 1:55 PM
To: ykhab...@bellsouth.net; 'BaseX' 
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>
mailto:ykhab...@bellsouth.net> > 
Sent: Friday, September 9, 2022 1:46 PM
To: Lizzi, Vincent mailto:vincent.li...@taylorandfrancis.com> >; 'BaseX'
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.

2022-09-09T17:31:34.466Z

2022-09-09T17:31:34.538Z

 

The last remaining task is to convert the output from the UTC time zone to
my local EST:

2022-09-09T13:31:34.466-04:00

 

Any idea how to achieve that?

 

Regards,
Yitzhak Khabinsky

From: Lizzi, Vincent mailto:vincent.li...@taylorandfrancis.com> > 
Sent: Friday, September 9, 2022 1:26 PM
To: ykhab...@bellsouth.net <mailto:ykhab...@bellsouth.net> ; 'BaseX'
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 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' 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 
{data($result/status)}
{count($result/message)}
{$before_datetime}
{current-dateTime()}
{$xml}
{$xsd}
BaseX {data(db:system()//version)}, EE-Java,
{validate:xsd-processor()} 2.12.2
{validate:xsd-version()}

{$result/message}


It is emitting the following output:


invalid
3
2022-09-09T11:32:29.667-04:00
2022-09-09T11:32:29.667-04:00
\\...\AForm-XSD-20211013\PD220224062681.XML
 
\\...\AForm-XSD-20211013\Miami-ws-AForm.xsd
 
BaseX 10.1, EE-Java, Xerces 2.12.2
1.1


...



The question is why the before and after timing is the same:
2022-09-09T11:32:29.667-04:00
2022-09-09T11:32:29.667-04:00

They are identical up to a millisecond.
My expectations were that at least the millisecond time portion would be
different.

Regards,
Yitzhak Khabinsky



Re: [basex-talk] current-dateTime() function precision

2022-09-09 Thread Lizzi, Vincent
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
vincent.li...@taylorandfrancis.com<mailto:vincent.li...@taylorandfrancis.com>




Information Classification: General
From: ykhab...@bellsouth.net 
Sent: Friday, September 9, 2022 1:46 PM
To: Lizzi, Vincent ; 'BaseX' 

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.
2022-09-09T17:31:34.466Z
2022-09-09T17:31:34.538Z

The last remaining task is to convert the output from the UTC time zone to my 
local EST:
2022-09-09T13:31:34.466-04:00

Any idea how to achieve that?

Regards,
Yitzhak Khabinsky
From: Lizzi, Vincent 
mailto:vincent.li...@taylorandfrancis.com>>
Sent: Friday, September 9, 2022 1:26 PM
To: ykhab...@bellsouth.net<mailto:ykhab...@bellsouth.net>; 'BaseX' 
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<https://docs.basex.org/wiki/Profiling_Module>

Kind regards,
Vincent

_
Vincent M. Lizzi
Head of Information Standards | Taylor & Francis Group
vincent.li...@taylorandfrancis.com<mailto:vincent.li...@taylorandfrancis.com>




Information Classification: General
From: BaseX-Talk 
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' 
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<http://apache.org/xml/features/validation/cta-full-xpath-checking>':
 true()
})

return 
{data($result/status)}
{count($result/message)}
{$before_datetime}
{current-dateTime()}
{$xml}
{$xsd}
BaseX {data(db:system()//version)}, EE-Java,
{validate:xsd-processor()} 2.12.2
{validate:xsd-version()}

{$result/message}


It is emitting the following output:


invalid
3
2022-09-09T11:32:29.667-04:00
2022-09-09T11:32:29.667-04:00
\\...\AForm-XSD-20211013\PD220224062681.XML>
\\...\AForm-XSD-20211013\Miami-ws-AForm.xsd>
BaseX 10.1, EE-Java, Xerces 2.12.2
1.1


...



The question is why the before and after timing is the same:
2022-09-09T11:32:29.667-04:00
2022-09-09T11:32:29.667-04:00

They are identical up to a millisecond.
My expectations were that at least the millisecond time portion would be
different.

Regards,
Yitzhak Khabinsky


Re: [basex-talk] current-dateTime() function precision

2022-09-09 Thread Martin Honnen


On 9/9/2022 7:46 PM, ykhab...@bellsouth.net wrote:


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.

2022-09-09T17:31:34.466Z

2022-09-09T17:31:34.538Z

The last remaining task is to convert the output from the UTC time
zone to my local EST:

2022-09-09T13:31:34.466-04:00

Any idea how to achieve that?


There is a function adjust-dateTime-to-timezone, taking a duration, I think.


Re: [basex-talk] current-dateTime() function precision

2022-09-09 Thread ykhabins
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.

2022-09-09T17:31:34.466Z

2022-09-09T17:31:34.538Z

 

The last remaining task is to convert the output from the UTC time zone to
my local EST:

2022-09-09T13:31:34.466-04:00

 

Any idea how to achieve that?

 

Regards,
Yitzhak Khabinsky

From: Lizzi, Vincent  
Sent: Friday, September 9, 2022 1:26 PM
To: ykhab...@bellsouth.net; 'BaseX' 
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 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' 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 
{data($result/status)}
{count($result/message)}
{$before_datetime}
{current-dateTime()}
{$xml}
{$xsd}
BaseX {data(db:system()//version)}, EE-Java,
{validate:xsd-processor()} 2.12.2
{validate:xsd-version()}

{$result/message}


It is emitting the following output:


invalid
3
2022-09-09T11:32:29.667-04:00
2022-09-09T11:32:29.667-04:00
\\...\AForm-XSD-20211013\PD220224062681.XML
 
\\...\AForm-XSD-20211013\Miami-ws-AForm.xsd
 
BaseX 10.1, EE-Java, Xerces 2.12.2
1.1


...



The question is why the before and after timing is the same:
2022-09-09T11:32:29.667-04:00
2022-09-09T11:32:29.667-04:00

They are identical up to a millisecond.
My expectations were that at least the millisecond time portion would be
different.

Regards,
Yitzhak Khabinsky



Re: [basex-talk] current-dateTime() function precision

2022-09-09 Thread Lizzi, Vincent
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
vincent.li...@taylorandfrancis.com




Information Classification: General
From: BaseX-Talk  On Behalf Of 
ykhab...@bellsouth.net
Sent: Friday, September 9, 2022 11:55 AM
To: 'BaseX' 
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 
{data($result/status)}
{count($result/message)}
{$before_datetime}
{current-dateTime()}
{$xml}
{$xsd}
BaseX {data(db:system()//version)}, EE-Java,
{validate:xsd-processor()} 2.12.2
{validate:xsd-version()}

{$result/message}


It is emitting the following output:


invalid
3
2022-09-09T11:32:29.667-04:00
2022-09-09T11:32:29.667-04:00
\\...\AForm-XSD-20211013\PD220224062681.XML>
\\...\AForm-XSD-20211013\Miami-ws-AForm.xsd>
BaseX 10.1, EE-Java, Xerces 2.12.2
1.1


...



The question is why the before and after timing is the same:
2022-09-09T11:32:29.667-04:00
2022-09-09T11:32:29.667-04:00

They are identical up to a millisecond.
My expectations were that at least the millisecond time portion would be
different.

Regards,
Yitzhak Khabinsky


Re: [basex-talk] current-dateTime() function precision

2022-09-09 Thread Martin Honnen


Am 9/9/2022 um 6:03 PM schrieb Martin Honnen:

I think, due to the functional/declarative language that is XQuery, the
static context defines that current-dateTime() doesn't change during the
execution of a single query, it is part of the static context.



It is defined in the dynamic context:
https://www.w3.org/TR/xquery-31/#eval_context


 *

   [Definition:*Current dateTime.*This information represents
   animplementation-dependent
   point
   in time during the processing ofa query, and includes an explicit
   timezone. It can be retrieved by the|fn:current-dateTime|function.
   If invoked multiple times during the execution ofa query, this
   function always returns the same result.]


Re: [basex-talk] current-dateTime() function precision

2022-09-09 Thread Martin Honnen



Am 9/9/2022 um 6:03 PM schrieb Martin Honnen:


Am 9/9/2022 um 5:55 PM schrieb ykhab...@bellsouth.net:

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 
 {data($result/status)}
 {count($result/message)}
 {$before_datetime}
 {current-dateTime()}
 {$xml}
 {$xsd}
 BaseX {data(db:system()//version)}, EE-Java,
{validate:xsd-processor()} 2.12.2
{validate:xsd-version()}
   
   {$result/message}


It is emitting the following output:

   
 invalid
 3
2022-09-09T11:32:29.667-04:00
2022-09-09T11:32:29.667-04:00
\\...\AForm-XSD-20211013\PD220224062681.XML
\\...\AForm-XSD-20211013\Miami-ws-AForm.xsd
 BaseX 10.1, EE-Java, Xerces 2.12.2
 1.1
   
   
 ...
   


The question is why the before and after timing is the same:
2022-09-09T11:32:29.667-04:00
2022-09-09T11:32:29.667-04:00

They are identical up to a millisecond.



I think, due to the functional/declarative language that is XQuery, the
static context defines that current-dateTime() doesn't change during the
execution of a single query, it is part of the static context.

Most processors have extensions for timestamp and/or profiling, e.g.
Saxon has saxon:timestamp(), I would think that BaseX also has some
extension.


For profiling: https://docs.basex.org/wiki/Profiling_Module


Re: [basex-talk] current-dateTime() function precision

2022-09-09 Thread Martin Honnen



Am 9/9/2022 um 5:55 PM schrieb ykhab...@bellsouth.net:

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 
 {data($result/status)}
 {count($result/message)}
 {$before_datetime}
 {current-dateTime()}
 {$xml}
 {$xsd}
 BaseX {data(db:system()//version)}, EE-Java,
{validate:xsd-processor()} 2.12.2
 {validate:xsd-version()}
   
   {$result/message}


It is emitting the following output:

   
 invalid
 3
 2022-09-09T11:32:29.667-04:00
 2022-09-09T11:32:29.667-04:00
 \\...\AForm-XSD-20211013\PD220224062681.XML
 \\...\AForm-XSD-20211013\Miami-ws-AForm.xsd
 BaseX 10.1, EE-Java, Xerces 2.12.2
 1.1
   
   
 ...
   


The question is why the before and after timing is the same:
2022-09-09T11:32:29.667-04:00
2022-09-09T11:32:29.667-04:00

They are identical up to a millisecond.



I think, due to the functional/declarative language that is XQuery, the
static context defines that current-dateTime() doesn't change during the
execution of a single query, it is part of the static context.

Most processors have extensions for timestamp and/or profiling, e.g.
Saxon has saxon:timestamp(), I would think that BaseX also has some
extension.