Novell Home

Timestamps, XPATH and Java

Novell Cool Solutions: Tip
By Perin Blanchard

Digg This - Slashdot This

Posted: 1 Mar 2006
 

Problem

A reader asked:

"I am trying to get a human-readable string of the date and time that I can add to other text and then insert into the description attr in eDir. I am getting an error that says:

Message: Code(-9131) Error in vnd.nds.stream: ... 
eDirectory/Publisher/Matching Rule#XmlData:47 : Error evaluating XPATH
expression ... XPathEvaluationException: function call to
'jformat:parse' resulted in an error: 'java.text.ParseException:
Unparseable date: "1126129825"'.

Solution

You want something along the lines of this:

<do-set-local-variable name="current-format">
  <arg-string>
    <token-xpath
expression="jformat:format(jformat:new('MM/dd/yyyy:HH.mm.ss'),jdate:new())"/>
  </arg-string>
</do-set-local-variable>

The timestamp value is "roughly" equivalent to what you would get from "java.lang.System.currentTimeMillis()" or "java.util.Date.getTime()". So to format and use it, you would need to strip the stuff including and after the '#', multiply it by 1000, create a new Date instance, etc.

You could use something like the following:

jformat:format(jformat:new('MM/dd/yyyy:HH.mm.ss'),jdate:new(number(substring-before(@timestamp,'#')) 
* 1000))

Then you would need to put that code in the appropriate location.


Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

© 2014 Novell