<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 17, 2017 at 11:12 AM, Gerard Lemson <span dir="ltr">&lt;<a target="_blank" href="mailto:gerard.lemson@gmail.com">gerard.lemson@gmail.com</a>&gt;</span> wrote:<br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><div dir="ltr"><a target="_blank" href="https://volute.g-vo.org/svn/trunk/projects/dm/STC-2.0/doc/diagrams/alt/ivoa%20types%20diagram.png"><span style="color:windowtext;text-decoration-line:none"></span></a><br><div class="gmail_extra"><span class="gmail-"></span><p class="gmail-m_5555787170495511556gmail-MsoPlainText"><span style="color:black">This is technically illegal in VO-DML. Though ValueType is
a common base class of PrimitiveType, Enumeration and DataType, it is abstract
and cannot be explicitly instantiated. Hence if you&#39;d want to define
ivoa:anyType, it must be one of the three concrete value types. <span></span></span></p>

<p class="gmail-m_5555787170495511556gmail-MsoPlainText"><span style="color:black">IF we&#39;d make ValueType concrete and &quot;allow&quot; a
&lt;valuetype&gt; instantiation for it in VO-DML, we could define a common
super type for all value types.<span></span></span></p>

<p class="gmail-m_5555787170495511556gmail-MsoPlainText"><span style="color:black">This anyType would basically be the only reason to allow
this I think, so rather ugly.<span></span></span><span style="color:black"> </span>

</p><p class="gmail-m_5555787170495511556gmail-MsoPlainText"><span style="color:black">Alternatively we could follow the UML treatment of value
types, which is to have DataType be the common base class, and have enumeration
and primitiveType be subtypes of this, where the inheritance relations should
be seen as a kind of restriction. But a weird one, adding the implicit value,
and removing any roles. I&#39;d almost prefer making ValueType concrete. <span></span></span></p><span class="gmail-"></span><span style="color:black"></span></div></div></blockquote>I don&#39;t think this needs to be complicated, so let&#39;s put these on the back burner.<br></div><div class="gmail_quote"><div><br></div><br>&gt;&gt;     * Quantity and datetime would not have a
common ancestor, so we could<span></span><span class="gmail-"></span> not define
a TimeStamp<span></span><br>&gt;&gt;       which would allow time represented as a
RealQuantity OR datetime.<span></span><span class="gmail-"></span><div class="gmail_extra">&gt;&gt;       <a target="_blank" href="https://volute.g-vo.org/svn/trunk/projects/dm/STC-2.0/doc/diagrams/alt/temporal%20domain%20diagram.png"><span style="color:windowtext;text-decoration-line:none">https://volute.g-vo.org/<wbr>svn/trunk/projects/dm/STC-<span></span></span></a><span class="gmail-"></span><a target="_blank" href="https://volute.g-vo.org/svn/trunk/projects/dm/STC-2.0/doc/diagrams/alt/temporal%20domain%20diagram.png"><span style="color:windowtext;text-decoration-line:none"> 2.0/doc/diagrams/alt/temporal%<wbr>20domain%20diagram.png</span></a><span></span><span class="gmail-"></span><br>&gt;&gt; <span></span><span class="gmail-"></span><span style="color:black"> </span><span class="gmail-"></span><br><br>&gt;So are you saying you&#39;d like a DatetimeQuantity? With only a &quot;datetime unit&quot; being sufficient?<br>&gt;I had hoped   &#39;ivoa:datetime&#39; would be sufficient and the precise representation would be left to the mapping.<br><br></div>This sounds like you are suggesting that &#39;ivoa:datetime&#39; should suffice for all uses.<br></div>   MJDREF  = 50814.02               / [d] zero point for times - MJD<br><div class="gmail_quote">   TSTART  = 84244214.7546979934    / [s] Observation start time<br>   DATE-OBS= &quot;2000-09-02T01:10:14&quot;  / Date and time of observation start<br><br></div><div class="gmail_quote">I want all of these to be a TimeStamp type (abstract).<br></div><div class="gmail_extra">  * datetime = has vodml/html description:  &quot;Represents a moment in time using a date+timestamp.&quot;<br>which covers &#39;DATE-OBS&#39;, the other 2 are satisfied by RealQuantity.<br><br></div><div class="gmail_extra">But.. since RealQuantity and datetime do not have a common ancestor, I cannot define TimeStamp without either an anyType or a DateQuantity.<br></div><div class="gmail_quote"><br></div><div class="gmail_quote">Mark<br><br></div><div class="gmail_quote"><div class="gmail_extra"><br></div></div></div></div>