+ </section>
+
+
+ <section id="record-model-domxml-canonical-index-semantics">
+ <title>Semantics of the indexing formats</title>
+
+ <para>
+ Both indexing formats are defined with equal semantics and
+ behavior in mind:
+ <itemizedlist>
+ <listitem>
+ <para>&zebra; specific instructions are either
+ processing instructions named
+ <literal>zebra-2.0</literal> or
+ elements contained in the namespace
+ <literal>xmlns:z="http://indexdata.dk/zebra-2.0"</literal>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>There must be exactly one <literal>record</literal>
+ instruction, which sets the scope for the following,
+ possibly nested <literal>index</literal> instructions.
+ </para>
+ </listitem>
+ <listitem>
+ <para>The unique <literal>record</literal> instruction
+ may have additional attributes <literal>id</literal> and
+ <literal>rank</literal>, where the value of the opaque ID
+ may be any string not containing the whitespace character
+ <literal>' '</literal>, and the rank value must be a
+ non-negative integer. See
+ <xref linkend="administration-ranking"/>
+ </para>
+ </listitem>
+ <listitem>
+ <para> Multiple and possible nested <literal>index</literal>
+ instructions must contain at least one
+ <literal>indexname:indextype</literal>
+ pair, and may contain multiple such pairs separated by the
+ whitespace character <literal>' '</literal>. In each index
+ pair, the name and the type of the index is separated by a
+ colon character <literal>':'</literal>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Any index name consisting of ASCII letters, and following the
+ standard &zebra; rules will do, see
+ <xref linkend="querymodel-pqf-apt-mapping-accesspoint"/>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Index types are restricted to the values defined in
+ the standard configuration
+ file <filename>default.idx</filename>, see
+ <xref linkend="querymodel-bib1"/> and
+ <xref linkend="fields-and-charsets"/> for details.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ &dom; input documents which are not resulting in both one
+ unique valid
+ <literal>record</literal> instruction and one or more valid
+ <literal>index</literal> instructions can not be searched and
+ found. Therefore,
+ invalid document processing is aborted, and any content of
+ the <literal><extract></literal> and
+ <literal><store></literal> pipelines is discarted.
+ A warning is issued in the logs.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+
+ <para>The examples work as follows:
+ From the original &xml; file
+ <literal>marc-one.xml</literal> (or from the &xml; record &dom; of the
+ same form coming from an <literal><input></literal>
+ pipeline),
+ the indexing
+ pipeline <literal><extract></literal>
+ produces an indexing &xml; record, which is defined by
+ the <literal>record</literal> instruction