Recent Changes - Search:

About

Users

Developers

edit SideBar

PropertySpecifications

UserManual.PropertySpecifications History

Hide minor edits - Show changes to output

Added line 16:
[[#Locale]]
Added line 22:
[[#InstantInputFormat]]
Added line 59:
[[#InstantOutputFormat]]
Added line 64:
[[#IntervalInputFormat]]
Added line 86:
[[#IntervalOutputFormat]]
Added line 91:
[[#NowRelativeInstantInputFormat]]
Added line 115:
[[#NowRelativeInstantOutputFormat]]
Added line 120:
[[#PeriodInputFormat]]
Added line 169:
[[#PeriodOutputFormat]]
Added line 174:
[[#IndeterminateInstantInputFormat]]
Added line 213:
[[ #IndeterminateInstantOutputFormat]]
Added line 218:
[[#OverrideInputEpoch]]
Added lines 1-211:
!!!! Property Table

The <propertyTable> element encloses a list of properties. Each <property> can be specified in a single tag, or can enclose a list of <value>s, as shown below.

<propertyTable>
<property name = "..."/>
<value>...</value>
</property>
.
.
<property name = "..." value = "..."/>
.
.
</propertyTable>

!!!! Locale

The locale property identifies the location of user (useful for timezone conversions). An example is given below.
<property name = "locale" value = "Tucson"/>

!!!! Instant Input Format

The Instant Input Format property is used in the parsing of instant temporal literals. Below are listed some examples of temporal literals.

September 2000
September 23, 2000
<day>23</day> <other month="September" year="2000"/>
<date>
<month value = "Jan"/>
<day value = "1"/>
<year> 1970 </year>
</date>

The <format> element specifies the general structure of the literal, and idenfities "variable" parts of the literal. The variables are denoted with a $ prefixed, as in XQuery or Perl. The part of the literal matching the variable will be extracted into the variable and then further checked to ensure that it is a proper value by looking it up in a field value tables. Inputs can vary a lot. An attribute in the format stipulates whether an arbitrary amount of whitespace is accepted. Below is an example of a complete format property.

<property name="instant input format">
<value>
<format>$month $year</format>
<format whitespace="no">$month $day, $year</format>
<format> <day>$day</day>
<other month="$month" year="$year"/>
</format>

<fieldInfo variable="month" name="month of year"
using = "englishMonthNames"/>
<fieldInfo variable="day" name="day of month"
using="arabicNumeral"/>
<fieldInfo variable="year" name="year"
using="arabicNumeral"/>
</value>
</property>

The "whitespace" attribute in <format> is set to "no", so the format is not white-space friendly.

A temporal literal will be parsed using the structure in the <format>. If the structure matches, then the value of the variables (called a <field> will extracted and compared to the value in the corresponding field value table. A more complete discussion on the parsing and handling of format properties is given elsewhere.

!!!! Instant Output Format

This property has a similar format to the Instant Input Format. The one difference is there is no need to include a whitespace attribute. This is same with all other output format properties.

!!!! Interval Input Format

An interval is a duration of time. Example of interval literals are given below.

<other> <month> 5 </month> </other>
<other> <month value ="5" /> </other>
2 years
<property name = "interval input format">
<value>
<!-- this is the default format for inputs like last example above -->
<format> $year </format>
<format> $month months </format>
<format whitespace = "no">$month months</format>
<format> <other month = "$monthName"/> </format>

<fieldInfo variable="monthName" name="month" using="englishMonthNames"/>
<fieldInfo variable="month" name="month" using="arabicNumeral"/>
<fieldInfo variable="year" name="year" using="arabicNumeral"/>
</value>
</property>

!!!! Interval Output Format

The interval output format is similar to the interval input format (see above).

!!!! Now-Relative Instant Input Format

<property name = "now relative instant input format">
<value>
<format> $now $direction $interval </format>

<!-- refers to property now, name is the name of the property -->
<fieldInfo parseValue = "now" name = "now" url = "*.xml"/>


<!-- refers to property interval input format -->
<importFormat
parseValue = "interval"
name = "interval input format"
url = "*.xml"/>
<!-- direction might be either addition "+" or subtraction "-" -->
<fieldInfo
variable = "direction"
name = "directions"
using = "directionList"/>
</value>
</property>

!!!! Now-Relative Instant Output Format

Similar to the input format.

!!!! Period Input Format

Examples period temporal literals are listed below.

[ 1776 ]
[ July, 1776 )
[ Noon July 3, 1776, Noon July 4, 1970 )
<period> [ <other day = "1" month = "Jan" year = "1970"/> , <other> <day value ="2"/> <month value = "Jan"/> <year value= "1970"/> </other> ] </period>
A period format often consists of two instant formats.

<property name = "period input format">
<value>
<format whitespace = "no">
$leftClosed $instantStart, $instantEnd $rightClosed
</format>
<format>
<period> $leftOpen $instantStart, $instantEnd $rightClosed </period>
</format>

<importFormat
parseValue = "instantStart"
name = "instant input format"
url = "*.xml"/>
<importFormat
parseValue = "instantEnd"
name = "instant input format"
url = "*.xml"/>


<fieldInfo
variable = "leftClosed"
name = "instant period delimiter"
using = "periodDelimiterList"/>
<fieldInfo
variable = "leftOpen"
name = "instant period delimiter"
using = "periodDelimiterList"/>


<fieldInfo
variable = "rightClosed"
name = "instant period delimiter"
using = "periodDelimiterList"/>
</value>
</property>

By using <importFormat> we can specify the instant input format to parse the instants in a period. If the parsing includes indeterminate instants, then indeterminate periods are also handled.

!!!! Period Output Format

Similar to input.

!!!! Indeterminate Instant Input Format

An indeterminate format can include a "distribution". Examples of indeterminate literals are given below.

Jan, 1, 1970 ~ Jan, 2, 1970
<date> <month value = "Jan"/> <day value = "1"/> <year> 1970 </year> </date> ~ Jan, 2, 1970
Jan, 1, 1970 ~ Jan, 2, 1970 with uniform distribution
<property name = "indeterminate instant input format">
<value>

<format>
$lower ~ $upper
</format>


<format>
$lower ~ $upper with $distribution distribution
</format>


<importFormat
parseValue = "lower"
name = "instant input format"
url = "*.xml"/>


<importFormat
parseValue = "upper"
name = "instant input format"
url = "*.xml"/>
<!-- Distribution might be optional -->
<fieldInfo
variable = "distribution"
name = "distribution"
using = "distributionNames"/>
</value>
</property>

!!!! Indeterminate Instant Output Format

Similar to input.

!!!! Override Input Epoch

This property sets the input epoch.

<property name = "override input epoch" value = "gregorian"/>
Edit - History - Print - Recent Changes - Search
Page last modified on April 14, 2009, at 07:13 PM