Date and Time NL Analyzer
Introduction
The Teneo Platform natively includes understanding and interpretation of date and time expressions in the below languages:
Date & Time | ||
---|---|---|
Chinese (Mandarin) | French | Norwegian (Nynorsk/Bokmål) |
Danish | German | Portuguese |
Dutch | Italian | Spanish |
English | Japanese | Swedish |
Date and time handling in the Teneo Platform consists of three parts:
- specific date and time Language Objects in the Teneo Lexical Resources (to understand date and time expressions)
- the DateTime Recognizer Input Processor in the European and Japanese input processing chain (to understand and annotate date and time expressions that aren't easily detected by Language Objects)
- a post-processing handler for interpreting the results of the date time input processor within the solution.
Language Objects
There are three main Language Objects for the date and time understanding.
Language object | Description | Variable | Examples |
---|---|---|---|
DT_DATE_TIME.REC | Matches a combination of data and time when present in an expression | datetime (map) | "18:30 on August 14", "Tomorrow at 5 o'clock", "Next Wednesday at noon" |
DT_DATE.REC | Matches on just the date part of an expression | date (map) | "14.08.2019", "Monday next week", "Five days from now" |
DT_TIME.REC | Matches on just the time part of an expression | time (map) | "13:40", "A quarter past eight", "At 5pm", "This morning", "From 5 to 6:30" |
The Language Objects are language specific and are delivered with the corresponding Teneo Lexical Resource.
Date formats
The DateTime Recognizer Input Processor is able to interpret dates in one of the three formats (e.g. for 30th June 2020):
Format identifier | Order | Examples | Default for |
---|---|---|---|
mdy | month, day, year | 06302020, 06.30.20, 6.30.2020 | English |
ymd | year, month, day | 20203006, 20.30.06, 2020.30.6 | Swedish |
dmy | day, month, year | 30062020, 30.06.20, 30.6.2020 | All other TLRs |
The defaults for each language are shown in the above table, however, it is easy for solutions to change the interpretation by copying the Language Object DT_CONFIG_YEAR_MONTH_DAY.SUPPORT
, available in the Teneo Lexical Resources, to the local solution and disabling the current interpretation by commenting out the syntax and activating the syntax part for the desired interpretation order.
Annotations
The DateTime Recognizer Input Processor recognizes and annotates various date and/or time expressions, these are then used by the Language Objects to support the Date & Time interpretation. These annotations are intended for internal use, however the information here may help to understand the annotation data which is shown in Try Out.
Language object | Description | Variables | Examples |
---|---|---|---|
DATE.DATETIME | Annotation for collated date expressions | dmy (map), mdy (map), ymd (map), all with keys (int) day_of_month , month and year | "140219", "14.02.19", "3.4.2018", "03.04.2018", "20180403" |
TIME.DATETIME | Annotation for collated time expressions | hour (int), minute (int), second (int), meridiem (string) | "15h30", "11pm", "30 sec" |
Named dates
Out-of-the-box, a number of named dates are supported, this list can be extended or modified by making a local copy of the Language Object DT_NAMED_DATE.SUPPORT
and adding the TLML syntax and desired value.
Usage
To make use of the date and time feature of Teneo, use one of the date/time/datetime Language Objects in a TLML Syntax and extract the matched date/time using a propagation script:
tlml
1%DT_DATE_TIME.PHR^{ myDateTime = datetime.Handler.interpret(lob.datetime) }
2
Within the above propagation script the NLU variable is passed into the interpret
method on the date time handler in order to convert it into a readily interpretable map.
Date map
Key | Value type | Notes |
---|---|---|
type | String "point" or "range" | |
start | List<LocalDate> | |
end | List<LocalDate> | Populated only when type == range |
Time map
Key | Value type | Notes |
---|---|---|
type | String "point" or "range" | |
start | List<LocalTime> | |
end | List<LocalTime> | Populated only when type == range |
Example Time Range
When a range is mentioned, type == range
and both a start and an end date/time is returned, i.e.
from 17:00 until 18:00 tomorrow
tlml
1%DT_DATE_TIME.PHR^{ myDateTime = datetime.Handler.interpret(lob.datetime) }
2
groovy
1myDateTime = {
2 date = {
3 start = [2019-11-05],
4 type = point
5 },
6 time = {
7 start = [17:00],
8 end = [18:00],
9 type = range
10 }
11}
12
Example Ambiguous Time
Start and end date/time are lists and can return 2 values when the input is ambiguous, i.e.
tomorrow at 5
tlml
1%DT_DATE_TIME.PHR^{ myDateTime = datetime.Handler.interpret(lob.datetime) }
2
groovy
1myDateTime = {
2 date = {
3 start = [2019-11-05],
4 type = point
5 },
6 time = {
7 start = [05:00, 17:00],
8 type = point
9 }
10}
11
Example Interpretation Direction
For some expressions like 'on Monday' or 'in June' the interpretation depends on the context and can denote a date in the past or in the future. By default, the interpretation direction is set to 'forward', but can be changed to 'back', by adding an argument to the DateTime interpreter call:
java
1dateTime = datetime.Handler.interpret(lob.datetime, "back")
2
In June (input given on 6th December 2019)
Forward (default)
tlml
1%DT_DATE_TIME.PHR^{ myDateTime = datetime.Handler.interpret(lob.datetime) }
2
groovy
1myDateTime = {
2 date = {
3 start = [2020-06-01],
4 end = [2020-06-30],
5 type = range
6 },
7 time = {
8 start = [00:00],
9 type = point
10 }
11}
12
i.e. June 2020
Backward
tlml
1%DT_DATE_TIME.PHR^{ myDateTime = datetime.Handler.interpret(lob.datetime, "back") }
2
groovy
1myDateTime = {
2 date = {
3 start = [2019-06-01],
4 end = [2019-06-30],
5 type = range
6 },
7 time = {
8 start = [00:00],
9 type = point
10 }
11}
12
i.e. June 2019
Migration
For users of the previous standalone DateTime handler, there are a number of migration steps to act upon when starting to use the native Date & Time feature of Teneo 6:
- Removal of the global date&time pre-listener
- It is no longer needed as recognition of collated date and time expressions now is handled by the DateTime Recognizer Input Processor
- Removal of the DateTimeHandler jar file from Resources > File in the solution
- Interpretation of date and time expressions is now supported natively within the Engine at runtime
- Unassigning the DateTime Handler lexical resource form the solution
- For the release Date and time Language Objects will be delivered with the Teneo Lexical Resources
- For this Feature Dev Build Rudolph a separate
.library
file will be needed
- Renaming of Language Objects.
- Date and time Language Objects for all languages now have the language neutral DT_ prefix and the REC suffix
- In all languages the three main Language Objects to understand date and/or time expressions in TLML Syntaxes are renamed to:
DT_DATE_TIME.REC
,DT_DATE.REC
andDT_TIME.REC
- Old names for these Language Objects are however still supported via the Language Object aliases
- All other Language Objects are renamed with the new DT_ language neutral prefix, and the newly introduced SUPPORT suffix
- No backwards compatibility is available for these Language Objects as they are not intended to be used directly
- If they are already used in a solution - and this cannot be changed - then they must be renamed accordingly, please refer to the Datetime Language Object name map
- Please note the annotation names are changed to
DATE.DATETIME
andTIME.DATETIME
. For the time annotation, the variablesday_of_month
,month
andyear
are now integers not strings. Please note that the language specific configurations are moved into the TLRs (and aren't included in the new input processor). The DateTime Recognizer now adds (up to) three different map variables for theDATE.DATETIME
annotation as explained further above in the Annotation section.
Deprecated methods
The following static methods are removed from the datetime.Handler
and can no longer be called from solution scripting:
java
1addNamedDate()
2getNamedDates()
3addNamedTime(...)
4getNamedTime()
5pastOnly(...)
6futureOnly()
7
Named Dates Configuration
As named dates are now configurable within a solution by modifying the DT_NAMED_DATE.SUPPORT
Language Object, the named dates christmas_eve
, new_years
, new_years_eve
, christmas_day
and boxing_day
have now been removed from the Java code.
Appendix - DateTime Language Object name map
- Date and time Language Objects for all languages now have the language neutral DT_ prefix and the REC suffix
- In all languages the three main Language Objects to understand date and/or time expressions in TLML Syntaxes are renamed to:
DT_DATE_TIME.REC, DT_DATE.REC
andDT_TIME.REC
- Old names for these Language Objects are however still supported via the Language Object aliases
- All other Language Objects are renamed with the new DT_ language neutral prefix, and the newly introduced SUPPORT suffix
- No backwards compatibility is available for these Language Objects as they are not intended to be used directly
Category | Folder | New name | Original name | Comment |
---|---|---|---|---|
Prefix | DT_ | DTNL_ DTDE_ DTFR_ DTIT_ DTNO_ DTSV_ | All language objects in all supported languages are renamed with the DT_ language neutral suffix | |
DT_DATE.REC | DT_DATE.PHR | Exposed to users, keeping their original name as Alias | ||
DT_TIME.REC | DT_TIME.PHR | Exposed to users, keeping their original name as Alias | ||
DT_DATE_TIME.REC | DT_DATE_TIME.PHR | Exposed to users, keeping their original name as Alias | ||
Date | Compound | DT_DAY_MONTH.SUPPORT | DT_DAY_AND_MONTH.DATE | |
Date | Compound | DT_DAY_MONTH_YEAR.SUPPORT | DT_DAY_MONTH_YEAR.DATE | |
Date | Compound | DT_DAY_OF_MONTH.SUPPORT | DT_DAY_OF_MONTH.DATE | |
Date | Compound | DT_MONTH_YEAR.SUPPORT | DT_MONTH_AND_YEAR.DATE | |
Date | Compound | DT_SEASON_YEAR.SUPPORT | DT_SEASON_YEAR.DATE | |
Date | Compound | DT_THIS_NEXT_PREVIOUS_DATE.SUPPORT | DT_THISNEXTPREVIOUS_DATEUNIT.DATE | |
Date | Compound | DT_WEEKDAY_DAY_MONTH_YEAR.SUPPORT | DT_WEEKDAY_DAY_MONTH_YEAR.DATE | |
Date | Compound | DT_WEEKDAY_DAY_OF_MONTH.SUPPORT | DT_WEEKDAY_DAY_OF_MONTH.DATE | |
Date | Date expression phrases | DT_AFTER_DATE.SUPPORT | DT_AFTER_DATE.PHR | |
Date | Date expression phrases | DT_AROUND_DATE_DURATION.SUPPORT | DT_AROUND_DURATION.PHR | |
Date | Date expression phrases | DT_BEFORE_OFFSET_DATE.SUPPORT | DT_BEFORE_OFFSET.PHR | |
Date | Date expression phrases | DT_BETWEEN_DATE1_DATE2.SUPPORT | DT_BETWEEN_DATE1_DATE2.PHR | |
Date | Date expression phrases | DT_DATE_RANGE.SUPPORT | DT_RANGE.PHR | |
Date | Date expression phrases | DT_DURATION_DURING_DATE.SUPPORT | DT_DURATION_DURING_DATE.PHR | |
Date | Date expression phrases | DT_DATE_DURING_DATE_DURATION.SUPPORT | DT_DURING_DURATION.PHR | |
Date | Date expression phrases | DT_FIRST_LAST_DATE.SUPPORT | DT_FIRSTLAST_DATEUNIT.PHR | |
Date | Date expression phrases | DT_IN_OFFSET_DATE.SUPPORT | DT_IN_OFFSET.PHR | |
Date | Date expression phrases | DT_OFFSET_DATE_AFTER_DATE.SUPPORT | DT_OFFSET_AFTER_DATE.PHR | |
Date | Date expression phrases | DT_OFFSET_DATE_AGO.SUPPORT | DT_OFFSET_AGO.PHR | |
Date | Date expression phrases | DT_DATE_OFFSET_DATE_AGO.SUPPORT | DT_OFFSET_AGO_DATE.PHR | |
Date | Date expression phrases | DT_OFFSET_DATE_AROUND_DATE.SUPPORT | DT_OFFSET_AROUND_DATE.PHR | |
Date | Date expression phrases | DT_OFFSET_DATE_BEFORE_DATE.SUPPORT | DT_OFFSET_BEFORE_DATE.PHR | |
Date | Date expression phrases | DT_OFFSET_DATE.SUPPORT | DT_OFFSET.PHR | |
Date | Date expression phrases | DT_THIS_NEXT_PREVIOUS_DATE_DURATION .SUPPORT | DT_PREVIOUSNEXT_DATE_DURATION.PHR | |
Date | Date expression phrases | DT_THIS_NEXT_PREVIOUS_NAMED_DATE .SUPPORT | DT_THISNEXTPREVIOUS_NAMED.PHR | |
Date | Date expression phrases | DT_UNTIL_DATE.SUPPORT | DT_UNTIL_DATE.PHR | |
Date | Named Date | DT_NAMED_DATE.SUPPORT | DT_NAMED.LIST | |
Date | Numerical | DT_DAY_OF_MONTH_DIGITS.SUPPORT | DT_DAY_OF_MONTH.DATE.DIGITS | |
Date | Numerical | DT_MONTH_DIGITS.SUPPORT | DT_MONTH.DATE.DIGITS | |
Date | Numerical | DT_YEAR_FULL.SUPPORT | DT_YEAR.DATE.DIGITS | |
Date | Numerical | DT_YEAR_SHORT.SUPPORT | DT_YEAR.SHORT.DATE.DIGITS | |
Date | Text | DT_MONTH_FULL_TEXT.SUPPORT | DT_MONTHS_FULL.TEXT | |
Date | Text | DT_MONTH_SHORT_TEXT.SUPPORT | DT_MONTHS_SHORT.TEXT | |
Date | Text | DT_MONTH_TEXT.SUPPORT | DT_MONTHS.TEXT | |
Date | Text | DT_NAMED_RELATIVE_DATE.SUPPORT | DT_NAMED_RELATIVE.DATE | |
Date | Text | DT_QUARTER.SUPPORT | DT_QUARTER.DATE | |
Date | Text | DT_SEASON.SUPPORT | DT_SEASON.DATE | |
Date | Text | DT_WEEK.SUPPORT | DT_WEEK.DATE | |
Date | Text | DT_WEEKDAY_FULL_TEXT.SUPPORT | DT_WEEKDAYS_FULL.TEXT | |
Date | Text | DT_WEEKDAY_SHORT_TEXT.SUPPORT | DT_WEEKDAYS_SHORT.TEXT | |
Date | Text | DT_WEEKDAY_TEXT.SUPPORT | DT_WEEKDAYS.TEXT | |
Time | Basic Time | DT_AMPM.SUPPORT | DT_AMPM.SYN | |
Time | Basic Time | DT_NAMED_TIME.SUPPORT | DT_NAMED_TIME.TIME | |
Time | Basic Time | DT_TIME_OF_DAY.SUPPORT | DT_TIME_OF_DAY.TEXT | |
Time | Compound Time | DT_HRS.SUPPORT | DT_HRS.TIME | |
Time | Compound Time | DT_HRS_MIN.SUPPORT | DT_HRS_MIN.TIME | |
Time | Compound Time | DT_HRS_MIN_SEC.SUPPORT | DT_HRS_MIN_SEC.TIME | |
Time | Compound Time | DT_THIS_NEXT_PREVIOUS_TIME.SUPPORT | DT_THISNEXTPREVIOUS_TIMEUNIT.TIME | |
Time | Time Expressions phrases | DT_ABS_TIME.SUPPORT | DT_ABS_TIME.PHR | |
Time | Time Expressions phrases | DT_AFTER_TIME.SUPPORT | DT_AFTER_TIME.PHR | |
Time | Time Expressions phrases | DT_BEFORE_TIME.SUPPORT | DT_BEFORE_TIME.PHR | |
Time | Time Expressions phrases | DT_BETWEEN_TIME1_TIME2.SUPPORT | DT_BETWEEN_TIME1_TIME2.PHR | |
Time | Time Expressions phrases | DT_PREVIOUS_NEXT_TIME_DURATION.SUPPORT | DT_PREVIOUSNEXT_DURATION.PHR | |
Time | Time Expressions phrases | DT_OFFSET_TIME.SUPPORT | DT_TIME_OFFSET.PHR | |
Time | Time Expressions phrases | DT_OFFSET_TIME_FROM_NOW.SUPPORT | DT_TIME_OFFSET_AFTER_DATE.PHR | |
Time | Time Expressions phrases | DT_OFFSET_TIME_AGO.SUPPORT | DT_TIME_OFFSET_AGO.PHR | |
Time | Time Expressions phrases | DT_IN_OFFSET_TIME.SUPPORT | DT_TIME_OFFSET_IN.PHR | |
Time | Time Expressions phrases | DT_OFFSET_TIME_PAST_TIME.SUPPORT | DT_TIME_OFFSET_PAST_TIME.PHR | |
Time | Time Expressions phrases | DT_OFFSET_TIME_TO_TIME.SUPPORT | DT_TIME_OFFSET_TO_TIME.PHR | |
Time | Time Expressions phrases | DT_UNTIL_TIME.SUPPORT | DT_UNTIL_TIME.PHR | |
Both | Function words | DT_A_FEW_COUPLE.SUPPORT | DT_AFEWCOUPLE | |
Both | Function words | DT_FILLER.SUPPORT | DT_FILLER | |
Both | Function words | DT_FIRST_LAST.SUPPORT | DT_FIRSTLAST | |
Both | Function words | DT_PREP.SUPPORT | DT_PREP | |
Both | Function words | DT_THE_A.SUPPORT | DT_THE_A | |
Both | Function words | DT_THIS_NEXT_PREVIOUS.SUPPORT | DT_THISNEXTPREVIOUS | |
Both | Function words | DT_TO_UNTIL_THRU.SUPPORT | DT_TOUNTILTHRU | |
Both | Numbers 0-99 cardinals | DT_0_24.SUPPORT | DT_0_24 | |
Both | Numbers 0-99 cardinals | DT_0_59.SUPPORT | DT_0_59 | |
Both | Numbers 0-99 cardinals | DT_0_99.SUPPORT | DT_0_99 | |
Both | Numbers 0-99 cardinals | DT_1_4.SUPPORT | DT_1_4 | |
Both | Numbers 0-99 cardinals | DT_1_12.SUPPORT | DT_1_12 | |
Both | Numbers 0-99 cardinals | DT_1_31.SUPPORT | DT_1_31 | |
Both | Numbers 0-99 cardinals | DT_1_53.SUPPORT | DT_1_53 | |
Both | Numbers 0-99 digits | DT_DIGITS_0.SUPPORT | DT_0.DIGITS | |
Both | Numbers 0-99 digits | DT_DIGITS_0_24.SUPPORT | DT_0_24.DIGITS | |
Both | Numbers 0-99 digits | DT_DIGITS_0_59_AMPM.SUPPORT | DT_0_59.AMPM.DIGITS | |
Both | Numbers 0-99 digits | DT_DIGITS_0_59.SUPPORT | DT_0_59.DIGITS | |
Both | Numbers 0-99 digits | DT_DIGITS_0_59_H_MIN_SEC.SUPPORT | DT_0_59.H_MIN_SEC.DIGITS | |
Both | Numbers 0-99 digits | DT_DIGITS_0_99.SUPPORT | DT_0_99.DIGITS | |
Both | Numbers 0-99 digits | DT_DIGITS_1_4.SUPPORT | DT_1_4.DIGITS | |
Both | Numbers 0-99 digits | DT_DIGITS_1_9.SUPPORT | DT_1_9.DIGITS | |
Both | Numbers 0-99 digits | DT_DIGITS_1_12_AMPM.SUPPORT | DT_1_12.AMPM.DIGITS | |
Both | Numbers 0-99 digits | DT_DIGITS_1_12.SUPPORT | DT_1_12.DIGITS | |
Both | Numbers 0-99 digits | DT_DIGITS_1_31.SUPPORT | DT_1_31.DIGITS | |
Both | Numbers 0-99 digits | DT_DIGITS_1_53.SUPPORT | DT_1_53.DIGITS | |
Both | Numbers 0-99 digits | DT_WORDS_1_53.SUPPORT | DT_1_53.WORDS | |
Both | Numbers 0-99 digits | DT_DIGITS_1_59.SUPPORT | DT_1_59.DIGITS | |
Both | Numbers 0-99 digits | DT_WORDS_1_59.SUPPORT | DT_1_59.WORDS | |
Both | Numbers 0-99 digits W1 | DT_DIGITS_0_W1.SUPPORT | DT_0.DIGITS_W1 | All W1 and W2 language objects are removed and their TLML Syntax is moved up to the corresponding DIGITS_ LOBs |
Both | Numbers 0-99 digits W1 | DT_DIGITS_0_9_W1.SUPPORT | DT_0_9.DIGITS_W1 | not used |
Both | Numbers 0-99 digits W1 | DT_DIGITS_0_24_W1.SUPPORT | DT_0_24.DIGITS_W1 | |
Both | Numbers 0-99 digits W1 | DT_DIGITS_0_59.AMPM_W1.SUPPORT | DT_0_59.AMPM.DIGITS_W1 | |
Both | Numbers 0-99 digits W1 | DT_DIGITS_0_59_W1.SUPPORT | DT_0_59.DIGITS_W1 | |
Both | Numbers 0-99 digits W1 | DT_DIGITS_0_59.H_MIN_SEC.W1.SUPPORT | DT_0_59.H_MIN_SEC.DIGITS_W1 | |
Both | Numbers 0-99 digits W1 | DT_0_99.DIGITS_W1.SUPPORT | DT_0_99.DIGITS_W1 | |
Both | Numbers 0-99 digits W1 | DT_1_4.DIGITS_W1.SUPPORT | DT_1_4.DIGITS_W1 | |
Both | Numbers 0-99 digits W1 | DT_1_9.DIGITS_W1.SUPPORT | DT_1_9.DIGITS_W1 | |
Both | Numbers 0-99 digits W1 | DT_1_12.AMPM.DIGITS_W1.SUPPORT | DT_1_12.AMPM.DIGITS_W1 | |
Both | Numbers 0-99 digits W1 | DT_1_12.DIGITS_W1.SUPPORT | DT_1_12.DIGITS_W1 | |
Both | Numbers 0-99 digits W1 | DT_1_31.DIGITS_W1.SUPPORT | DT_1_31.DIGITS_W1 | |
Both | Numbers 0-99 digits W1 | DT_1_53.DIGITS_W1.SUPPORT | DT_1_53.DIGITS_W1 | |
Both | Numbers 0-99 digits W1 | DT_1_59.DIGITS_W1.SUPPORT | DT_1_59.DIGITS_W1 | |
Both | Numbers 0-99 digits W2 | DT_0.DIGITS_W2.SUPPORT | DT_0.DIGITS_W2 | |
Both | Numbers 0-99 digits W2 | DT_0_9.DIGITS_W2.SUPPORT | DT_0_9.DIGITS_W2 | not used |
Both | Numbers 0-99 digits W2 | DT_0_24.DIGITS_W2.SUPPORT | DT_0_24.DIGITS_W2 | |
Both | Numbers 0-99 digits W2 | DT_0_59.AMPM.DIGITS_W2.SUPPORT | DT_0_59.AMPM.DIGITS_W2 | |
Both | Numbers 0-99 digits W2 | DT_0_59.DIGITS_W2.SUPPORT | DT_0_59.DIGITS_W2 | |
Both | Numbers 0-99 digits W2 | DT_0_59.H_MIN_SEC.DIGITS_W2.SUPPORT | DT_0_59.H_MIN_SEC.DIGITS_W2 | |
Both | Numbers 0-99 digits W2 | DT_0_99.DIGITS_W2.SUPPORT | DT_0_99.DIGITS_W2 | |
Both | Numbers 0-99 digits W2 | DT_1_4.DIGITS_W2.SUPPORT | DT_1_4.DIGITS_W2 | |
Both | Numbers 0-99 digits W2 | DT_1_9.DIGITS_W2.SUPPORT | DT_1_9.DIGITS_W2 | |
Both | Numbers 0-99 digits W2 | DT_1_12.AMPM.DIGITS_W2.SUPPORT | DT_1_12.AMPM.DIGITS_W2 | |
Both | Numbers 0-99 digits W2 | DT_1_12.DIGITS_W2.SUPPORT | DT_1_12.DIGITS_W2 | |
Both | Numbers 0-99 digits W2 | DT_1_31.DIGITS_W2.SUPPORT | DT_1_31.DIGITS_W2 | |
Both | Numbers 0-99 digits W2 | DT_1_59.DIGITS_W2.SUPPORT | DT_1_59.DIGITS_W2 | |
Both | Numbers 0-99 digits W2 | DT_1_99.DIGITS_W2.SUPPORT | DT_1_99.DIGITS_W2 | |
Both | Numbers 0-99 digits W2 | DT_HOUR_H_MIN.DIGITS_W2.SUPPORT | DT_HOUR_H_MIN.DIGITS_W2 | |
Both | Numbers 0-99 Ordinals | DT_ORDINAL_0.SUPPORT | DT_0.ORDINAL | |
Both | Numbers 0-99 Ordinals | DT_ORDINAL_0_9.SUPPORT | DT_0_9.ORDINAL | not used |
Both | Numbers 0-99 Ordinals | DT_ORDINAL_0_59.SUPPORT | DT_0_59.ORDINAL | |
Both | Numbers 0-99 Ordinals | DT_ORDINAL_0_99.SUPPORT | DT_0_99.ORDINAL | not used |
Both | Numbers 0-99 Ordinals | DT_ORDINAL_1_4.SUPPORT | DT_1_4.ORDINAL | |
Both | Numbers 0-99 Ordinals | DT_ORDINAL_1_9.SUPPORT | DT_1_9.ORDINAL | |
Both | Numbers 0-99 Ordinals | DT_ORDINAL_1_12.SUPPORT | DT_1_12.ORDINAL | |
Both | Numbers 0-99 Ordinals | DT_ORDINAL_1_31.SUPPORT | DT_1_31.ORDINAL | |
Both | Numbers 0-99 Ordinals | DT_ORDINAL_1_59.SUPPORT | DT_1_59.ORDINAL | |
Both | Numbers 0-99 Ordinals | DT_ORDINAL_100_X.SUPPORT | DT_100_X.ORDINAL | not used |
Both | Numbers 0-99 Words | DT_WORDS_0.SUPPORT | DT_0.WORDS | |
Both | Numbers 0-99 Words | DT_WORDS_0_9.SUPPORT | DT_0_9.WORDS | |
Both | Numbers 0-99 Words | DT_WORDS_0_24.SUPPORT | DT_0_24.WORDS | |
Both | Numbers 0-99 Words | DT_WORDS_0_59.SUPPORT | DT_0_59.WORDS | |
Both | Numbers 0-99 Words | DT_WORDS_0_99.SUPPORT | DT_0_99.WORDS | |
Both | Numbers 0-99 Words | DT_WORDS_1_4.SUPPORT | DT_1_4.WORDS | |
Both | Numbers 0-99 Words | DT_WORDS_1_9.SUPPORT | DT_1_9.WORDS | |
Both | Numbers 0-99 Words | DT_WORDS_1_12.SUPPORT | DT_1_12.WORDS | |
Both | Numbers 0-99 Words | DT_WORDS_1_31.SUPPORT | DT_1_31.WORDS |