19 declare(strict_types=1);
43 $this->initiator = $dictionary_initiator;
53 if (!isset($this->dictionary)) {
54 $this->dictionary = $this->initiator->get();
56 foreach ($this->dictionary->tagsForElement($element) as $tag) {
57 yield $tag->vocabulary();
68 $is_vocab_value =
false;
70 if ($element->
getDefinition()->dataType() === Type::VOCAB_VALUE) {
71 $is_vocab_value =
true;
74 $this->initiator->pathFromValueToSource(),
79 if ($is_vocab_value &&
$vocab->source() !== $source) {
102 if ($value === $vocabulary->
condition()->value()) {
113 $element = $this->navigator_factory->navigator(
116 )->lastElementAtFinalStep();
118 if (!isset($element)) {
126 return $element->getMarker()->dataValue();
128 return $element->getData()->value();