<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 15 (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;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle20
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.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;mso-fareast-language:EN-US">John,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:EN-US">Thanks for the inputs.  We also have this statement:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:EN-US">$B!H(B</span><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 required precision.$B!I(B<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:EN-US">I suppose this then reads as 1..* rather than $B!H(Bas many$B!D(Bas required$B!D!I(B meaning 0..*
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:EN-US">I will follow up on this.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:EN-US">Best regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D;mso-fareast-language:EN-US">-Erik<o:p></o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> John Pietras [mailto:john.pietras@gst.com] <br>
<b>Sent:</b> Tuesday, June 07, 2016 8:53 AM<br>
<b>To:</b> Barkley, Erik J (3970) <erik.j.barkley@jpl.nasa.gov><br>
<b>Cc:</b> CCSDS Service Mgmt WG <smwg@mailman.ccsds.org>; Holger.Dreihahn@esa.int<br>
<b>Subject:</b> RE: SoS XML Schema does not quite match time code B? <o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<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) [<a href="mailto:erik.j.barkley@jpl.nasa.gov">mailto:erik.j.barkley@jpl.nasa.gov</a>]
<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>