Adding Local Search Support For Schemas With Invalid URLs

The discussion threads on a previous post, as well as the discussion attached to a GitHub issue, speak to the fact that Gepsio cannot find facts for XBRL instances that use the Dutch taxonomy. There are a couple of issues here, so this post will discuss the issue as well as an idea that will allow Gepsio to mitigate one of the issues.

A Gepsio user recently wrote to the project and said that they were in possession of an XBRL instance that was successfully parsed by Gepsio but was devoid of facts. The XBRL instance started out as follows:

<?xml version="1.0" encoding="UTF-8"?>
<xbrli:xbrl xmlns:xbrli="" xmlns="" xmlns:dst="" xmlns:cmn="" xmlns:sob="" xmlns:link="" xmlns:iso4217="" xmlns:xsi="" xmlns:ref="" xmlns:xh11d="" xmlns:arr="" xmlns:ixt="" xmlns:lnk="" xmlns:xbrldt="" xmlns:basis="" xmlns:ifrs="" xmlns:ix="" xmlns:xhtml="" xmlns:mrv="" xmlns:xl="" xmlns:fsa="" xmlns:xbrldi="" xmlns:gsd="" xmlns:xs="" xmlns:xlink="">
   <lnk:schemaRef xlink:href="" xlink:type="simple"/>

There is an issue right away, because that schema reference specifies an invalid URL. There is no document, XML schema or otherwise, at the address of What happens here is that Gepsio loads the document, finds the schema reference, and attempts to load the schema. Since the schema load fails, it logs a validation error and continues on as best it can. Since no schemas are loaded, no element definitions are loaded, and Gepsio can find no facts.

The first question is, “Why does this document reference a taxonomy with an invalid URL?” The answer that came back was this:

But the issue is that there will never be a hosted taxonomy in denmark, since they have chosen to not take the responsibility thereof.

OK, then. Apparently, the URLs for Dutch taxonomies are placeholders, and they are meant to be available locally, in the same location as the XBRL instance.

Gepsio is being modified to assist with this issue. If Gepsio attempts to resolve a schema reference, and gets the equivalent of an HTTP 404 back from the request to retrieve the schema, then Gepsio will look for the schema in the same folder as the XBRL instance which contains the schema reference.