--- util/nad.c.orig Tue Nov 2 10:00:32 2004 +++ util/nad.c Tue Nov 2 10:00:40 2004 @@ -1112,8 +1112,12 @@ static void _nad_parse_namespace_start(void *arg, const char *prefix, const char *uri) { struct build_data *bd = (struct build_data *) arg; + int ns; - nad_add_namespace(bd->nad, (char *) uri, (char *) prefix); + ns = nad_add_namespace(bd->nad, (char *) uri, (char *) prefix); + + /* Always set the namespace (to catch cases where nad_add_namespace doesn't add it) */ + bd->nad->scope = ns; } nad_t nad_parse(nad_cache_t cache, const char *buf, int len) { --- sx/callback.c.orig Tue Nov 2 09:58:28 2004 +++ sx/callback.c Tue Nov 2 10:02:13 2004 @@ -137,6 +137,7 @@ void _sx_namespace_start(void *arg, const char *prefix, const char *uri) { sx_t s = (sx_t) arg; + int ns; if(s->fail) return; @@ -147,6 +148,9 @@ if(s->nad == NULL) s->nad = nad_new(s->nad_cache); - nad_add_namespace(s->nad, (char *) uri, (char *) prefix); + ns = nad_add_namespace(s->nad, (char *) uri, (char *) prefix); + + /* Always set the namespace (to catch cases where nad_add_namespace doesn't add it) */ + s->nad->scope = ns; }