<when>

<when> indicates a point in time either relative to other elements in the same timeline tag, or absolutely. 16.5.2 Placing Synchronous Events in Time
Modulelinking — 16 Linking, Segmentation, and Alignment
AttributesIn addition to global attributes
absolutesupplies an absolute value for the time.
Status Required when applicable
Datatype

<rng:ref name="data.temporal.w3c"/>
data.temporal.w3c
Values Times may be given in standard form, as specified in the Encoding Declarations section of the header.
Note
Required for the element designated as the value of the origin attribute in the <timeline> tag.
unitspecifies the unit of time in which the interval value is expressed, if this is not inherited from the parent timeline.
Status Required when applicable
Datatype

<rng:ref name="data.enumerated"/>
data.enumerated
Suggested values include:
d
(days)
h
(hours)
min
(minutes)
s
(seconds)
ms
(milliseconds)
intervalspecifies the numeric portion of a time interval
Status Required when applicable
Datatype

<rng:choice>
<rng:data type="float">
 <rng:param name="minExclusive">0</rng:param>
</rng:data>
<rng:value>unknown</rng:value>
</rng:choice>
xsd:float { minExclusive = "0" } | "unknown"
Values a positive number, or the special value unknown.
Note
The value unknown indicates uncertainty about the interval.
sinceidentifies the reference point for determining the time of the current when element, which is obtained by adding the interval to the time of the reference point.
Status Required when applicable
Datatype

<rng:ref name="data.pointer"/>
data.pointer
Values Should point to another when element in the same timeline.
Note
If this attribute is omitted, and the absolute attribute is not specified, then the reference point is understood to be the origin of the enclosing timeline tag.
Used bytimeline
May containEmpty element
Declaration

<rng:element name="when">
<rng:ref name="att.global.attributes"/>
<rng:optional>
 <rng:attribute name="absolute">
  <rng:ref name="data.temporal.w3c"/>
 </rng:attribute>
</rng:optional>
<rng:optional>
 <rng:attribute name="unit">
  <rng:choice>
   <rng:value>d</rng:value>
   <rng:value>h</rng:value>
   <rng:value>min</rng:value>
   <rng:value>s</rng:value>
   <rng:value>ms</rng:value>
   <rng:data type="Name"/>
  </rng:choice>
 </rng:attribute>
</rng:optional>
<rng:optional>
 <rng:attribute name="interval">
  <rng:choice>
   <rng:data type="float">
    <rng:param name="minExclusive">0</rng:param>
   </rng:data>
   <rng:value>unknown</rng:value>
  </rng:choice>
 </rng:attribute>
</rng:optional>
<rng:optional>
 <rng:attribute name="since">
  <rng:ref name="data.pointer"/>
 </rng:attribute>
</rng:optional>
<rng:empty/>
</rng:element>
element when
{
   att.global.attributes,
   attribute absolute { data.temporal.w3c }?,
   attribute unit { "d" | "h" | "min" | "s" | "ms" | xsd:Name }?,
   attribute interval { xsd:float { minExclusive = "0" } | "unknown" }?,
   attribute since { data.pointer }?,
   empty
}
Example
<when xml:id="TW3interval="20since="#w2"/>
Note
On this element, the global xml:id attribute must be supplied to specify an identifier for this point in time. The value used may be chosen freely provided that it is unique within the document and is a syntactically valid name. There is no requirement for values containing numbers to be in sequence.