X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=recctrl%2Falvis.c;fp=recctrl%2Falvis.c;h=01db97047cf0a9827abbbf73b802f527d473ba67;hp=7e9aa76b967692a604eb7545b31c4cc9232bbadd;hb=1722bbb1db5ba2b1cf096388cf3206863ae0a203;hpb=a92a4f15b3e570c055590166ae91f497e61cd949 diff --git a/recctrl/alvis.c b/recctrl/alvis.c index 7e9aa76..01db970 100644 --- a/recctrl/alvis.c +++ b/recctrl/alvis.c @@ -1,4 +1,4 @@ -/* $Id: alvis.c,v 1.13 2006-05-24 08:23:01 marc Exp $ +/* $Id: alvis.c,v 1.14 2006-05-24 12:56:56 marc Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -208,6 +208,11 @@ static ZEBRA_RES create_schemas(struct filter_info *tinfo, const char *fname) attr_content(attr, "default", &schema->default_schema); attr_content(attr, "snippet", &schema->include_snippet); } + /*yaz_log(YLOG_LOG, "XSLT add %s %s %s", + schema->name, schema->identifier, schema->stylesheet); */ + + /* find requested schema */ + if (schema->stylesheet) schema->stylesheet_xsp = xsltParseStylesheetFile( @@ -237,19 +242,20 @@ static struct filter_schema *lookup_schema(struct filter_info *tinfo, const char *est) { struct filter_schema *schema; + for (schema = tinfo->schemas; schema; schema = schema->next) - { + { /* find requested schema */ if (est) - { + { if (schema->identifier && !strcmp(schema->identifier, est)) - return schema; + return schema; + if (schema->name && !strcmp(schema->name, est)) return schema; - } - + } /* or return default schema if defined */ - if (schema->default_schema) + else if (schema->default_schema) return schema; }