+ <sect3 id="querymodel-idxpath-use">
+ <title>IDXPATH Use Attributes (type = 1)</title>
+ <para>
+ This attribute set allows one to search GRS filter indexed
+ records by XPATH like structured index names.
+ </para>
+
+ <warning>
+ <para>
+ The <literal>idxpath</literal> option defines hard-coded
+ index names, which might clash with your own index names.
+ </para>
+ </warning>
+
+ <table id="querymodel-idxpath-use-table" frame="top">
+ <title>Zebra specific IDXPATH Use Attributes (type 1)</title>
+ <tgroup cols="4">
+ <thead>
+ <row>
+ <entry>IDXPATH</entry>
+ <entry>Value</entry>
+ <entry>String Index</entry>
+ <entry>Notes</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>XPATH Begin</entry>
+ <entry>1</entry>
+ <entry>_XPATH_BEGIN</entry>
+ <entry>deprecated</entry>
+ </row>
+ <row>
+ <entry>XPATH End</entry>
+ <entry>2</entry>
+ <entry>_XPATH_END</entry>
+ <entry>deprecated</entry>
+ </row>
+ <row>
+ <entry>XPATH CData</entry>
+ <entry>1016</entry>
+ <entry>_XPATH_CDATA</entry>
+ <entry>deprecated</entry>
+ </row>
+ <row>
+ <entry>XPATH Attribute Name</entry>
+ <entry>3</entry>
+ <entry>_XPATH_ATTR_NAME</entry>
+ <entry>deprecated</entry>
+ </row>
+ <row>
+ <entry>XPATH Attribute CData</entry>
+ <entry>1015</entry>
+ <entry>_XPATH_ATTR_CDATA</entry>
+ <entry>deprecated</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>
+ See <filename>tab/idxpath.att</filename> for more information.
+ </para>
+ <para>
+ Search for all documents starting with root element
+ <literal>/root</literal> (either using the numeric or the string
+ use attributes):
+ <screen>
+ Z> find @attrset idxpath @attr 1=1 @attr 4=3 root/
+ Z> find @attr idxpath 1=1 @attr 4=3 root/
+ Z> find @attr 1=_XPATH_BEGIN @attr 4=3 root/
+ </screen>
+ </para>
+ <para>
+ Search for all documents where specific nested XPATH
+ <literal>/c1/c2/../cn</literal> exists. Notice the very
+ counter-intuitive <emphasis>reverse</emphasis> notation!
+ <screen>
+ Z> find @attrset idxpath @attr 1=1 @attr 4=3 cn/cn-1/../c1/
+ Z> find @attr 1=_XPATH_BEGIN @attr 4=3 cn/cn-1/../c1/
+ </screen>
+ </para>
+ <para>
+ Search for CDATA string <emphasis>text</emphasis> in any element
+ <screen>
+ Z> find @attrset idxpath @attr 1=1016 text
+ Z> find @attr 1=_XPATH_CDATA text
+ </screen>
+ </para>
+ <para>
+ Search for CDATA string <emphasis>anothertext</emphasis> in any
+ attribute:
+ <screen>
+ Z> find @attrset idxpath @attr 1=1015 anothertext
+ Z> find @attr 1=_XPATH_ATTR_CDATA anothertext
+ </screen>
+ </para>
+ <para>
+ Search for all documents with have an XML element node
+ including an XML attribute named <emphasis>creator</emphasis>
+ <screen>
+ Z> find @attrset idxpath @attr 1=3 @attr 4=3 creator
+ Z> find @attr 1=_XPATH_ATTR_NAME @attr 4=3 creator
+ </screen>
+ </para>
+ <para>
+ Combining usual <literal>bib-1</literal> attribute set searches
+ with <literal>idxpath</literal> attribute set searches:
+ <screen>
+ Z> find @and @attr idxpath 1=1 @attr 4=3 link/ @attr 1=4 mozart
+ Z> find @and @attr 1=_XPATH_BEGIN @attr 4=3 link/ @attr 1=_XPATH_CDATA mozart
+ </screen>
+ </para>
+ <para>
+ Scanning is supported on all <literal>idxpath</literal>
+ indexes, both specified as numeric use attributes, or as string
+ index names.
+ <screen>
+ Z> scan @attrset idxpath @attr 1=1016 text
+ Z> scan @attr 1=_XPATH_ATTR_CDATA anothertext
+ Z> scan @attrset idxpath @attr 1=3 @attr 4=3 ''
+ </screen>
+ </para>
+