3 declare(strict_types=1);
    30     protected array 
$path = array();
    36         $this->manifest_dom = $a_manifest_dom;
    37         $path = 
new DOMXpath($a_manifest_dom);
    38         $path->registerNamespace(
"ims", 
"http://www.imsproject.org/xsd/imscp_rootv1p1p2");
    39         $items = $path->query(
"//ims:manifest/ims:metadata");
    40         if ($items->length == 1) {
    41             foreach ($items as $i) {
    44                 $this->metadata_found = 
true;
    69     public function import(): 
void    71         if ($this->metadata_found) {
    83     public function handlerBeginTag($a_xml_parser, 
string $a_name, array $a_attribs): void
    85         $this->path[] = $a_name;
    93                 $this->md_in_md = 
true;
    94                 $this->in_meta_data = 
true;
    99                 $this->md_gen = $this->md->addGeneral();
   100                 $this->md_gen->save();
   105                 if ($this->
in(
"general")) {
   107                     $this->md_ide = $par->addIdentifier();
   108                     $this->md_ide->save();
   118                 if ($this->
in(
"general")) {
   120                     $this->md_lan = $par->addLanguage();
   121                     $this->md_lan->save();
   129                 if (strtolower(get_class($par)) === 
'ilmdrights' or
   130                     strtolower(get_class($par)) === 
'ilmdannotation' or
   131                     strtolower(get_class($par)) === 
'ilmdclassification') {
   134                 } elseif ($this->
in(
"general")) {
   135                     $this->md_des = $par->addDescription();
   136                     $this->md_des->save();
   142                 if ($this->
in(
"general")) {
   144                     $this->md_key = $par->addKeyword();
   145                     $this->md_key->save();
   158                 $this->md_lif = $par->addLifecycle();
   160                 $this->md_lif->save();
   366                 if ($this->
in(
"general")) {
   367                     if ($this->
in(
"title")) {
   370                     } elseif ($this->
in(
"description")) {
   371                         $this->md_des->setDescriptionLanguage(
new ilMDLanguageItem($a_attribs[
'language']));
   372                         $this->md_des->update();
   373                     } elseif ($this->
in(
"keyword")) {
   374                         $this->md_key->setKeywordLanguage(
new ilMDLanguageItem($a_attribs[
'language']));
   375                         $this->md_key->update();
   378                 if ($this->
in(
"lifeCycle")) {
   379                     if ($this->
in(
"version")) {
   395         unset($this->path[count($this->path) - 1]);
   402                 $this->md_parent = array();
   403                 $this->md_in_md = 
false;
   404                 $this->in_meta_data = 
false;
   414                 if ($this->
in(
"general")) {
   426                 if ($this->
in(
"general")) {
   436                 if (strtolower(get_class($par)) === 
'ilmddescription') {
   446                 if ($this->
in(
"general")) {
   633                 if ($this->
in(
"general")) {
   634                     if ($this->
in(
"title")) {
   645                     if ($this->
in(
"description")) {
   652                         $this->md_des->update();
   654                     if ($this->
in(
"keyword")) {
   659                 if ($this->
in(
"lifeCycle")) {
   660                     if ($this->
in(
"version")) {
   668                 if ($this->
in(
"general")) {
   669                     if ($this->
in(
"structure")) {
   671                             "atomic" => 
"Atomic",
   672                             "collection" => 
"Collection",
   673                             "networked" => 
"Networked",
   674                             "linear" => 
"Linear",
   675                             "hierarchical" => 
"Hierarchical"   684                 if ($this->
in(
"lifeCycle")) {
   685                     if ($this->
in(
"status")) {
   688                             "revised" => 
"Revised",
   689                             "unavailable" => 
"Unavailable",
   694                             $this->md_lif->update();
   701                 if ($this->
in(
"identifier")) {
   703                     $this->md_ide->update();
   708                 if ($this->
in(
"identifier")) {
   710                     $this->md_ide->update();
   714         $this->md_chr_data = 
'';
   717     public function in(
string $a_name): bool
   720         if (in_array($a_name, $this->path)) {
 
handlerEndTag($a_xml_parser, string $a_name)
handler for end of element 
 
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
 
setDescription(string $a_val)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
__construct(\DOMDocument $a_manifest_dom, int $a_obj_id)
 
handlerBeginTag($a_xml_parser, string $a_name, array $a_attribs)
handler for begin of element 
 
__pushParent(object $md_obj)
 
static _lookupType(int $id, bool $reference=false)
 
DOMDocument $manifest_dom