IndexTerm = ( Primary, ( ( Secondary, ( ( Tertiary, ( See | SeeAlso+ )? ) | See | SeeAlso+ )? ) | See | SeeAlso+ )? ) |
Éléments : IndexTerm, Primary, Secondary, Tertiary, See, SeeAlso. Attributs : Scope, Significance, Class, StartRef, Zone, SortAs.
L'élément IndexTerm permet de définir un terme d'index.
L'élément IndexTerm est constitué :
d'un terme principal (Primary), obligatoire,
de l'un des éléments suivants, de manière facultative :
une entrée secondaire,
un élément de type Voir (See),
un ou plusieurs éléments de type Voir Aussi (SeeAlso).
Une entrée secondaire est constituée :
d'un terme secondaire (Secondary),
de l'un des éléments suivants, de manière facultative :
une entrée tertiaire,
un élément de type Voir (See),
un ou plusieurs éléments de type Voir Aussi (SeeAlso).
Une entrée tertiaire est constituée :
d'un terme tertiaire (Tertiary),
de l'un des éléments suivants, de manière facultative :
une entrée de type Voir (See),
une entrée de type Voir aussi (SeeAlso).
L'attribut Scope de l'élément IndexTerm indique dans quels index générés automatiquement doit apparaître le terme. Il peut prendre une des valeurs suivantes :
le terme apparaît dans l'index général pour la collection de documents,
le terme apparaît dans l'index du document,
le terme apparaît dans les deux index général et du document.
L'attribut Significance de l'élément IndexTerm indique si ce terme est le plus pertinent de la série. Dans un index, le numéro de page relatif au terme le plus pertinent apparaîtra généralement en caractère gras pour le différencier des autres. Cet attribut peut prendre la valeur Preferred pour indiquer le terme le plus pertinent ou Normal autrement.
Les attributs Class, StartRef et Zone permettent de définir la position dans le document du terme à indexer. En effet, un élément IndexTerm peut indiquer soit une position ponctuelle, soit une étendue de texte.
Pour que le terme d'index indique une position ponctuelle, on utilisera l'attribut Class avec la valeur Singular et on n'utilisera pas les attributs StartRef ni Zone. La valeur par défaut de Class étant Singular, il n'est pas obligatoire d'utiliser l'attribut Class. Dans ce cas, le terme d'index indiquera le point où il apparaît.
Un terme d'index permet d'indiquer une étendue de texte de deux manières différentes :
la première méthode permet de regrouper tous les termes d'index, par exemple dans un ensemble de termes d'index d'un élément de métainformations (ITermSet), mais permet de couvrir seulement des régions équilibrées en éléments.
Pour indiquer une ou plusieurs régions de cette manière, on utilisera l'attribut Zone qui contiendra un ou plusieurs identifiants (ID) d'éléments. Les régions pointées par le terme d'index seront alors les régions occupées par les éléments pointés par l'attribut Zone.
la seconde méthode nécessite d'insérer deux éléments IndexTerm, un à chaque extrémité de l'étendue de texte. Cette méthode permet alors de définir des étendues non équilibrées en éléments.
Pour indiquer le début d'une région, on placera en début d'étendue un élément IndexTerm avec la valeur StartOfRange pour l'attribut Class et on lui donnera un identifiant grâce à l'attribut ID.
En fin d'étendue, on placera un élément IndexTerm avec pour valeur de l'attribut StartRef l'identifiant de l'élément IndexTerm placé en début d'étendue. On pourra donner à l'attribut Class la valeur EndOfRange, bien que ce soit la valeur par défaut lorsque l'attribut StartRef est présent.
L'attribut SortAs peut être utilisé avec les éléments Primary, Secondary et Tertiary pour classer le terme autrement que par son propre nom. Dans ce cas, le terme sera classé grâce à la valeur de l'attribut SortAs.