Anatomy of a query

A query is a filter that, when applied by Xoom during retrieval, specifies the items that should be retrieved. Queries are defined in XoomCustom.xml, an XML file typically located here: C:\Program Files (x86)\Zany Ants\Xoom .

A query works as a template that is laid over XoomXML. Any items that match the conditions defined by the query, will be selected for retrieval. The structure of the query must therefore match the structure of XoomXML.

Here is an example query, the Dictionaries query, as it appears in XoomCustom.xml.


The Dictionaries query as it appears in XoomCustom.xml

The <xpi:query> element (highlighted in red) defines the query, and corresponds with the root element of the XoomXML. The attribute name="" is required, and assigns the query its name, in this case Dictionaries.

Thereafter, each term of the query specifies a determining node, which will be interpreteted by Xoom as an XPath expression during retrieval. Any item in configuration fulfilling that XPath expression will be retrieved. In many cases the type is a sufficient determining node, as in the screenshot above. Here, for example, all items below the type level of <Region> or <Skill> (highlighted in yellow) will be retrieved. In other cases, the determining node will be below the item level. For example, in the following extract of a custom query called BGOs, the determining node is located beneath the item level: <Category>Background Optimization</Category> . In this instance, Xoom will create an XPath that retrieve the item to which the determining node belongs.
<xpi:query name="BGOs">
    <Setting>
    <Setting>
      <Category>Background Optimization</Category>
    </Setting>
  </Setting>
</xpi:query>