131 $this->md_in_md =
true;
136 $this->md_gen = $this->md->addGeneral();
137 $this->md_gen->setStructure($a_attribs[
'Structure'] ??
'');
138 $this->md_gen->save();
144 $this->md_ide = $par->addIdentifier();
145 $this->md_ide->setCatalog($a_attribs[
'Catalog'] ??
'');
146 $this->md_ide->setEntry($a_attribs[
'Entry'] ??
'');
147 $this->md_ide->save();
158 $this->md_lan = $par->addLanguage();
159 $this->md_lan->setLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
160 $this->md_lan->save();
167 if (strtolower(get_class($par)) ===
'ilmdrights' ||
168 strtolower(get_class($par)) ===
'ilmdannotation' ||
169 strtolower(get_class($par)) ===
'ilmdclassification') {
170 $par->setDescriptionLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
173 $this->md_des = $par->addDescription();
174 $this->md_des->setDescriptionLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
175 $this->md_des->save();
183 if (!$par instanceof
ilMD) {
184 $this->md_key = $par->addKeyword();
185 $this->md_key->setKeywordLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
186 $this->md_key->save();
193 $par->setCoverageLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
198 $this->md_lif = $par->addLifecycle();
199 $this->md_lif->setStatus($a_attribs[
'Status'] ??
'');
200 $this->md_lif->save();
206 $par->setVersionLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
211 $this->md_con = $par->addContribute();
212 $this->md_con->setRole($a_attribs[
'Role'] ??
'');
213 $this->md_con->save();
220 if (strtolower(get_class($par)) ===
'ilmdcontribute') {
221 $this->md_ent = $par->addEntity();
222 $this->md_ent->save();
233 case 'Meta-Metadata':
235 $this->md_met = $par->addMetaMetadata();
236 $this->md_met->setMetaDataScheme($a_attribs[
'MetadataScheme'] ??
'');
237 $this->md_met->setLanguage(
new ilMDLanguageItem((
string) ($a_attribs[
'Language'] ??
"")));
238 $this->md_met->save();
244 $this->md_tec = $par->addTechnical();
245 $this->md_tec->save();
251 $this->md_for = $par->addFormat();
252 $this->md_for->save();
261 $this->md_loc = $par->addLocation();
262 $this->md_loc->setLocationType($a_attribs[
'Type'] ??
'');
263 $this->md_loc->save();
269 $this->md_req = $par->addRequirement();
270 $this->md_req->save();
276 $this->md_orc = $par->addOrComposite();
283 case 'OperatingSystem':
285 $par->setOperatingSystemName($a_attribs[
'Name'] ??
'');
286 $par->setOperatingSystemMinimumVersion($a_attribs[
'MinimumVersion'] ??
'');
287 $par->setOperatingSystemMaximumVersion($a_attribs[
'MaximumVersion'] ??
'');
292 $par->setBrowserName($a_attribs[
'Name'] ??
'');
293 $par->setBrowserMinimumVersion($a_attribs[
'MinimumVersion'] ??
'');
294 $par->setBrowserMaximumVersion($a_attribs[
'MaximumVersion'] ??
'');
297 case 'InstallationRemarks':
299 $par->setInstallationRemarksLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
302 case 'OtherPlatformRequirements':
304 $par->setOtherPlatformRequirementsLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
312 $this->md_edu = $par->addEducational();
313 $this->md_edu->setInteractivityType($a_attribs[
'InteractivityType'] ??
'');
314 $this->md_edu->setLearningResourceType($a_attribs[
'LearningResourceType'] ??
'');
315 $this->md_edu->setInteractivityLevel($a_attribs[
'InteractivityLevel'] ??
'');
316 $this->md_edu->setSemanticDensity($a_attribs[
'SemanticDensity'] ??
'');
317 $this->md_edu->setIntendedEndUserRole($a_attribs[
'IntendedEndUserRole'] ??
'');
318 $this->md_edu->setContext($a_attribs[
'Context'] ??
'');
319 $this->md_edu->setDifficulty($a_attribs[
'Difficulty'] ??
'');
320 $this->md_edu->save();
324 case 'TypicalAgeRange':
326 $this->md_typ = $par->addTypicalAgeRange();
327 $this->md_typ->setTypicalAgeRangeLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
328 $this->md_typ->save();
332 case 'TypicalLearningTime':
337 $this->md_rig = $par->addRights();
338 $this->md_rig->setCosts($a_attribs[
'Cost'] ??
'');
339 $this->md_rig->setCopyrightAndOtherRestrictions($a_attribs[
'CopyrightAndOtherRestrictions'] ??
'');
340 $this->md_rig->save();
346 $this->md_rel = $par->addRelation();
347 $this->md_rel->setKind($a_attribs[
'Kind'] ??
'');
348 $this->md_rel->save();
357 $this->md_ide_ = $par->addIdentifier_();
358 $this->md_ide_->setCatalog($a_attribs[
'Catalog'] ??
'');
359 $this->md_ide_->setEntry($a_attribs[
'Entry'] ??
'');
360 $this->md_ide_->save();
366 $this->md_ann = $par->addAnnotation();
367 $this->md_ann->save();
371 case 'Classification':
373 $this->md_cla = $par->addClassification();
374 $this->md_cla->setPurpose($a_attribs[
'Purpose'] ??
'');
375 $this->md_cla->save();
381 $this->md_taxp = $par->addTaxonPath();
382 $this->md_taxp->save();
388 $par->setSourceLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
393 $this->md_tax = $par->addTaxon();
394 $this->md_tax->setTaxonLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
395 $this->md_tax->setTaxonId($a_attribs[
'Id'] ??
'');
396 $this->md_tax->save();
trimAndStripAttribs(array $attribs)
__pushParent(object $md_obj)