當前位置: 首頁>>代碼示例>>PHP>>正文


PHP XMLParser::removeAllParentElements方法代碼示例

本文整理匯總了PHP中XMLParser::removeAllParentElements方法的典型用法代碼示例。如果您正苦於以下問題:PHP XMLParser::removeAllParentElements方法的具體用法?PHP XMLParser::removeAllParentElements怎麽用?PHP XMLParser::removeAllParentElements使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在XMLParser的用法示例。


在下文中一共展示了XMLParser::removeAllParentElements方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: smwf_ti_connectTL

/**
 *
 * @param $tlID the ID of the Transport Layer
 * @param $dalID
 * @param $source_input an XML structure of the given source inputs
 * @param $givenImportSetName the given import set name (String)
 * @param $givenInputPol an XML structure with the given input policy
 * @param $mappingPage The name of the mapping article
 * @param $givenConflictPol Boolean: overwrite=true, preserve=false
 * @param $runBot run the bot???
 *
 * @return $result an XML structure
 */
function smwf_ti_connectTL($tlID, $dalID, $source_input, $givenImportSetName, $givenInputPol, $mappingPage, $givenConflictPol = true, $runBot, $termImportName = null, $updatePolicy = "", $edit = false, $createOnly = false)
{
    global $smwgDIIP, $wgOut;
    require_once $smwgDIIP . '/specials/TermImport/SMW_WIL.php';
    require_once $smwgDIIP . '/specials/TermImport/SMW_XMLParser.php';
    $wil = new WIL();
    $tlModules = $wil->getTLModules();
    //TODO Errorhandling!!!
    if (!$tlID) {
        // Error,keine TLID angegeben!!!
    }
    $res = $wil->connectTL($tlID, $tlModules);
    $dalModules = $wil->getDALModules();
    //return if no dalID is given
    if (!$dalID) {
        $tlModules = str_replace("<?xml version=\"1.0\"?>", "", $tlModules);
        $dalModules = str_replace("<?xml version=\"1.0\"?>", "", $dalModules);
        return '<result>' . $tlModules . $dalModules . '</result>';
    }
    $res = $wil->connectDAL($dalID, $dalModules);
    $source = $wil->getSourceSpecification();
    // return if no source is given
    if ((!$source_input || $source_input == '') && $res) {
        $tlModules = str_replace("<?xml version=\"1.0\"?>", "", $tlModules);
        $dalModules = str_replace("<?xml version=\"1.0\"?>", "", $dalModules);
        $source = str_replace("<?xml version=\"1.0\"?>", "", $source);
        return '<result>' . $tlModules . $dalModules . $source . '</result>';
    }
    if (isset($source_input)) {
        $source_xml = new SimpleXMLElement($source_input);
        $source_xml_alt = new SimpleXMLElement($source);
        foreach ($source_xml->children() as $second_gen) {
            $tag = $second_gen->getName();
            $value = (string) $second_gen;
            $result = $source_xml_alt->xpath($tag);
            //Change the old tag
            $source_xml_alt->{$tag} = $value;
        }
        //get the xml-string
        $source_result = $source_xml_alt->asXML();
    }
    $importSets = $wil->getImportSets($source_result);
    $p = new XMLParser($importSets);
    $result = $p->parse();
    if ($result == TRUE && $givenImportSetName && $givenImportSetName != '' && $givenImportSetName != 'ALL') {
        $p->removeAllParentElements('NAME', $givenImportSetName);
    }
    if ($result == TRUE && $givenImportSetName && $givenImportSetName == 'ALL') {
        $importSets = '<?xml version="1.0"?>' . '<IMPORTSETS XMLNS="http://www.ontoprise.de/smwplus#">' . '</IMPORTSETS>';
    } else {
        $importSets = $p->serialize();
    }
    $properties = $wil->getProperties($source_result, $importSets);
    if (!$givenInputPol || $givenInputPol == '') {
        // no input policy defined, create an empty one for getting the term-information
        $givenInputPol = '<?xml version="1.0"?>' . "\n" . '<InputPolicy xmlns="http://www.ontoprise.de/smwplus#">' . "\n" . '<terms>' . "\n" . '	<regex></regex>' . "\n" . '	<term></term>' . "\n" . '</terms>' . "\n" . '<properties>' . "\n" . '	<property>articleName</property>' . "\n" . '</properties>' . "\n" . '</InputPolicy>' . "\n";
    }
    $terms = $wil->getTermList($source_result, $importSets, $givenInputPol);
    if ($runBot == 0) {
        // prepare XML strings for return...
        $xmlResult = '<result>' . $tlModules . $dalModules . $source_result . $importSets . $properties . $terms . '</result>';
        $xmlResult = '<?xml version="1.0"?>' . str_replace('<?xml version="1.0"?>', "", $xmlResult);
        return $xmlResult;
    } elseif ($runBot == 1) {
        //do the Import!
        $title = Title::newFromText($mappingPage);
        if (!$title->exists()) {
            return '<?xml version="1.0"?>
	 			<ReturnValue xmlns="http://www.ontoprise.de/smwplus#">
	 		    <value>falseMap</value>
	 		    <message>' . wfMsg('smw_ti_nomappingpage') . '</message>
	 			</ReturnValue >';
        }
        $moduleConfig = '<?xml version="1.0"?>' . "\n" . '<ModuleConfiguration xmlns="http://www.ontoprise.de/smwplus#">' . "\n" . '  <TLModules>' . "\n" . '    <Module>' . "\n" . '        <id>' . $tlID . '</id>' . "\n" . '    </Module>' . "\n" . '  </TLModules >' . "\n" . '  <DALModules>' . "\n" . '    <Module>' . "\n" . '        <id>' . $dalID . '</id>' . "\n" . '    </Module>' . "\n" . '  </DALModules >' . "\n" . '</ModuleConfiguration>';
        $mappingPolicy = '<?xml version="1.0"?>' . "\n" . '<MappingPolicy xmlns="http://www.ontoprise.de/smwplus#">' . "\n" . '	<page>' . $mappingPage . '</page>' . "\n" . '</MappingPolicy >';
        if ($givenConflictPol && $givenConflictPol != '') {
            $conflictPolicy = '<?xml version="1.0"?>' . "\n" . '<ConflictPolicy xmlns="http://www.ontoprise.de/smwplus#">' . "\n" . '	<overwriteExistingTerms>' . $givenConflictPol . '</overwriteExistingTerms>' . "\n" . '</ConflictPolicy >';
        } else {
            //Error!no conflict policy given... is it possible with <select>?!?
        }
        //todo: error handling
        if ($updatePolicy == 0 || $updatePolicy == "") {
            $updatePolicy = "<once/>";
        } else {
            $updatePolicy = "<maxAge value=\"" . $updatePolicy . "\"/>";
        }
        $updatePolicy = '<?xml version="1.0"?>' . "\n" . '<UpdatePolicy xmlns="http://www.ontoprise.de/smwplus#">' . "\n" . $updatePolicy . '</UpdatePolicy>';
//.........這裏部分代碼省略.........
開發者ID:seedbank,項目名稱:old-repo,代碼行數:101,代碼來源:SMW_CL.php


注:本文中的XMLParser::removeAllParentElements方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。