+/* quinn
+ * Converts a 'melm' field[$subfield] pattern to a simple xpath
+ */
+static int melm2xpath(char *melm, char *buf)
+{
+ char *dollar;
+ char *field = melm;
+ char *subfield;
+ char *fieldtype;
+ if ((dollar = strchr(melm, '$'))) {
+ *dollar = '\0';
+ subfield = ++dollar;
+ } else
+ subfield = "";
+ if (field[0] == '0' && field[1] == '0')
+ fieldtype = "controlfield";
+ else
+ fieldtype = "datafield";
+ sprintf(buf, "/*/%s[@tag=\"%s\"]", fieldtype, field);
+ if (*subfield)
+ sprintf(buf + strlen(buf), "/subfield[@code=\"%s\"]", subfield);
+ else if (field[0] != '0' || field[1] != '0')
+ strcat(buf, "/subfield");
+ yaz_log(YLOG_DEBUG, "Created xpath: '%s'", buf);
+ return 0;
+}
+