X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=spv-file-format.texi;h=ce094484da3fe059cfb6c3e60f889c14d4cc56b6;hb=317044f9d3cd7abf6dff515574538e59657f98af;hp=15eef0eedf19814fb4429f93d3cdab04b4f4e1de;hpb=b0ea6e3d2705778be5e6ff8d079c72278d06b7b7;p=pspp diff --git a/spv-file-format.texi b/spv-file-format.texi index 15eef0eedf..ce094484da 100644 --- a/spv-file-format.texi +++ b/spv-file-format.texi @@ -1896,47 +1896,154 @@ numeric or string format. @end defvr @noindent -Whether other attributes are required (``yes''), prohibited (``no''), -or optional (``opt'') depends on @code{baseFormat}: +Whether, in the corpus, other attributes are always present (``yes''), +never present (``no''), or sometimes present (``opt'') depends on +@code{baseFormat}: @multitable {maximumFractionDigits} {@code{dateTime}} {@code{elapsedTime}} {number} {string} @headitem Attribute @tab @code{dateTime} @tab @code{elapsedTime} @tab number @tab string @item errorCharacter @tab yes @tab yes @tab yes @tab opt -@item maximumFractionDigits @tab no @tab yes @tab yes @tab no -@item minimumFractionDigits @tab no @tab yes @tab yes @tab no @item separatorChars @tab yes @tab no @tab no @tab no -@item -@item useGrouping @tab no @tab opt @tab no @tab no +@item @w{ } @item mdyOrder @tab yes @tab no @tab no @tab no -@item +@item @w{ } @item showYear @tab yes @tab no @tab no @tab no @item yearAbbreviation @tab yes @tab no @tab no @tab no -@item +@item @w{ } @item showMonth @tab yes @tab no @tab no @tab no @item monthFormat @tab yes @tab no @tab no @tab no -@item +@item @w{ } @item showDay @tab yes @tab opt @tab no @tab no @item dayPadding @tab yes @tab opt @tab no @tab no @item dayOfMonthPadding @tab yes @tab no @tab no @tab no @item dayType @tab yes @tab no @tab no @tab no -@item +@item @w{ } @item showHour @tab yes @tab opt @tab no @tab no @item hourFormat @tab yes @tab opt @tab no @tab no @item hourPadding @tab yes @tab yes @tab no @tab no -@item -@item showMinute @tab yes @tab no @tab no @tab no +@item @w{ } +@item showMinute @tab yes @tab yes @tab no @tab no @item minutePadding @tab yes @tab yes @tab no @tab no -@item +@item @w{ } @item showSecond @tab yes @tab yes @tab no @tab no @item secondPadding @tab no @tab yes @tab no @tab no -@item +@item @w{ } @item showMillis @tab no @tab yes @tab no @tab no -@item -@item tryStringsAsNumbers @tab no @tab no @tab no @tab no -@item +@item @w{ } @item minimumIntegerDigits @tab no @tab no @tab yes @tab no +@item maximumFractionDigits @tab no @tab yes @tab yes @tab no +@item minimumFractionDigits @tab no @tab yes @tab yes @tab no +@item useGrouping @tab no @tab opt @tab no @tab no +@item @w{ } +@item tryStringsAsNumbers @tab no @tab no @tab no @tab no +@item @w{ } @item scientific @tab no @tab no @tab yes @tab no @item small @tab no @tab no @tab opt @tab no -@item +@item @w{ } @item suffix @tab no @tab no @tab opt @tab no @end multitable + +Each attribute is described below. + +@defvr {Attribute} errorCharacter +A character that replaces the formatted value when it cannot otherwise +be represented in the given format. Always @samp{*}. +@end defvr + +@defvr {Attribute} separatorChars +Exactly four characters. In order, these are used for: decimal point, +grouping, date separator, time separator. Always @samp{.,-:}. +@end defvr + +@defvr {Attribute} mdyOrder +Within a date, the order of the days, months, and years. +@code{dayMonthYear} is the only observed value, but one would expect +that @code{monthDayYear} and @code{yearMonthDay} to be reasonable as +well. +@end defvr + +@defvr {Attribute} showYear +@defvrx {Attribute} yearAbbreviation +Whether to include the year and, if so, whether the year should be +shown abbreviated, that is, with only 2 digits. Each is @code{true} +or @code{false}; only values of @code{true} and @code{false}, +respectively, have been observed. +@end defvr + +@defvr {Attribute} showMonth +@defvrx {Attribute} monthFormat +Whether to include the month (@code{true} or @code{false}) and, if so, +how to format it. @code{monthFormat} is one of the following: + +@table @code +@item long +The full name of the month, e.g.@: in an English locale, +@code{September}. + +@item short +The abbreviated name of the month, e.g.@: in an English locale, +@code{Sep}. + +@item number +The number representing the month, e.g.@: 9 for September. + +@item paddedNumber +A two-digit number representing the month, e.g.@: 09 for September. +@end table + +Only values of @code{true} and @code{short}, respectively, have been +observed. +@end defvr + +@defvr {Attribute} dayPadding +@defvrx {Attribute} dayOfMonthPadding +@defvrx {Attribute} hourPadding +@defvrx {Attribute} minutePadding +@defvrx {Attribute} secondPadding +These attributes presumably control whether each field in the output +is padded with spaces to its maximum width, but the details are not +understood. The only observed value for any of these attributes is +@code{true}. +@end defvr + +@defvr {Attribute} showDay +@defvrx {Attribute} showHour +@defvrx {Attribute} showMinute +@defvrx {Attribute} showSecond +@defvrx {Attribute} showMillis +These attributes presumably control whether each field is displayed +in the output, but the details are not understood. The only +observed value for any of these attributes is @code{true}. +@end defvr + +@defvr {Attribute} dayType +This attribute is always @code{month} in the corpus, specifying that +the day of the month is to be displayed; a value of @code{year} is +supposed to indicate that the day of the year, where 1 is January 1, +is to be displayed instead. +@end defvr + +@defvr {Attribute} hourFormat +@code{hourFormat}, if present, is one of: + +@table @code +@item AMPM +The time is displayed with an @code{am} or @code{pm} suffix, e.g.@: +@code{10:15pm}. + +@item AS_24 +The time is displayed in a 24-hour format, e.g.@: @code{22:15}. + +This is the only value observed in the corpus. + +@item AS_12 +The time is displayed in a 12-hour format, without distinguishing +morning or evening, e.g.@: @code{10;15}. +@end table + +@code{hourFormat} is sometimes present for @code{elapsedTime} formats, +which is confusing since a time duration does not have a concept of AM +or PM. This might indicate a bug in the code that generated the XML +in the corpus, or it might indicate that @code{elapsedTime} is +sometimes used to format a time of day. +@end defvr