/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2010 Index Data
+ * Copyright (C) Index Data
* See the file LICENSE for details.
*/
-/** \file
+/** \file
\brief XML Include (not to be confused with W3C XInclude)
*/
#if HAVE_CONFIG_H
#include <config.h>
#endif
-#include <yaz/file_glob.h>
-
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
struct yaz_xml_include_s {
const char *confdir;
+ unsigned glob_flags;
};
typedef struct yaz_xml_include_s *yaz_xml_include_t;
int glob_ret;
yaz_glob_res_t glob_res;
- glob_ret = yaz_file_glob(wrbuf_cstr(w), &glob_res);
-
+ glob_ret = yaz_file_glob2(wrbuf_cstr(w), &glob_res, config->glob_flags);
if (glob_ret == 0)
{
size_t i;
wrbuf_printf(w, " end include src=\"%s\" ", src);
c = xmlNewComment((const xmlChar *) wrbuf_cstr(w));
sib = xmlAddNextSibling(sib, c);
-
+
*np = sib;
wrbuf_destroy(w);
return ret;
xmlFree(src);
if (ret)
return ret;
-
+
}
}
else
return 0;
}
-int yaz_xml_include_simple(xmlNode *n, const char *base_path)
+int yaz_xml_include_glob(xmlNode *n, const char *base_path,
+ unsigned glob_flags)
{
struct yaz_xml_include_s s;
s.confdir = base_path;
- process_config_includes(&s, n);
- return 0;
+ s.glob_flags = glob_flags;
+ return process_config_includes(&s, n);
}
+int yaz_xml_include_simple(xmlNode *n, const char *base_path)
+{
+ return yaz_xml_include_glob(n, base_path, 0);
+}
+
+
/* YAZ_HAVE_XML2 */
#endif