3. Presenting search results in different formats

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