示例#1
0
    $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 {
示例#2
0
// | 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)