<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p><br>
</p>
<br>
<div class="moz-cite-prefix">On 6/7/17 5:54 PM, Brent Putman wrote:<br>
</div>
<blockquote type="cite"
cite="mid:ad67e515-b940-19c1-a9fd-8563f1da5a03@georgetown.edu">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<br>
<br>
As to whether the various libraries that we use actually parse and
use that correctly, I can't confirm with certainty without going
and looking and/or testing. But I would say that if you're doing
it and it's now throwing an error, that's a good sign.<br>
</blockquote>
<br>
The relevant Java API is
javax.xml.datatype.DatatypeFactory#newDuration(String), which is
just the base class API. The docs say that:<br>
<br>
<tt> * <p>The XML Schema specification states that values
can be of an arbitrary size.</tt><tt><br>
</tt><tt> * Implementations may chose not to or be incapable of
supporting arbitrarily large and/or small values.</tt><tt><br>
</tt><tt> * An {@link UnsupportedOperationException} will be
thrown with a message indicating implementation limits</tt><tt><br>
</tt><tt> * if implementation capacities are exceeded.</p></tt><tt><br>
</tt><br>
Actual behavior will be determined by the actual Java runtime class
implementing that API . <br>
<br>
So if you're not seeing an UOE being thrown, then either your Java
runtime's impl of that API supports the decimal sub-second
precision, or it's horribly broken.<br>
<br>
Beyond that: the duration value generally gets converted by Shib
software to milliseconds (either a primitive long or java.lang.Long
type). The docs for
javax.xml.datatype.Duration#getTimeInMillis(Calendar) say:<br>
<tt><br>
</tt><tt> * <p>If the seconds field carries more digits
than milli-second order,</tt><tt><br>
</tt><tt> * those will be simply discarded (or in other words,
rounded to zero.)</tt><tt><br>
</tt><br>
So be mindful of and avoid values smaller than PT0.001S or with more
decimal precision than 3 places. <br>
</body>
</html>