19 declare(strict_types=1);
    39         VocabularyFactoryInterface $vocab_factory,
    52         return $this->path_factory
    55             ->withLeadsToExactlyOneElement(
true)
    56             ->withNextStepToSuperElement()
    57             ->withNextStep(
'source')
    86             $general->getSubElement(
'structure'),
    94             $general->getSubElement(
'aggregationLevel'),
   105         $life_cycle = $structure->
getRoot()->getSubElement(
'lifeCycle');
   107             $life_cycle->getSubElement(
'status'),
   114             $life_cycle->getSubElement(
'contribute')->getSubElement(
'role'),
   121             'graphical designer',
   122             'technical implementer',
   124             'technical validator',
   125             'educational validator',
   127             'instructional designer',
   128             'subject matter expert'   135         $meta = $structure->
getRoot()->getSubElement(
'metaMetadata');
   137             $meta->getSubElement(
'contribute')->getSubElement(
'role'),
   147                           ->getSubElement(
'technical')
   148                           ->getSubElement(
'requirement')
   149                           ->getSubElement(
'orComposite');
   152             $or->getSubElement(
'type'),
   157             $or->getSubElement(
'name'),
   159             $or->getSubElement(
'type')->getSubElement(
'value'),
   168             $or->getSubElement(
'name'),
   170             $or->getSubElement(
'type')->getSubElement(
'value'),
   172             'netscape communicator',
   173             'ms-internet explorer',
   252             $rights->getSubElement(
'cost'),
   257             $rights->getSubElement(
'copyrightAndOtherRestrictions'),
   266         $kind = $structure->
getRoot()->getSubElement(
'relation')
   267                                      ->getSubElement(
'kind');
   288         $purpose = $structure->
getRoot()->getSubElement(
'classification')
   289                                         ->getSubElement(
'purpose');
   295             'educational objective',
   296             'accessibility restrictions',
   308         $tag = $this->tag_factory->tag(
   309             $this->vocab_factory->vocabulary(self::SOURCE, ...$values)->get()
   316         string $condition_value,
   322         $path_source = $this->path_factory->betweenElements(
   327         $path_value = $this->path_factory->betweenElements(
   332         $tag_source = $this->tag_factory->tag(
   333             $this->vocab_factory->vocabulary(self::SOURCE, ...$values)
   334                                 ->withCondition($condition_value, $path_source)
   337         $tag_value = $this->tag_factory->tag(
   338             $this->vocab_factory->vocabulary(self::SOURCE, ...$values)
   339                                 ->withCondition($condition_value, $path_value)