% Data classifications \label{s:dataclass} \index{classification|(} \chapter{Common Classifications} \label{s:dataclass:common} % applies until first subsection \sectiondept{it} \incomplete A classification---also known as a ``class'', but that term is avoided in this specification due to ambiguities---is a set of rules performed on the ^[input data] yielding a boolean result of the same depth as the largest depth of the applicable ^[input data]. \todo{Include formal documentation from DSL manual.} \begin{ex} Consider a classification~$c$ that has the following rules: \begin{itemize} \item $5\leq\alpha\leq10$ \item $\beta>0$ \end{itemize} Given various sets of ^[input data], we would expect the results shown in \fref{class-ex}. \end{ex} \begin{figure} \center \begin{tabular}{cc|c} $\alpha$ & $\beta$ & Result \\ \hline 1 & 2 & $\bot$ \\ 5 & 2 & $\top$ \\ \set{4,5} & \set{10,10} & \set{\bot,\top} \\ \set{\set{4,5},\set{5,6}} & \set{10,0} & \set{\set{\bot,\top},\set{\bot,\bot}} \\ \end{tabular} \caption{Results of various input data some classification} \label{f:class-ex} \end{figure} A classification may treat the result of another classification as ^[input data]. A classification may treat the result of a~^[calculation] (see \sref{premcalc}) as ^[input data]. All classifications in this section \shall apply to the ^[input data] as defined in~\sref{indata}. Each classification \shall have an associated character string \dfn{classification!description} which \shall be made accessible to the caller as ^[output data] in an \unspecified\ manner. The point at which classifications are calculated is \unspecified; an implementation \may choose to defer any specific classification until such a time that it is needed by a calculation. Furthermore, an implementation \may choose not to perform a given classification at all, so long as it is determined that such a classification does not apply to any ^[input data]. %% user content \dataclassout \index{classification|)}