<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-2022-jp">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"MS PGothic";
        panose-1:2 11 6 0 7 2 5 8 2 4;}
@font-face
        {font-family:"\@MS PGothic";
        panose-1:2 11 6 0 7 2 5 8 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:JA;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Erik,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">I think that the pattern is as correct as-is, due to the specification $B!H(B</span><span style="font-family:"Times New Roman","serif"">d$B"*(Bd = Decimal fraction of second in
<u>one</u>- to n-character subfield$B!I(B</span><span style="color:#1F497D">, which specifies that the decimal fraction field have a minimum of one character.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">But I admit that there is indeed an inconsistency here, one that should probable be cleaned up in the time code book itself. As you allude to in your note, one-tenth-of-a-second precision may not be needed, but
 in that case the specification of the decimal fraction field should be changed to $B!H(B</span><span style="font-family:"Times New Roman","serif"">d$B"*(Bd = Decimal fraction of second in
<u>zero</u>- to n-character subfield$B!I(B.</span><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">John<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Barkley, Erik J (3970) [mailto:erik.j.barkley@jpl.nasa.gov]
<br>
<b>Sent:</b> Wednesday, May 11, 2016 3:35 PM<br>
<b>To:</b> John Pietras<br>
<b>Cc:</b> CCSDS Service Mgmt WG<br>
<b>Subject:</b> SoS XML Schema does not quite match time code B? <o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">John,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I realize you are on vacation, but when you come back$B!D(B<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">As part of the ESTRACK/DSN schedule exchange work ongoing, a question about time representation has arisen. I have taken a look and my conclusion is that the schema that we have for Time code B does not quite match the Time code B definition
 in the book. Certainly a more "relaxed" definition with regard to sub seconds is in order for reporting things like schedules which often (although perhaps not exclusively) don't need anything stated below a second resolution.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Here is what the CCSDS recommendation on Time codes says about T.C. B says about it:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">$B!H!D(B.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">3.5.1.2 ASCII TIME CODE B, Year/Day of Year Calendar Variation:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">The format for ASCII Time Code B is as follows:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">YYYY-DDDThh:mm:ss.d$B"*(BdZ<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">where each character is an ASCII character using one octet with the following meanings:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">YYYY = Year in four-character subfield with values 0001-9999<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">DDD = Day of year in three-character subfield with values 001-365 or -366<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">T = Calendar-Time separator<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">hh = Hour in two-character subfield with values 00-23<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">mm = Minute in two-character subfield with values 00-59<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">ss = Second in two-character subfield with values 00-59<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">(-58 or -60 during leap seconds)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">d$B"*(Bd = Decimal fraction of second in one- to n-character subfield<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">where each d has values 0-9<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">Z = time code terminator (optional)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">The hyphen (-), colon (:), letter $B!F(B T$B!G(B and period (.) are used as specific subfield separators,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">and that all subfields must include leading zeros.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">As many $B!F(Bd$B!G(B characters to the right of the period as required may be used to obtain the<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">required precision.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">An optional terminator consisting of the ASCII character $B!F(BZ$B!G(B may be placed at the end of the<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">time code.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">EXAMPLE: 1988-018T17:20:43.123456Z<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman","serif"">$B!D(B.$B!I(B<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">And here is the key line in the XML schema that defines the pattern<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><xsd:pattern value="\d{4}-\d{3}T\d{2}:\d{2}:\d{2}\.\d+Z?"/><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Note that the CCSDS book says $B!H(B..As many $B!F(Bd$B!G(B characters to the right of the period as required may be used to obtain the<o:p></o:p></p>
<p class="MsoNormal">required precision$B!I(B.  I take this to mean that $B!H(Bas many$B!I(B could in fact be 0 (zero).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Given that, I think the XML schema line should read:<o:p></o:p></p>
<p class="MsoNormal"><xsd:pattern value="\d{4}-\d{3}T\d{2}:\d{2}:\d{2}\.\d*Z?"/><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">With this definition which I think is consistent with the definition of Time code B implementations are not required to state at least a 10<sup>th</sup> of a second for timestamps.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I propose that we update the schema accordingly which I think makes the schema more useful to our implementing organizations, consistent with time code B definition, while still allowing for the subsecond expression if needed.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Best regards,<o:p></o:p></p>
<p class="MsoNormal">-Erik<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div class="MsoNormal" align="center" style="text-align:center"><span style="font-size:13.5pt;font-family:"MS PGothic","sans-serif";color:black;background:white">
<hr size="2" width="100%" align="center">
</span></div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"MS PGothic","sans-serif";color:black;background:white"><br>
<a href="https://filter.gst.com/canit/b.php?i=01QR7yT9f&m=dc17bf9e890a&c=s" target="canit_note">Spam</a><br>
<a href="https://filter.gst.com/canit/b.php?i=01QR7yT9f&m=dc17bf9e890a&c=n" target="canit_note">Not spam</a><br>
<a href="https://filter.gst.com/canit/b.php?i=01QR7yT9f&m=dc17bf9e890a&c=f" target="canit_note">Forget previous vote</a></span><span style="font-size:12.0pt;font-family:"MS PGothic","sans-serif""><o:p></o:p></span></p>
</div>
</div>
</body>
</html>