XQuery Current DateTime Function

Education is not limited to just classrooms. It can be gained anytime, anywhere... - Ravi Ranjan (M.Tech-NIT)

XQuery current-dateTime() Function

The XQuery current-date time() function is used to return the current date and time.

current-dateTime()


XQuery current-dateTime() Example

Use the following XQuery expression to fetch the current date and time.

current-datetime.xqy:

  1. let $datetime :current-dateTime()  
  2. return  
  3. <results>  
  4.    <datetime>{$datetime}datetime>  
  5. results>  

Create a Java based XQuery executor program to read the current-datetime.xqy, passes it to the XQuery expression processor, and executes the expression. After that the result will be displayed.

XQueryTester.java

  1. import java.io.File;  
  2. import java.io.FileInputStream;  
  3. import java.io.FileNotFoundException;  
  4. import java.io.InputStream;  
  5.   
  6. import javax.xml.xquery.XQConnection;  
  7. import javax.xml.xquery.XQDataSource;  
  8. import javax.xml.xquery.XQException;  
  9. import javax.xml.xquery.XQPreparedExpression;  
  10. import javax.xml.xquery.XQResultSequence;  
  11.   
  12. import com.saxonica.xqj.SaxonXQDataSource;  
  13.   
  14. public class XQueryTester {  
  15.    public static void main(String[] args){  
  16.       try {  
  17.          execute();  
  18.       }  
  19.         
  20.       catch (FileNotFoundException e) {  
  21.          e.printStackTrace();  
  22.       }  
  23.         
  24.       catch (XQException e) {  
  25.          e.printStackTrace();  
  26.       }  
  27.    }  
  28.   
  29.    private static void execute() throws FileNotFoundException, XQException{  
  30.       InputStream inputStream = new FileInputStream(new File("current-datetime.xqy"));  
  31.       XQDataSource ds = new SaxonXQDataSource();  
  32.       XQConnection conn = ds.getConnection();  
  33.       XQPreparedExpression exp = conn.prepareExpression(inputStream);  
  34.       XQResultSequence result = exp.executeQuery();  
  35.        while (result.next()) {  
  36.          System.out.println(result.getItemAsString(null));  
  37.       }  
  38.    }      
  39. }  

Execute XQuery against XML

Put the above both files to a same location. We put them on desktop in a folder name XQuery12. Compile XQueryTester.java using console. You must have JDK 1.5 or later installed on your computer and classpaths are configured.

Compile:

javac XQueryTester.java

Execute:

java XQueryTester

Output:

XQUERY Current date time function 1

The above example shows both date and time.