Así como el abastecimiento de medios de la vendedor-independiente de crear, recuperando, modificando y suprimiendo XSets, la especificación de SNIA XAM v1.0 también define un lenguaje de interrogación (XAM QL), basado en un subconjunto de la lengua del SQL, porque de seleccionar y de recuperar el XUIDs de XSets basado en criterios contenido-definidos.
El sistema de las palabras reservadas para este lenguaje de interrogación es absolutamente pequeño: seleccione, donde, y, o, no, como, existe, el atar, inalterable, typeof, longitud, fecha, VERDADES, FALSOS, antes de que, después de, contenga, y dentro. Por diseño, las preguntas de XAM parecen una declaración selecta del SQL. El lenguaje de interrogación es sin diferenciación entre mayúsculas y minúsculas y utiliza el juego de caracteres de ASCII.
Aquí está un ejemplo de una pregunta simple de XAM: seleccione “.xset.xuid” donde “com.example.name” = 'Tuckers Plantation
La versión 1.0 de la especificación de XAM define dos niveles de ayuda del lenguaje de interrogación, el nivel 1 es decir del nivel 1 y del nivel 2. define preguntas en características y cualidades de campo en XSets y es obligatorio. Cualquier valor de una propiedad de XSet que sea accesible a un programa de aplicación vía la biblioteca de XAM puede ser preguntado. El nivel 2 prolonga el nivel 1 a las preguntas de la ayuda en XStreams y es opcional. Ambos niveles de pregunta están alcanzados a través de un tipo solo, definido del trabajo que todos los abastecedores de XAM deban apoyar. Puesto que ninguÌn vendedor que soy consciente de tiene preguntas del nivel realmente ejecutado 2, el resto de los focos de este poste en preguntas del nivel 1.
Una instrucción del lenguaje de interrogación de XAM consiste en una cláusula selecta obligatoria seguida por un opcional donde cláusula. Para XAM v1.0 la única cláusula selecta válida es el `selecto .xset.xuid'. Esto especifica que el uso está pidiendo una lista de valores de XUID. Por ejemplo seleccione “.xset.xuid”
devolverá una lista de cada XSet que sea legible a la hora de la pregunta.
Donde la cláusula se utiliza para especificar un subconjunto de XSets que se emparejará. Para las preguntas del nivel 1 se restringe a las comparaciones entre las características de XSet y los valores y/o las cualidades de campo literales y los valores literales. seleccione “.xset.xuid” donde “.xam.time.xuid” > la fecha ('2009-02-01T00: 00: 00.0 ')
devolverá la lista de todo el Xsets que fueron creadas encendido o después del 1 de febrero de 2009.
Las demostraciones siguientes de la tabla que colocan y los tipos literales pueden ser comparados válido. xam_intxam_doublexam_stringxam_datetimexam_xuid internacional ** doble ** datetime* XUID* del string* que la biblioteca de XAM valida que las secuencias y los liberales de las secuencias son las secuencias de conformación UTF-8. Los literales de cadena no conformes UTF-8 generan un error de sintaxis no fatal de la pregunta de XAM. Las ediciones tales como solo contra caracteres múltiples del glyph y caracteres no imprimibles están sin especificar y