This example parses a document and sets it as the context item. It then executes an XQuery expression that navigates relative to the context item.
int main(int argc, char *argv[])
{
const char *value;
if(impl == 0) return 1;
err = impl->
prepare(impl,
"foo/bar/@baz", 0, &expr);
if(err != 0) goto free_impl;
err = impl->
parse_document(impl,
"<foo><bar baz='hello'/></foo>", &doc);
if(err != 0) goto free_expr;
if(err != 0) goto free_doc;
err = expr->
execute(expr, context, &seq);
if(err != 0) goto free_context;
printf("%s\n", value);
}
free_context:
free_doc:
free_expr:
free_impl:
return err;
}