int main(int argc, char** argv)
{
    string queryString(argc > 1 ? argv[1] : "//node[@rel='su' and string(@begin) = 4]");

	DynamicContext *ctx = s_xqilla.createContext(XQilla::XPATH2);
    ctx->setXPath1CompatibilityMode(true);

    XQQuery *query = s_xqilla.parse(X(queryString.c_str()), ctx);

    cout << query->getQueryPlan() << endl;

    ASTNode *root = query->getQueryBody();

    std::tr1::shared_ptr<QueryScope> rootScope(new QueryScope());
    rootScope->setNodeName("[document root]");

    ElementMap elements;

    std::string dtdData = readFile("alpino_ds.dtd");
    SimpleDTD alpinoDtd(dtdData);

    inspect(root, rootScope, alpinoDtd);

    cout << "Done." << endl;

	return 0;
}