Grahame Grieve 2020-07-22 12:28:55 +10:00
parent a4374bf671
commit 0d8aec0db5
1 changed files with 15 additions and 7 deletions

View File

@ -239,27 +239,30 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
if (c.getAppContext() instanceof Element) { if (c.getAppContext() instanceof Element) {
Element bnd = (Element) c.getAppContext(); Element bnd = (Element) c.getAppContext();
Base res = resolveInBundle(url, bnd); Base res = resolveInBundle(url, bnd);
if (res != null) if (res != null) {
return res; return res;
} }
}
Base res = resolveInBundle(url, c.getResource()); Base res = resolveInBundle(url, c.getResource());
if (res != null) if (res != null) {
return res; return res;
}
res = resolveInBundle(url, c.getContainer()); res = resolveInBundle(url, c.getContainer());
if (res != null) if (res != null) {
return res; return res;
}
if (externalHostServices != null) if (externalHostServices != null) {
return externalHostServices.resolveReference(c.getAppContext(), url, refContext); return externalHostServices.resolveReference(c.getAppContext(), url, refContext);
else if (fetcher != null) } else if (fetcher != null) {
try { try {
return fetcher.fetch(c.getAppContext(), url); return fetcher.fetch(c.getAppContext(), url);
} catch (IOException e) { } catch (IOException e) {
throw new FHIRException(e); throw new FHIRException(e);
} }
else } else {
throw new Error(context.formatMessage(I18nConstants.NOT_DONE_YET__RESOLVE__LOCALLY_2, url)); throw new Error(context.formatMessage(I18nConstants.NOT_DONE_YET__RESOLVE__LOCALLY_2, url));
}
} }
@ -1633,6 +1636,11 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
if ("http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version".equals(extUrl)) { if ("http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version".equals(extUrl)) {
list.get(0).setExpression("Element"); // well, it can't be used anywhere but the list of places it can be used is quite long list.get(0).setExpression("Element"); // well, it can't be used anywhere but the list of places it can be used is quite long
} }
if (!VersionUtilities.isThisOrLater("4.6", context.getVersion())) {
if (Utilities.existsInList(extUrl, "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "http://hl7.org/fhir/StructureDefinition/capabilitystatement-prohibited")) {
list.get(0).setExpression("Element"); // well, they can't be used anywhere but the list of places they can be used is quite long
}
}
return list; return list;
} }