<chapter id="record-model-alvisxslt">
- <!-- $Id: recordmodel-alvisxslt.xml,v 1.3 2006-02-16 12:32:31 marc Exp $ -->
+ <!-- $Id: recordmodel-alvisxslt.xml,v 1.11 2006-11-13 14:53:40 marc Exp $ -->
<title>ALVIS XML Record Model and Filter Module</title>
</para>
- <sect1 id="record-model-alvisxslt-filter">
+ <section id="record-model-alvisxslt-filter">
<title>ALVIS Record Filter</title>
<para>
The experimental, loadable Alvis XML/XSLT filter module
unique, these are the literal <literal>schema</literal> or
<literal>element set</literal> names used in
<ulink url="http://www.loc.gov/standards/sru/srw/">SRW</ulink>,
- <ulink url="http://www.loc.gov/standards/sru/">SRU</ulink> and
+ <ulink url="&url.sru;">SRU</ulink> and
Z39.50 protocol queries.
The paths in the <literal>stylesheet</literal> attributes
are relative to zebras working directory, or absolute to file
<literal>identifier="http://indexdata.dk/zebra/xslt/1"</literal>.
</para>
- <sect2 id="record-model-alvisxslt-internal">
+ <section id="record-model-alvisxslt-internal">
<title>ALVIS Internal Record Representation</title>
<para>When indexing, an XML Reader is invoked to split the input
files into suitable record XML pieces. Each record piece is then
you can use this functionality inside the Alvis
filter configuration XSLT stylesheets.
</para>
- </sect2>
+ </section>
- <sect2 id="record-model-alvisxslt-canonical">
+ <section id="record-model-alvisxslt-canonical">
<title>ALVIS Canonical Indexing Format</title>
<para>The output of the indexing XSLT stylesheets must contain
certain elements in the magic
z:id="oai:JTRS:CP-3290---Volume-I"
z:rank="47896"
z:type="update">
- <z:index name="oai:identifier" type="0">
+ <z:index name="oai_identifier" type="0">
oai:JTRS:CP-3290---Volume-I</z:index>
- <z:index name="oai:datestamp" type="0">2004-07-09</z:index>
- <z:index name="oai:setspec" type="0">jtrs</z:index>
- <z:index name="dc:all" type="w">
- <z:index name="dc:title" type="w">Proceedings of the 4th
+ <z:index name="oai_datestamp" type="0">2004-07-09</z:index>
+ <z:index name="oai_setspec" type="0">jtrs</z:index>
+ <z:index name="dc_all" type="w">
+ <z:index name="dc_title" type="w">Proceedings of the 4th
International Conference and Exhibition:
World Congress on Superconductivity - Volume I</z:index>
- <z:index name="dc:creator" type="w">Kumar Krishen and *Calvin
+ <z:index name="dc_creator" type="w">Kumar Krishen and *Calvin
Burnham, Editors</z:index>
</z:index>
</z:record>
the same character normalization map <literal>w</literal>.
</para>
<para>
+ Finally, this example configuration can be queried using PQF
+ queries, either transported by Z39.50, (here using a yaz-client)
+ <screen>
+ <![CDATA[
+ Z> open localhost:9999
+ Z> elem dc
+ Z> form xml
+ Z>
+ Z> f @attr 1=dc:creator Kumar
+ Z> scan @attr 1=dc:creator adam
+ Z>
+ Z> f @attr 1=dc:title @attr 4=2 "proceeding congress superconductivity"
+ Z> scan @attr 1=dc:title abc
+ ]]>
+ </screen>
+ or the proprietary
+ extentions <literal>x-pquery</literal> and
+ <literal>x-pScanClause</literal> to
+ SRU, and SRW
+ <screen>
+ <![CDATA[
+ http://localhost:9999/?version=1.1&operation=searchRetrieve&x-pquery=%40attr+1%3Ddc%3Acreator+%40attr+4%3D6+%22the
+ http://localhost:9999/?version=1.1&operation=scan&x-pScanClause=@attr+1=dc:date+@attr+4=2+a
+ ]]>
+ </screen>
+ See <xref linkend="zebrasrv-sru"/> for more information on SRU/SRW
+ configuration, and <xref linkend="gfs-config"/> or the YAZ
+ <ulink url="&url.yaz.cql;">CQL section</ulink>
+ for the details or the YAZ frontend server.
+ </para>
+ <para>
Notice that there are no <filename>*.abs</filename>,
<filename>*.est</filename>, <filename>*.map</filename>, or other GRS-1
- filter configuration files involves in this process.
+ filter configuration files involves in this process, and that the
+ literal index names are used during search and retrieval.
</para>
- </sect2>
- </sect1>
+ </section>
+ </section>
- <sect1 id="record-model-alvisxslt-conf">
+ <section id="record-model-alvisxslt-conf">
<title>ALVIS Record Model Configuration</title>
- <sect2 id="record-model-alvisxslt-index">
+ <section id="record-model-alvisxslt-index">
<title>ALVIS Indexing Configuration</title>
<para>
As mentioned above, there can be only one indexing
<!-- OAI indexing templates -->
<xsl:template match="oai:record/oai:header/oai:identifier">
- <z:index name="oai:identifier" type="0">
+ <z:index name="oai_identifier" type="0">
<xsl:value-of select="."/>
</z:index>
</xsl:template>
<!-- DC specific indexing templates -->
<xsl:template match="oai:record/oai:metadata/oai_dc:dc/dc:title">
- <z:index name="dc:title" type="w">
+ <z:index name="dc_title" type="w">
<xsl:value-of select="."/>
</z:index>
</xsl:template>
to suffering and pain, and universal
disentigration of your project schedule.
</para>
- </sect2>
+ </section>
- <sect2 id="record-model-alvisxslt-elementset">
+ <section id="record-model-alvisxslt-elementset">
<title>ALVIS Exchange Formats</title>
<para>
An exchange format can be anything which can be the outcome of an
</screen>
</para>
- </sect2>
+ </section>
+
+ <section id="record-model-alvisxslt-example">
+ <title>ALVIS Filter OAI Indexing Example</title>
+ <para>
+ The sourcecode tarball contains a working Alvis filter example in
+ the directory <filename>examples/alvis-oai/</filename>, which
+ should get you started.
+ </para>
+ <para>
+ More example data can be harvested from any OAI complient server,
+ see details at the OAI
+ <ulink url="http://www.openarchives.org/">
+ http://www.openarchives.org/</ulink> web site, and the community
+ links at
+ <ulink url="http://www.openarchives.org/community/index.html">
+ http://www.openarchives.org/community/index.html</ulink>.
+ There is a tutorial
+ found at
+ <ulink url="http://www.oaforum.org/tutorial/">
+ http://www.oaforum.org/tutorial/</ulink>.
+ </para>
+ </section>
- </sect1>
+ </section>
</chapter>
and so on.
- in db/ a cql2pqf.txt yaz-client config file
- which is also used in the yaz-server <ulink url="http://www.loc.gov/standards/sru/cql/">CQL</ulink>-to-PQF process
+ which is also used in the yaz-server <ulink url="&url.cql;">CQL</ulink>-to-PQF process
see: http://www.indexdata.com/yaz/doc/tools.tkl#tools.cql.map