Zebra uses XSLT stylesheets for both XMLrecord
indexing and
display retrieval. In this example installation, they are two
retrieval schema's defined in
conf/dom-conf.xml
:
the dc
schema implemented in
conf/oai2dc.xsl
, and
the zebra
schema implemented in
conf/oai2zebra.xsl
.
The URLs for accessing both are the same, except for the different
value of the recordSchema
parameter:
http://localhost:9999/?version=1.1&operation=searchRetrieve&x-pquery=the&startRecord=1&maximumRecords=1&recordSchema=dc
and
http://localhost:9999/?version=1.1&operation=searchRetrieve&x-pquery=the&startRecord=1&maximumRecords=1&recordSchema=zebra
For the curious, one can see that the XSLT transformations
really do the magic.
xsltproc conf/oai2dc.xsl data/debug-record.xml xsltproc conf/oai2zebra.xsl data/debug-record.xml
Notice also that the Zebra specific parameters are injected by
the engine when retrieving data, therefore some of the attributes
in the zebra
retrieval schema are not filled
when running the transformation from the command line.
In addition to the user defined retrieval schema's one can always
choose from many build-in schema's. In case one is only
interested in the Zebra internal metadata about a certain
record, one uses the zebra::meta
schema.
http://localhost:9999/?version=1.1&operation=searchRetrieve&x-pquery=the&startRecord=1&maximumRecords=1&recordSchema=zebra::meta
The zebra::data
schema is used to retrieve the
original stored OAI XML record.
http://localhost:9999/?version=1.1&operation=searchRetrieve&x-pquery=the&startRecord=1&maximumRecords=1&recordSchema=zebra::data