donne le nom d'une ou plusieurs structures de
traits "type", de laquelle ou desquelles il hérite des spécifications et des contraintes de traits. Si
ce type inclut une spécification de traits du même nom que l'une de celles spécifiées par
cet attribut, ou si plus d'une spécification du même nom est transmise par héritage,
l'ensemble des valeurs possibles est définie par unification. De même, l'ensemble des
contraintes applicables résulte de la combinaison de celles qui sont spécifiées
explicitement à l'intérieur de cet élément et de celles qui découlent de l'attribut
baseTypes. Quand aucun attribut baseTypes n'est précisé, aucune
spécification de traits ni contrainte n'est transmise par héritage.
L'héritage est défini ici comme une relation monotone.
La combinaison de contraintes peut générer une contradiction, par exemple si
deux spécifications données pour le même trait présentent des plages
disjointes de valeurs et qu'au moins une de ces spécifications est
obligatoire. Dans ce cas, il n'y a pas de représentant valide du type
défini.
<fsDecl type="SomeName"> <fsDescr>Describes what this type of fs represents</fsDescr> <fDecl name="featureOne"> <!-- The declaration for featureOne --> </fDecl> <fDecl name="featureTwo"> <!-- The declaration for featureTwo --> </fDecl> <fsConstraints> <!-- The feature structure constraints go here --> </fsConstraints> </fsDecl>