getValue()) { case self::DRAFT_3: return 'draft03'; case self::DRAFT_4: return 'draft04'; case self::DRAFT_6: return 'draft06'; case self::DRAFT_7: return 'draft07'; case self::DRAFT_2019_09: return 'draft2019-09'; case self::DRAFT_2020_12: return 'draft2020-12'; default: throw new \Exception('Unsupported schema URI: ' . $this->getValue()); } } public function withoutFragment(): string { return rtrim($this->getValue(), '#'); } }