19 declare(strict_types=1);
    71                 $this->structure->getRoot(),
    82         $navigator = $this->navigator_factory->structureNavigator(
    84             $this->structure->getRoot()
   104         int $id_from_parent_table,
   108             throw new \ilMDStructureException(
'LOM Structure is nested to deep.');
   112             $tag = $this->
tag($sub);
   113             $table = $tag?->table() ?? 
'';
   117             $parent_id = $id_from_parent_table;
   119             if (!is_null($result_row)) {
   120                 $result_rows = [$result_row];
   122             if ($table && $result_row?->table() !== $table) {
   123                 $parent_id = $result_row?->id() ?? 0;
   124                 $result_rows = $this->querier->read(
   131             foreach ($result_rows as $row) {
   132                 $value = $row->value($tag?->dataField() ?? 
'');
   133                 if ($definition->dataType() === Type::VOCAB_SOURCE) {
   134                     $value = LOMVocabInitiator::SOURCE;
   138                     $definition->dataType() !== Type::NULL &&
   159                     $definition->dataType() !== Type::VOCAB_SOURCE &&
   160                     count($sub_elements) <= 1 &&
   161                     (($sub_elements[0] ?? null)?->getData()?->type() ?? Type::VOCAB_SOURCE) === Type::VOCAB_SOURCE
   166                 yield $this->element_factory->element(
   185             throw new \ilMDStructureException(
'LOM Structure is nested to deep.');
   188         $tag = $this->
tag($struct);
   189         if (!is_null($tag) && $table !== $tag?->table()) {
   192         if (!is_null($tag)) {
   211         return $struct->getDefinition();
   221             yield 
from $struct->getSubElements();
   224         if ($next_struct = $struct->
nextStep()) {
   237         return $this->dictionary->tagForElement($struct);
   244         $root_definition = $this->structure->
getRoot()->getDefinition();
   245         return $this->element_factory->set(
   247             $this->element_factory->root(