<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
}