libExtractor
============

libExtractor is a simple library for keyword extraction.
libExtractor does not support all formats but supports
a simple plugging mechanism such that you can quickly
add extractors for additional formats, even without
recompiling libExtractor. libExtractor typically
ships with one or more helper-libraries that can be
used to obtain keywords from common file-types.

If you want to write your own extractor for some filetype,
all you need to do is write a little library that implements
a single method with this signature:


KeywordList * extract(const char * filename,
                      char * data,
                      size_t size,
		      KeywordList * prev);


The filename is the name of the file, data is a pointer
to the contents of the file and size is the size of the file.
The extract method must prepend keywords that it finds
to the linked list 'prev' and return the new head.
The library must allocate (malloc) the entry in the
keyword list and the memory for the filename since both
will be free'ed by libExtractor once the application calls
freeKeywords.

An example implementation can be found in mp3extractor.c.

notes
=====
Please note, if you install libextractor in location that the linker does not
know about (i.e. is not in /etc/ld.so.conf) you /must/ set
LD_LIBRARY_PATH=/path/to/libextractor. It is recommended that you have this
set in your shells initialization file so that it is always set. This can be
accomplished in bash by adding the following line to ~/.bashrc
export LD_LIBRARY_PATH="/path/to/libextractor:$LD_LIBRARY_PATH"
or in csh/tcsh by adding the following line to ~/.cshrc
setenv LD_LIBRARY_PATH "/path/to/libextractor:$LD_LIBRARY_PATH"

