- struct conf_metadata *md = &r->metadata[md_node];
- xmlChar *name = xmlGetProp(n, (xmlChar *) "name");
- xmlChar *brief = xmlGetProp(n, (xmlChar *) "brief");
- xmlChar *sortkey = xmlGetProp(n, (xmlChar *) "sortkey");
- xmlChar *merge = xmlGetProp(n, (xmlChar *) "merge");
- xmlChar *type = xmlGetProp(n, (xmlChar *) "type");
- xmlChar *termlist = xmlGetProp(n, (xmlChar *) "termlist");
- xmlChar *rank = xmlGetProp(n, (xmlChar *) "rank");
-
- if (!name)
+ xmlChar *xml_name = xmlGetProp(n, (xmlChar *) "name");
+ xmlChar *xml_brief = xmlGetProp(n, (xmlChar *) "brief");
+ xmlChar *xml_sortkey = xmlGetProp(n, (xmlChar *) "sortkey");
+ xmlChar *xml_merge = xmlGetProp(n, (xmlChar *) "merge");
+ xmlChar *xml_type = xmlGetProp(n, (xmlChar *) "type");
+ xmlChar *xml_termlist = xmlGetProp(n, (xmlChar *) "termlist");
+ xmlChar *xml_rank = xmlGetProp(n, (xmlChar *) "rank");
+
+ enum conf_metadata_type type = Metadata_type_generic;
+ enum conf_metadata_merge merge = Metadata_merge_no;
+ int brief = 0;
+ int termlist = 0;
+ int rank = 0;
+ int sortkey_offset = 0;
+ enum conf_sortkey_type sk_type = Metadata_sortkey_relevance;
+
+ // now do the parsing logic
+ if (!xml_name)