121 : void
122 {
125 return;
126 }
127
128 switch ($a_name) {
129 case 'MetaData':
130 $this->md_in_md = true;
132 break;
133
134 case 'General':
135 $this->md_gen = $this->md->addGeneral();
136 $this->md_gen->setStructure($a_attribs['Structure'] ?? '');
137 $this->md_gen->save();
139 break;
140
141 case 'Identifier':
143 $this->md_ide = $par->addIdentifier();
144 $this->md_ide->setCatalog($a_attribs['Catalog'] ?? '');
145 $this->md_ide->setEntry($a_attribs['Entry'] ?? '');
146 $this->md_ide->save();
148 break;
149
150 case 'Title':
153 break;
154
155 case 'Language':
157 $this->md_lan = $par->addLanguage();
158 $this->md_lan->setLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
159 $this->md_lan->save();
161 break;
162
163 case 'Description':
165
166 if (strtolower(get_class($par)) === 'ilmdrights' ||
167 strtolower(get_class($par)) === 'ilmdannotation' ||
168 strtolower(get_class($par)) === 'ilmdclassification') {
169 $par->setDescriptionLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
170 break;
171 } else {
172 $this->md_des = $par->addDescription();
173 $this->md_des->setDescriptionLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
174 $this->md_des->save();
176 break;
177 }
178
179
180 case 'Keyword':
182 if (!$par instanceof
ilMD) {
183 $this->md_key = $par->addKeyword();
184 $this->md_key->setKeywordLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
185 $this->md_key->save();
187 }
188 break;
189
190 case 'Coverage':
192 $par->setCoverageLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
193 break;
194
195 case 'Lifecycle':
197 $this->md_lif = $par->addLifecycle();
198 $this->md_lif->setStatus($a_attribs['Status'] ?? '');
199 $this->md_lif->save();
201 break;
202
203 case 'Version':
205 $par->setVersionLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
206 break;
207
208 case 'Contribute':
210 $this->md_con = $par->addContribute();
211 $this->md_con->setRole($a_attribs['Role'] ?? '');
212 $this->md_con->save();
214 break;
215
216 case 'Entity':
218
219 if (strtolower(get_class($par)) === 'ilmdcontribute') {
220 $this->md_ent = $par->addEntity();
221 $this->md_ent->save();
223 break;
224 } else {
225
226 break;
227 }
228
229 case 'Date':
230 break;
231
232 case 'Meta-Metadata':
234 $this->md_met = $par->addMetaMetadata();
235 $this->md_met->setMetaDataScheme($a_attribs['MetadataScheme'] ?? '');
236 $this->md_met->setLanguage(
new ilMDLanguageItem((
string) ($a_attribs[
'Language'] ??
"")));
237 $this->md_met->save();
239 break;
240
241 case 'Technical':
243 $this->md_tec = $par->addTechnical();
244 $this->md_tec->save();
246 break;
247
248 case 'Format':
250 $this->md_for = $par->addFormat();
251 $this->md_for->save();
253 break;
254
255 case 'Size':
256 break;
257
258 case 'Location':
260 $this->md_loc = $par->addLocation();
261 $this->md_loc->setLocationType($a_attribs['Type'] ?? '');
262 $this->md_loc->save();
264 break;
265
266 case 'Requirement':
268 $this->md_req = $par->addRequirement();
269 $this->md_req->save();
271 break;
272
273 case 'OrComposite':
275 $this->md_orc = $par->addOrComposite();
277 break;
278
279 case 'Type':
280 break;
281
282 case 'OperatingSystem':
284 $par->setOperatingSystemName($a_attribs['Name'] ?? '');
285 $par->setOperatingSystemMinimumVersion($a_attribs['MinimumVersion'] ?? '');
286 $par->setOperatingSystemMaximumVersion($a_attribs['MaximumVersion'] ?? '');
287 break;
288
289 case 'Browser':
291 $par->setBrowserName($a_attribs['Name'] ?? '');
292 $par->setBrowserMinimumVersion($a_attribs['MinimumVersion'] ?? '');
293 $par->setBrowserMaximumVersion($a_attribs['MaximumVersion'] ?? '');
294 break;
295
296 case 'InstallationRemarks':
298 $par->setInstallationRemarksLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
299 break;
300
301 case 'OtherPlatformRequirements':
303 $par->setOtherPlatformRequirementsLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
304 break;
305
306 case 'Duration':
307 break;
308
309 case 'Educational':
311 $this->md_edu = $par->addEducational();
312 $this->md_edu->setInteractivityType($a_attribs['InteractivityType'] ?? '');
313 $this->md_edu->setLearningResourceType($a_attribs['LearningResourceType'] ?? '');
314 $this->md_edu->setInteractivityLevel($a_attribs['InteractivityLevel'] ?? '');
315 $this->md_edu->setSemanticDensity($a_attribs['SemanticDensity'] ?? '');
316 $this->md_edu->setIntendedEndUserRole($a_attribs['IntendedEndUserRole'] ?? '');
317 $this->md_edu->setContext($a_attribs['Context'] ?? '');
318 $this->md_edu->setDifficulty($a_attribs['Difficulty'] ?? '');
319 $this->md_edu->save();
321 break;
322
323 case 'TypicalAgeRange':
325 $this->md_typ = $par->addTypicalAgeRange();
326 $this->md_typ->setTypicalAgeRangeLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
327 $this->md_typ->save();
329 break;
330
331 case 'TypicalLearningTime':
332 break;
333
334 case 'Rights':
336 $this->md_rig = $par->addRights();
337 $this->md_rig->setCosts($a_attribs['Cost'] ?? '');
338 $this->md_rig->setCopyrightAndOtherRestrictions($a_attribs['CopyrightAndOtherRestrictions'] ?? '');
339 $this->md_rig->save();
341 break;
342
343 case 'Relation':
345 $this->md_rel = $par->addRelation();
346 $this->md_rel->setKind($a_attribs['Kind'] ?? '');
347 $this->md_rel->save();
349 break;
350
351 case 'Resource':
352 break;
353
354 case 'Identifier_':
356 $this->md_ide_ = $par->addIdentifier_();
357 $this->md_ide_->setCatalog($a_attribs['Catalog'] ?? '');
358 $this->md_ide_->setEntry($a_attribs['Entry'] ?? '');
359 $this->md_ide_->save();
361 break;
362
363 case 'Annotation':
365 $this->md_ann = $par->addAnnotation();
366 $this->md_ann->save();
368 break;
369
370 case 'Classification':
372 $this->md_cla = $par->addClassification();
373 $this->md_cla->setPurpose($a_attribs['Purpose'] ?? '');
374 $this->md_cla->save();
376 break;
377
378 case 'TaxonPath':
380 $this->md_taxp = $par->addTaxonPath();
381 $this->md_taxp->save();
383 break;
384
385 case 'Source':
387 $par->setSourceLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
388 break;
389
390 case 'Taxon':
392 $this->md_tax = $par->addTaxon();
393 $this->md_tax->setTaxonLanguage(
new ilMDLanguageItem($a_attribs[
'Language'] ??
''));
394 $this->md_tax->setTaxonId($a_attribs['Id'] ?? '');
395 $this->md_tax->save();
397 break;
398 }
399 }
__pushParent(object $md_obj)
trimAndStripAttribs(array $attribs)