public static int main (string[] args) {
	// Parse the document from path
	Xml.Doc* doc = Xml.Parser.parse_file ("books.xml");
	if (doc == null) {
		stdout.printf ("File 'books.xml' not found or permissions missing\n");
		return 0;
	}

	Xml.XPath.Context cntx = new Xml.XPath.Context (doc);
	Xml.XPath.Object* res = cntx.eval_expression ("/books/book/title");

	assert (res != null);
	assert (res->type == Xml.XPath.ObjectType.NODESET);
	assert (res->nodesetval != null);

	for (int i = 0; i < res->nodesetval->length (); i++) {
		Xml.Node* node = res->nodesetval->item (i);
		stdout.printf ("%s\n", node->get_content ());
	}

	delete res;
	delete doc;
	return 0;
}
