#include "dbxml/DbXml.hpp" #include #include #include #include using namespace DbXml; // exception handling omitted for clarity int main(int argc, char * argv[]) { bool verbose = true; vector galderak ; galderak.push_back("collection(\"EPEC_fsak.bdbxml\")/fs[f[@name=\"lema-osatua\"]/str=\"etxe\"]/@id"); galderak.push_back("collection(\"EPEC_fsak.bdbxml\")/fs[f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"]/f[@name=\"AZP\"]/sym[@value=\"ERKARR\"]]/@id"); galderak.push_back("collection(\"EPEC_fsak.bdbxml\")/fs[f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"]/f[@name=\"AZP\"]/sym[@value=\"ERKARR\"]]/@id"); galderak.push_back("for $x in collection(\"EPEC_fsak.bdbxml\")/fs[f [@name=\"lema-osatua\"/str=\"etxe\"]/@id return $x"); galderak.push_back("collection(\"EPEC_fsak.bdbxml\")/fs[f[@name=\"forma\"]/str=\"Bartzelonako\"\ and\ f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"][f[@name=\"KAT\"]/sym[@value=\"IZE\"]]/f[@name=\"AZP\"]/sym[@value=\"LIB\"]]/@id"); galderak.push_back("collection(\"EPEC_fsak.bdbxml\")/fs[f[@name=\"forma\"]/str=\"Bartzelonako\"\ and\ f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"]]/@id "); galderak.push_back("collection(\"EPEC_fsak.bdbxml\")/fs[f[@name=\"forma\"]/str=\"Bartzelonako\"\ and\ f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"]/f[@name=\"KAT\"]/sym[@value=\"IZE\"]]/@id"); galderak.push_back("collection(\"EPEC_fsak.bdbxml\")/fs[f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"][f[@name=\"KAT\"]/sym[@value=\"IZE\"]]/f[@name=\"AZP\"]/sym[@value=\"LIB\"]]/@id"); galderak.push_back("collection(\"EPEC_fsak.bdbxml\")/fs[f[@name=\"lema-osatua\"]/str=\"Bartzelona\"\ and\ f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"][f[@name=\"KAT\"]/sym[@value=\"IZE\"]]/f[@name=\"AZP\"]/sym[@value=\"LIB\"]]/@id"); galderak.push_back("collection(\"EPEC_fsak.bdbxml\")/fs[f[@name=\"lema-osatua\"]/str=\"Bartzelona\"\ and\ f[@name=\"goimailako-ezaugarriak\"]/fs[@type=\"goimailako-ezaugarri-lista\"][f[@name=\"KAT\"]/sym[@value=\"IZE\"]]/f[@name=\"AZP\"]/sym[@value=\"LIB\"]]"); galderak.push_back("collection(\"EPEC_fsak.bdbxml\")/fs[f[@name=\"lema-osatua\"]/str=\"Bartzelona\"\ and\ .//f[@name=\"AZP\"]/sym[@value=\"LIB\"]]"); galderak.push_back("collection(\"EPEC_fsak.bdbxml\")/fs[.//f[@name=\"KAT\"]/sym[@value=\"IZE_IZEELI\"]]/@id"); // galderak.push_back(""); // galderak.push_back(""); // galderak.push_back(""); std::string galdera; std::string edukiontzia = "EPEC_fsak.bdbxml"; u_int32_t env_flags = DB_CREATE | // If the environment does not // exist, create it. DB_INIT_LOCK | // Initialize the locking subsystem DB_INIT_LOG | // Initialize the logging subsystem DB_INIT_MPOOL | // Initialize the cache DB_INIT_TXN; // Initialize transactions std::string envHome("/data2/export/testEnv"); DbEnv myEnv(0); try { myEnv.open(envHome.c_str(), env_flags, 0); } catch(DbException &e) { std::cerr << "1) Error opening database environment: " << envHome << std::endl; std::cerr << e.what() << std::endl; } catch(std::exception &e) { std::cerr << "2) Error opening database environment: " << envHome << std::endl; std::cerr << e.what() << std::endl; } // Open an XmlManager. XmlManager myManager; // Create and open the container. XmlContainer myContainer1 = myManager.openContainer(edukiontzia); std::cout << "galderak exekutatzen\n"; for (int i=0;i