<chapter id="record-model-domxml">
- <!-- $Id: recordmodel-domxml.xml,v 1.1 2007-02-20 14:28:31 marc Exp $ -->
+ <!-- $Id: recordmodel-domxml.xml,v 1.4 2007-02-20 15:02:18 marc Exp $ -->
<title>&dom; &xml; Record Model and Filter Module</title>
<para>
<row>
<entry><literal>retrieve</literal></entry>
<entry>third</entry>
- <entry>document retrieve transformations from storage to output
- syntax and format</entry>
+ <entry>multiple document retrieve transformations from
+ storage to different output
+ formats are possible</entry>
<entry>&zebra; internal storage &dom; &xml; document</entry>
- <entry>requested output syntax and format</entry>
+ <entry>output &xml; syntax and requested format</entry>
</row>
</tbody>
</tgroup>
<para>
The experimental, loadable &dom; &xml;/&xslt; filter module
- <literal>mod-dom.so</literal> is packaged in the GNU/Debian package
- <literal>libidzebra2.0-mod-dom</literal>.
- It is invoked by the <filename>zebra.cfg</filename> configuration statement
+ <literal>mod-dom.so</literal>
+ is invoked by the <filename>zebra.cfg</filename> configuration statement
<screen>
recordtype.xml: dom.db/filter_dom_conf.xml
</screen>
path <filename>db/filter_dom_conf.xml</filename>.
</para>
-
-
-
-
<para>The &dom; &xslt; filter configuration file must be
- valid &xml;. It might look like this (This example is
- used for indexing and display of &oai; harvested records):
- <screen>
- <?xml version="1.0" encoding="UTF-8"?>
- <schemaInfo>
- <schema name="identity" stylesheet="xsl/identity.xsl" />
- <schema name="index" identifier="http://indexdata.dk/zebra/xslt/1"
- stylesheet="xsl/oai2index.xsl" />
- <schema name="dc" stylesheet="xsl/oai2dc.xsl" />
- <!-- use split level 2 when indexing whole &oai; Record lists -->
- <split level="2"/>
- </schemaInfo>
- </screen>
+ valid &xml;. It might look like this:
+ <screen>
+ <![CDATA[
+ <?xml version="1.0" encoding="UTF8"?>
+ <dom xmlns="http://indexdata.com/zebra-2.0">
+ <input>
+ <xmlreader level="1"/>
+ <!-- <marc inputcharset="marc-8"/> -->
+ </input>
+ <extrac>
+ <xslt stylesheet="common2index.xsl"/>
+ </extract>
+ <store>
+ <xslt stylesheet="common2store.xsl"/>
+ </store>
+ <retrieve name="dc">
+ <xslt stylesheet="store2dc.xsl"/>
+ </retrieve>
+ <retrieve name="mods">
+ <xslt stylesheet="store2mods.xsl"/>
+ </retrieve>
+ </dom>
+ ]]>
+ </screen>
</para>
+
<para>
All named stylesheets defined inside
<literal>schema</literal> element tags
</para>
<section id="record-model-domxml-internal">
- <title>&dom; Internal Record Representation</title>
+ <title>&dom; filter 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
transformed to an &xml; &dom; structure, which is essentially the