/**
  * loads namespaces from file or rewrites from configuration model
  */
 function loadNamespaces($url)
 {
     if ($url) {
         $nmsp_m = new MemModel();
         $nmsp_m->load($url);
         $this->ns = $nmsp_m->getParsedNamespaces();
         if (!$this->ns) {
             trigger_error("The file:" . $url . "does not contain any namespace declarations." . "The prefixes from the configuration model will be used instead");
         }
     } else {
         $nmsp = $this->m->getParsedNamespaces();
         if ($nmsp) {
             $this->ns = RAPpubbyURIrewriter::rewrNamespaces($nmsp);
         }
     }
 }
 /**
  * parser overwrites the prefixes defined in the default_prefixes array
  */
 function testOverwritingDefaultParser()
 {
     $_SESSION['test'] = 'Overwriting default parser test';
     $string = "<?xml version='1.0'?>\n \t\t\t\t<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'\n             \t\t\txmlns:exterms='http://www.example.org/terms/'>\n\t\t\t\t\t<rdf:Description rdf:about='http://www.example.org/index.html'>\n\t\t\t\t\t\t<exterms:creation-date>August 16, 1999</exterms:creation-date>\n\t\t\t\t\t</rdf:Description>\n\t\t\t\t</rdf:RDF>";
     // delete default prefixes
     global $default_prefixes;
     $backup = $default_prefixes;
     foreach ($default_prefixes as $name => $pref) {
         unset($default_prefixes[$name]);
     }
     $default_prefixes = array('foo' => RDF_NAMESPACE_URI);
     $model = new MemModel();
     $model->load($string);
     $nmsp = $model->getParsedNamespaces();
     $this->assertEqual($nmsp[RDF_NAMESPACE_URI], 'rdf');
     $default_prefixes = $backup;
 }