Added new fundamental filter 'xslt'. This filter reads XML records
authorAdam Dickmeiss <adam@indexdata.dk>
Thu, 28 Apr 2005 08:20:39 +0000 (08:20 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Thu, 28 Apr 2005 08:20:39 +0000 (08:20 +0000)
commit0f3b8bcc6fe2e3beeec7c834d9a64dca48a4f1b7
tree6eff4131acec8ad5e6e9bfca886b863051efd79e
parent0955b9f1ed141bfc60beb7afd63a790aa6525a23
Added new fundamental filter 'xslt'. This filter reads XML records
and uses LibXSLT for both indexing (extract) and retrieval (present).
During indexing the filter generates a Zebra indexing record via XSLT
which describes how Zebra is to index the record. Because the driver is
XSLT driven it can use any X-Path plus logic behind the scenes and is thus
more powerful than xelm/elm in .abs. The XSLT can accept parameters from
Zebra. For example, if a date is received the filter could make a date
index. The filter also uses allows splitting of XML records during
indexing, so that MARC collections can be indexed directly (but it
is quite limited and takes place before XSLT is invoked: XSLT requires
a DOM structure in memory). Refer ot example test case in in test/xslt.
18 files changed:
configure.in
include/idzebra/recctrl.h
index/extract.c
index/index.h
index/zebraapi.c
recctrl/Makefile.am
recctrl/alvis.c
recctrl/recctrl.c
recctrl/xslt.c [new file with mode: 0644]
test/Makefile.am
test/marcxml/Makefile.am
test/marcxml/t1.c
test/marcxml/t2.c
test/xslt/Makefile.am [new file with mode: 0644]
test/xslt/id.xsl [new file with mode: 0644]
test/xslt/marc-col.xml [new file with mode: 0644]
test/xslt/marc1.xsl [new file with mode: 0644]
test/xslt/zebra.cfg [new file with mode: 0644]