Aussi bien que fournir des moyens fournisseur-indépendants de la création, recherchant, modifiant et supprimant XSets, les spécifications de SNIA XAM v1.0 définissent également un langage d'interrogation (XAM QL), basé sur un sous-ensemble de la langue de SQL, parce que de choisir et de rechercher le XUIDs de XSets basé sur des critères contenu-définis.
L'ensemble de mots réservés pour ce langage d'interrogation est tout à fait petit : choisissez, où, et, ou, pas, comme, existe, lier, inaltérable, typeof, longueur, date, VRAIS, FAUX, avant que, après, contienne, et en dedans. Par conception, les questions de XAM ressemblent à un rapport choisi de SQL. Le langage d'interrogation est ne distinguant pas majuscules et minuscules et emploie le jeu de caractères d'ASCII.
Voici un exemple d'une question simple de XAM : choisissez « .xset.xuid » où « com.example.name » = 'Tuckers Plantation
La version 1.0 des spécifications de XAM définit deux niveaux d'appui de langage d'interrogation, le niveau 1 c.-à-d. du niveau 1 et du niveau 2. définit des questions sur des propriétés et des attributs de champ dans XSets et est obligatoire. N'importe quelles valeurs d'une propriété de XSet qui sont accessibles à un programme d'application par l'intermédiaire de la bibliothèque de XAM peuvent être questionnées. Le niveau 2 prolonge le niveau 1 aux questions de soutien sur XStreams et est facultatif. Les deux niveaux de question sont accédés par un type simple et défini du travail que tous les fournisseurs de XAM doivent soutenir. Puisqu'aucun fournisseur que je me rends compte de n'a des questions du niveau réellement mis en application 2, le reste des foyers de ce poteau sur des questions du niveau 1.
Une instruction du langage de requêtes de XAM se compose d'une clause choisie obligatoire suivie d'un facultatif où clause. Pour XAM v1.0 la seule clause choisie valide est le `choisi .xset.xuid'. Ceci spécifie que l'application demande une liste de valeurs de XUID. Par exemple choisissez « .xset.xuid »
renverra une liste de chaque XSet qui est lisible à l'heure de la question.
Où la clause est employée pour spécifier un sous-ensemble de XSets à assortir. Pour des questions du niveau 1 elle est limitée aux comparaisons entre les propriétés de XSet et les valeurs et/ou les attributs de champ littéraux et les valeurs littérales. choisissez « .xset.xuid » où « .xam.time.xuid » > la date ('2009-02-01T00 : 00 : 00.0 ')
renverra la liste de tout le Xsets qui ont été créés dessus ou après le 1er février 2009.
Les expositions suivantes de table qui mettent en place et des types littéraux peuvent être bien comparés. xam_intxam_doublexam_stringxam_datetimexam_xuid international ** double ** datetime* XUID* de string* que la bibliothèque de XAM valide que les cordes et les libéraux de cordes sont les cordes UTF-8 de conformation. Les constantes de chaîne UTF-8 non conformes produisent d'une erreur de syntaxe non fatale de question de XAM. Les issues telles que simple contre les caractères multiples de glyph et les caractères non imprimables sont non spécifiées et