19 declare(strict_types=1);
50 return match ($identifier) {
51 Identifier::GENERAL_STRUCTURE => $this->
buildPath(
'general',
'structure',
'value'),
52 Identifier::GENERAL_AGGREGATION_LEVEL => $this->
buildPath(
'general',
'aggregationLevel',
'value'),
53 Identifier::GENERAL_COVERAGE => $this->
buildPath(
'general',
'coverage',
'string'),
54 Identifier::GENERAL_IDENTIFIER_CATALOG => $this->
buildPath(
'general',
'identifier',
'catalog'),
55 Identifier::LIFECYCLE_STATUS => $this->
buildPath(
'lifeCycle',
'status',
'value'),
56 Identifier::LIFECYCLE_CONTRIBUTE_ROLE => $this->
buildPath(
'lifeCycle',
'contribute',
'role',
'value'),
57 Identifier::LIFECYCLE_CONTRIBUTE_PUBLISHER => $this->
buildPath(
'lifeCycle',
'contribute',
'entity'),
58 Identifier::METAMETADATA_IDENTIFIER_CATALOG => $this->
buildPath(
'metaMetadata',
'identifier',
'catalog'),
59 Identifier::METAMETADATA_CONTRIBUTE_ROLE => $this->
buildPath(
'metaMetadata',
'contribute',
'role',
'value'),
60 Identifier::METAMETADATA_SCHEMA => $this->
buildPath(
'metaMetadata',
'metadataSchema'),
61 Identifier::TECHNICAL_REQUIREMENT_TYPE => $this->
buildPath(
'technical',
'requirement',
'orComposite',
'type',
'value'),
62 Identifier::TECHNICAL_REQUIREMENT_BROWSER, Identifier::TECHNICAL_REQUIREMENT_OS => $this->
buildPath(
'technical',
'requirement',
'orComposite',
'name',
'value'),
63 Identifier::TECHNICAL_OTHER_PLATFORM_REQUIREMENTS => $this->
buildPath(
'technical',
'otherPlatformRequirements',
'string'),
64 Identifier::TECHNICAL_FORMAT => $this->
buildPath(
'technical',
'format'),
65 Identifier::EDUCATIONAL_INTERACTIVITY_TYPE => $this->
buildPath(
'educational',
'interactivityType',
'value'),
66 Identifier::EDUCATIONAL_LEARNING_RESOURCE_TYPE => $this->
buildPath(
'educational',
'learningResourceType',
'value'),
67 Identifier::EDUCATIONAL_INTERACTIVITY_LEVEL => $this->
buildPath(
'educational',
'interactivityLevel',
'value'),
68 Identifier::EDUCATIONAL_SEMANTIC_DENSITY => $this->
buildPath(
'educational',
'semanticDensity',
'value'),
69 Identifier::EDCUCATIONAL_INTENDED_END_USER_ROLE => $this->
buildPath(
'educational',
'intendedEndUserRole',
'value'),
70 Identifier::EDUCATIONAL_CONTEXT => $this->
buildPath(
'educational',
'context',
'value'),
71 Identifier::EDUCATIONAL_DIFFICULTY => $this->
buildPath(
'educational',
'difficulty',
'value'),
72 Identifier::EDUCATIONAL_TYPICAL_AGE_RANGE => $this->
buildPath(
'educational',
'typicalAgeRange',
'string'),
73 Identifier::RIGHTS_COST => $this->
buildPath(
'rights',
'cost',
'value'),
74 Identifier::RIGHTS_CP_AND_OTHER_RESTRICTIONS => $this->
buildPath(
'rights',
'copyrightAndOtherRestrictions',
'value'),
75 Identifier::RIGHTS_DESCRIPTION => $this->
buildPath(
'rights',
'description',
'string'),
76 Identifier::RELATION_KIND => $this->
buildPath(
'relation',
'kind',
'value'),
77 Identifier::RELATION_RESOURCE_IDENTIFIER_CATALOG => $this->
buildPath(
'relation',
'resource',
'identifier',
'catalog'),
78 Identifier::CLASSIFICATION_PURPOSE => $this->
buildPath(
'classification',
'purpose',
'value'),
79 Identifier::CLASSIFICATION_KEYWORD => $this->
buildPath(
'classification',
'keyword',
'string'),
80 Identifier::CLASSIFICATION_TAXPATH_SOURCE => $this->
buildPath(
'classification',
'taxonPath',
'source',
'string'),
93 return match ($identifier) {
94 Identifier::LIFECYCLE_CONTRIBUTE_PUBLISHER => $this->
buildCondition(
100 Identifier::TECHNICAL_REQUIREMENT_BROWSER => $this->
buildCondition(
121 ?
string $condition_value
123 foreach (Identifier::cases() as $identifier) {
130 $condition?->value() !== $condition_value ||
138 return Identifier::NULL;
143 foreach (Identifier::cases() as $identifier) {
153 ?
string $condition_value
160 return $identifier !== Identifier::NULL;
165 $builder = $this->path_factory->custom();
166 foreach ($steps as $step) {
167 $builder = $builder->withNextStep($step);
169 return $builder->get();
173 string $condition_value,
176 $builder = $this->path_factory->custom();
177 foreach ($steps_to_condition as $step) {
179 $builder = $builder->withNextStepToSuperElement();
182 $builder = $builder->withNextStep($step);
184 $path = $builder->withRelative(
true)->get();
194 return $this->navigator_factory->structureNavigator(
196 $this->structure->getRoot()
197 )->elementAtFinalStep()->getDefinition()->dataType();
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null