public function enterAttribute(AttributePath $path): void
    {
        if ($this->done) {
            return;
        }

        $name = $path->getName();
        $value = $this->getValue($path, $this->attributes);
        $pattern = $path->getTypePattern();

        $this->validateValue($name, $value, $pattern);

        $this->uri .= $value;
    }