key:==keyfield
<element>
<keyfield>
Cet élément permet de définir une clef permettant d'identifier un enregistrement de la table.
Une table doit posséder au moins une clef.
Par convention, les clefs sont déclarées après la déclaration de l'élément principal du schéma et à la suite des déclarations d'index.
Une clé est connue sous le nom de composite si elle comprend plusieurs champs (plusieurs <keyfield>
enfants, par exemple). N’utilisez pas de clé composite pour définir une clé primaire.
Si l'élément principal du schéma contient l'attribut "@autopk=true" alors la clef primaire est unique. Une seule clef primaire doit être déclarée par schéma.
Les 1000 premiers identifiants sont réservés donc si une plage de valeurs doit être définies pour les clefs, il faut la commencer après la valeur 1000.
Déclaration d'une clef composite autorisant un des deux champs la composant "@expr" ou "@alias" à être vide:
<key name="node" allowEmptyPart="true">
<keyfield xpath="@expr"/>
<keyfield xpath="@alias"/>
</key>
Déclaration d'une clef primaire sur le champ « Name » de type STRING dans <srcschema>
et la requête SQL correspondante :
<key name="PrimaryKey" internal="true">
<keyfield xpath="@name"/>
</key>
CREATE UNIQUE INDEX Schema_PrimaryKey ON Schema(sName);