specifies that the TAN file contains definitions for the parts of speech for a language, the codes for those parts, and the rules for combining them. Root element.
TAN-R-mor body consists of zero or more assert, report, category, or options
TAN-R-mor files declare the morphological features that are allowed for a given language
names, through its IRI + name pattern, a grammatical feature or concept (e.g., plural, subjunctive, 1st person) that is part of a language. In the context of <feature> a @code is always included. The first <feature> of a <category> never has @code, and refers to the grammatical feature that characterizes the category.
See main.xml# keywords-feature for a list of standard features, derived from OLiA.
groups a set of features that share a common grammatical trait such as gender, number, etc.
contains a string that serves as an identifier for <feature>.
hyphen reserved for "not applicable"; spaces and (),| reserved for @feature-test expressions
[^\-\+\s]|[^\+\s]+
encloses asserts and reports that should be evaluated provided that the conditions specified in the attributes (or children <where> attributes) are true.
names a pattern that, if found to be false in any <m> in a dependent TAN-A-lm file, will return the enclosed message upon validation of the dependent file, along with an error or warning. Modeled on Schematron <report>.
names a pattern that, if found to be true in any <m> in a dependent TAN-A-lm file, will return the enclosed message upon validation of the dependent file, along with an error or warning. Modeled on Schematron <report>.
Test pattern attributes for determining whether to return the message provided by text.
takes a regular expression. If an <m> matches the pattern, then the condition will be true.
One of four tests for determining the truth value that will trigger the message in a <report> or <assert>
takes a regular expression. When validating a given <m>, a test will be made against each companion <tok> (i.e., those <tok>s that have the same ancestral <ana>). The condition will be treated as true only if there is a match with the resolved value of every such <tok>, and false if there is any nonmatch.
One of four tests for determining the truth value that will trigger the message in a <report> or <assert>
specifies one or more features separated by spaces or the padded + (a plus sign with surrounding spaces). A plain space is treated as meaning "or" and the padded + as meaning "and." If there is at least one match between the list and the value of the codes in an <m> then the condition will be treated as true. The padded plus sign specifies that all the items need to be found in the <m>.
For example, feature-test="A B + C D + E" means that the condition will be true for a given <m> only if that <m> has A or B and C or D and E present as values. This test is one of four tests for determining the truth value that will trigger the message in a <report> or <assert>
[^\s\+]+(\s(\+\s)?[^\s\+]+)*
specifies a range or sequence of integers (e.g., 2-4). If the quantity of features in an <m> matches a number from that sequence, the condition is true, and false otherwise. If the keyword 'last' or 'max' is used, the number of features will be substituted.
This test is useful for non-category based languages to put a limit on the number of features that can be declared in an <m>. It is one of four tests for determining the truth value that will determine whether a <report> or <assert> will be acted upon.