5. Using SaxonJS on Node
On Node.js, you must explicitly import the SaxonJS object with
require
. Then you can use any of it’s APIs directly
from JavaScript.
The following Node.js program uses XPath to calculate the number of days until Christmas.
'use strict';
const SaxonJS = require('saxon-js');
const DECEMBER = 11; // 0-based counting!
const today = new Date();
let year = today.getFullYear();
if (today.getMonth() == DECEMBER
&& today.getDate() >= 25) {
year += 1;
}
let christmas = `${year}-12-25`;
let options = { "params": {"Q{}christmas": christmas} };
let days = SaxonJS.XPath.evaluate(
`let $duration := xs:date($christmas) - current-date()
return
if ($duration <= xs:dayTimeDuration("P1D"))
then 'Christmas is TOMORROW!'
else 'It''s '
|| days-from-duration($duration)
|| ' days ''til Christmas'`,
null, options);
console.log(days);