Skip to content

Commit ed1575c

Browse files
committed
Preprocess introduced resources to honor $id, fixes #66
1 parent d4ca223 commit ed1575c

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/RefResolver.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,11 @@ public function updateResolutionScope($id)
4747
{
4848
$id = rtrim($id, '#'); // safe to trim because # in hashCode must be urlencoded to %23
4949
$rootResolver = $this->rootResolver ? $this->rootResolver : $this;
50-
if (strpos($id, '://') !== false) {
50+
if ((strpos($id, '://') !== false) || 'urn:' === substr($id, 0, 4)) {
5151
$prev = $rootResolver->setResolutionScope($id);
5252
} else {
53-
$prev = $rootResolver->setResolutionScope(Helper::resolveURI($rootResolver->resolutionScope, $id));
53+
$id = Helper::resolveURI($rootResolver->resolutionScope, $id);
54+
$prev = $rootResolver->setResolutionScope($id);
5455
}
5556

5657
return $prev;
@@ -198,6 +199,8 @@ public function resolveReference($referencePath)
198199
$refResolver->refProvider = $this->refProvider;
199200
$refResolver->url = $url;
200201
$rootResolver->setResolutionScope($url);
202+
$options = new Context(); // todo pass real ctx here, v0.13.0
203+
$rootResolver->preProcessReferences($rootData, $options);
201204
}
202205
}
203206

0 commit comments

Comments
 (0)