$xmi2db->setBasePackage("XPlanGML 4.1"); } // Set (path to) XMI file //$xmi2db->setXMIFile("xplan_short.xml"); //$xmi2db->setXMIFile("XPlanGML-xmi12-uml14.xml"); // Set db schema //$xmi2db->setSchema("xplan_eatest"); // Set base package // Only if you want to iterate through one package, if you want to iterate through all packages, uncomment! //$xmi2db->setBasePackage("XPlanGML 4.1"); //$xmi2db->setSchema("xplan_argotest"); //$xmi2db->setBasePackage("Raumordnungsplan_Kernmodell"); //$xmi2db->setXMIFile("xplanerweitert20150609.xmi"); //Set DB connection //$xmi2db->setConn("dbname=moro user=kvwmap password=kv_Map-12:)"); $xmi2db->setConn($db_conn); // The table name for the insert queries $xmi2db->setTable(array("classes" => "uml_classes", "attributes" => "uml_attributes", "association_classes" => "association_classes", "class_generalizations" => "class_generalizations", "packages" => "packages", "stereotypes" => "stereotypes")); //Create Schema and Table structure if needed $schema_sql = "\n SELECT EXISTS(\n SELECT\n schema_name\n FROM\n information_schema.schemata\n WHERE\n schema_name = '" . $_REQUEST['schema'] . "'\n )\n"; #echo $schema_sql; //echo "<br>"; $result = pg_query($db_conn, $schema_sql); $schemaBool = pg_fetch_row($result); if ($schemaBool[0] == 't') { echo "Schema vorhanden<br>"; //Truncate if wanted if ($_REQUEST['truncate'] == 1) { $xmi2db->truncateTables(); } } else {
// | xmi2db | // | Creating SQL Queries from an xmi file | // | Requirements: PHP5 with SimpleXMI Support | // +----------------------------------------------------------------------+ // | Author: Christian Seip <*****@*****.**> | // +----------------------------------------------------------------------+ // based on http://www.phpclasses.org/package/2272-PHP-Generate-SQL-queries-to-import-data-from-XML-files.html //Begin Start Pascoul require_once '../lib/pascoul/pascoul.php'; include '../classes/schema.php'; include '../classes/logger.php'; include '../conf/database_conf.php'; $xmi2db = new xmi2db("XMI.content"); #Set DB connection $schema = new Schema($xmi2db->schema, new Logger(0)); $xmi2db->setConn($schema->openConnection(PG_HOST, PG_DBNAME, PG_USER, PG_PASSWORD)); $xmi2db->start(); class xmi2db { private $root_element; private $table; private $data; private $xmi_file; private $basePackage; private $progress; /** * Constructor * * @param XMI root element */ function xmi2db($root)