True North iXBRL Processor 2.15.0

Programmer’s Guide


1 Introduction

The True North iXBRL Processor is a Java API for validating Inline XBRL and transforming Inline XBRL to produce XBRL. There are JavaDocs included for the API.

2 Installation

2.1 Hardware

The True North iXBRL Processor is implemented in pure Java and should run on any hardware platform for which a suitable Java Runtime Environment is available (see below).

2.2 The Java Platform

The True North iXBRL Processor requires a Java 8, 11 or 17 JRE or JDK. CoreFiling recommends the latest available update release of OpenJDK 11, as this is what we use for our own production deployments. Note that Oracle Java generally requires the purchase of a commercial licence (since 2018).

For inline XBRL documents with deeply nested XHTML tags, an increased stack size is required in order to prevent a StackOverflowError. On typical 64 bit machines, the default is typically 1Mb. For the command line sample, this is increased to 10Mb. For other means of usage, it can be increased using the -Xss tuning flag.

2.3 The Java Classpath

The classpath should be set to include the JARs in the lib directory.

2.4 Licensing

To use True North iXBRL Processor you need a licence file. This is a .jar file, and you should configure the application to recognize it in one of the following ways:

2.5 Security

To prevent maliciously contrived inputs from causing the XML parser to hang we have enabled Xerces’ SecurityManager. This can be configured to limit the number of entity expansions performed, as performing too many can cause a large amount of processing. It is expected that the default limit of 50,000 will be sufficient, though this may be overridden by using the system property com.corefiling.xml.entityExpansionLimit. If the limit is exceeded, a fatal error will be raised by the processor with an error code beginning with xbrl.core.xml.MalformedXMLError.

3 Getting Started

3.1 API Entry-point

The entry-point for the True North iXBRL Processor is the InlineXBRLProcessorBuilderFactory, which provides a static factory method used to create new InlineXBRLProcessorBuilder which can be configured and then used to create as many InlineXBRLProcessor instances as necessary. Please see Processor Configuration or refer to the JavaDocs for further information.

3.2 Threading

A processor must only be used by a single thread at a time. To validate multiple inputs in parallel, multiple processors with the same configuration can be created by repeated calls to build on the same builder. Whilst the process method is synchronized to prevent illegal access by multiple threads, the same safety is not provided for access to the InlineXBRLProcessingResult. If accessing the result then it is up to the client programmer to ensure that no other thread is accessing the result.

3.3 Character Encodings and the Byte Order Mark (BOM)

To ensure correct handling of character encodings when processing StreamSource inputs use setInputStream rather than setReader. Using an InputStream means the XML parser is responsible for determining the character encoding, which is normally the correct approach as the encoding is specified in XML files. Using a Reader means the programmer must correctly set the character encoding.

Some XML documents contain a byte order mark (BOM), an initial Unicode character used to signal the byte order of the XML file’s characters. This will be correctly handled by the XML parser in the True North iXBRL Processor if an InputStream is used, but most Reader implementations will consider it to be a regular character. This may result in an error with code xbrl.core.xml.MalformedXMLError and the message “Content is not allowed in prolog”.

3.4 Use with other CoreFiling products

The True North iXBRL Processor may be used in conjunction with True North XBRL Processor or True North Enterprise Processor for further processing of the extracted XBRL. Note that because these other CoreFiling products share some common APIs with the True North iXBRL Processor, a compatible version of True North XBRL Processor or True North Enterprise Processor must be used - currently 3.48.0 or greater. Older versions are not supported for use in the same Java Virtual Machine as the True North iXBRL Processor

4 Processor Configuration

The settings documented in this chapter are scoped to each processor, and as such it is possible to create multiple processors in the same JVM that are configured differently in these respects. Each processor is configured before creation by calling appropriate methods on the InlineXBRLProcessorBuilder.

4.1 Supported Transformations

The True North iXBRL Processor has support for the following versions of the transformations schema:

The processor can be configured to implement any set of these by calling InlineXBRLProcessorBuilder.setTransformationsVersions. By default, all REC status Transformation Registries up to version 5.0 are available.

In addition the processor can be configured to support certain transformations defined by authorities other than XBRL International by calling InlineXBRLProcessorBuilder.setAdditionalTransformationCollections. This release of the True North iXBRL Processor supports the following transformation namespaces:

Namespace Description
http://www.sec.gov/inlineXBRL/transformation/2015-08-31 Transformations defined by the SEC in section 5.2.5.12 of the EDGAR Filer Manual (Volume II) Version 51

The behaviour of the processor with respect to a transformation that is not supported can be configured by calling InlineXBRLProcessorBuilder.setUnsupportedTransformationHandling. Two options are available:

4.2 Support Pass-through

By default, processors do not accept XBRL instance documents. The processor can be configured to pass these through to the output unchanged. See InlineXBRLProcessorBuilder.setSupportPassThrough.

4.3 Minimizing Output

By default, the processor will remove unused contexts, units, rolerefs and arcrolerefs from the output XBRL instance documents. This behaviour can be configured by calling InlineXBRLProcessorBuilder.setMinimizeOutput.

4.4 Relativizing Hrefs

By default, the processor attempts to modify hrefs in the input document set to be relative to the locations of the output documents. This behaviour can be configured by calling InlineXBRLProcessorBuilder.setRelativizeHrefs.

4.5 Locale

The locale of the error messages returned from processing can be configured by calling InlineXBRLProcessorBuilder.setLocale. True North iXBRL Processor only has support for English by default, though the bundles may be overridden as described in the next section.

4.6 Inline XBRL Versions

The specification versions supported by True North iXBRL Processor may be configured by calling InlineXBRLProcessorBuilder.setInlineXBRLVersions. If not specified then all versions supported by the active license are used. See also Conformance Status.

4.7 Synthesizing fact IDs

The processor can be configured to synthesize IDs for any facts that do not have them in the input iXBRL documents by calling InlineXBRLProcessorBuilder.setEnsureFactIds. By default, the processor only synthesizes IDs for facts that require them (specifically, for iXBRL 1.0 documents, facts that have footnote references).

4.8 Validation Message Bundles

Messages are read from bundles using the Java Resource Bundle strategy. In order to customise the messages generated by validation, it is necessary to override the following property bundles by adding a locale suffix (e.g. XBRLMessageStrings_es.properties for the “es” locale). Note that it is important that a suffix is appended to the filename in order to avoid conflict with the built-in bundles.

In addition, the following bundles in Xerces are used to generate XML and Schema validation messages:

5 Samples

5.1 Sample Inputs

Some sample input Inline XBRL documents which may be used for testing are included under samples/ixbrl. This directory also includes a minimal taxonomy, against which the XBRL output of the processor is valid. A further set of Inline XBRL samples is provided in samples/conformanceSamples. These are derived (with modifications) from the public conformance suite. The output from these samples is valid against a set of CT Comp schemas in samples/schemas. Note that these schemas are not necessarily the latest versions of the CT Comp, and are provided for convenience of XBRL validation.

5.2 Building the Samples

  1. Ensure your system has an installation of Gradle version 6.4 or newer, and that JAVA_HOME points to a Java JDK installation (not a JRE).

  2. Install your licence, using one of the methods described in Licensing. If you choose to copy it into the lib directory, you must do this before building the sample or else the build will not put the licence on the classpath.

  3. cd to the directory containing the application you wish to build.

  4. Type gradle build. This will create a .zip file under build/distributions. You may unpack this zip anywhere. It contains all the files needed to run the application.

    Alternatively, type gradle installDist. This installs the complete application under build/install.

  5. Launcher scripts for Windows (.bat extension) and Unix (no extension) can be found under bin/ within the installation or zip.

5.3 Command Line

samples/command-line contains a simple command line sample to show usage of the True North iXBRL Processor. To build it, follow the steps in Building the Samples.

You can then try out the processor from the command line with some of the included samples. Running the script without arguments prints the usage message.

Example usage (assuming the sample has been built with gradle installDist):

build/install/extractor/bin/extractor ../ixbrl/1.1/schemaValid.html -o output/

5.4 Servlet

samples/servlet contains a simple servlet program. To build it, follow the steps in Building the Samples. You can also build and run the servlet with the single command gradle run.

The servlet can be controlled from a browser by navigating to the URL indicated by the command line output (for example, by going to http://localhost:9090). From this page, a single Inline XBRL instance can be submitted from the first form. Multiple input Inline XBRL files in a ZIP file can be submitted via the second form. If the input is valid Inline XBRL, a dialog should appear and the XBRL output can be saved as a ZIP file. If the input is not valid Inline XBRL, the processor error message(s) will appear in the main frame.

6 Conformance

6.1 Conformance Status

The processor is conformant to these specifications:

A new licence is required to process 1.1 documents. 1.0 documents remain supported, and new API methods described in Inline XBRL Versions have been added to specify which version(s) to accept.

6.2 Conformance Runner

A conformance running program is included with the True North iXBRL Processor, along with ZIP files of the latest published conformance suites for Inline XBRL 1.0 and 1.1.

The conformance runner can also be used for the Inline XBRL Transformation Rules Registry conformance suites.

The conformance runner can be found in the conformance directory. To build it, follow the steps in Building the Samples. This will also unpack the conformance suite ZIP files.

The conformance runner takes as an argument either the name of a directory containing ‘.example’ test cases, or a single XML file - containing transformation test cases or an index of Inline XBRL test cases.

Example usage (assuming the sample has been built with gradle installDist):

build/install/conformanceRunner/bin/conformanceRunner conf-processor-1.0
build/install/conformanceRunner/bin/conformanceRunner conf-processor-1.1

You can also skip the gradle build or gradle installDist command and run a suite from scratch with the single command gradle runSuite10 or gradle runSuite11.

On Windows, use conformanceRunner.bat in place of conformanceRunner. Note that the output of the conformance runner contains some international characters that, depending on your user settings, may not display correctly in the Windows Command Prompt.

7 Number Handling

For speed of processing and memory usage reasons there are limitations on the values of numeric types that the processor can handle; if a number exceeds the limit, an xbrl.ixbrl.NumberOverflow error is issued. The case where this can occur is as follows:

The absolute value of an ix:numerator, ix:denominator or ix:nonFraction element after applying any scaling must be no greater than 10^350 and its decimal representation must have no more than 350 digits to the right of the decimal point. For example, an input value of 1.1 with a scale of 350 will lead to this error. A value of 1 with a scale of 350 will not.

8 Duplicate Facts

If the Inline XBRL document set contains two or more facts which share the same value and have the same attribute values (in other words, they can be thought of as duplicates), the processor does not make any attempt at de-duplication, except in the case where a tuple has duplicate child facts (see below). This is permitted by Section 3.2 of the specification.

If the Inline XBRL document set contains two or more facts with the same attributes and same whitespace normalized values, and these facts are all children of the same tuple, only one of them will be present in the output target document set. This is as required by Section 13.1 of the specification.

9 Remappings

The True North iXBRL Processor contains bundled copies of various standard XML schemas. It loads these whenever their namespaces are used in a document in the appropriate version of Inline XBRL.

When processing Inline XBRL 1.0 documents, schemas with these namespaces can be loaded:

Namespace
http://www.w3.org/1999/xhtml
http://www.w3.org/1999/xhtml/datatypes/
http://www.w3.org/1999/xlink
http://www.w3.org/XML/1998/namespace
http://www.xbrl.org/2003/instance
http://www.xbrl.org/2003/linkbase
http://www.xbrl.org/2003/XLink
http://www.xbrl.org/2008/inlineXBRL

When processing Inline XBRL 1.1 documents, schemas with these namespaces can be loaded:

Namespace
http://www.w3.org/1999/xhtml
http://www.w3.org/1999/xhtml/datatypes/
http://www.w3.org/1999/xlink
http://www.w3.org/XML/1998/namespace
http://www.xbrl.org/2003/instance
http://www.xbrl.org/2003/linkbase
http://www.xbrl.org/2003/XLink
http://www.xbrl.org/2013/inlineXBRL

10 Error Messages

All XML or XML Schema validation errors reported have codes starting with the prefix xbrl.core.xml. The specific errors raised through Inline XBRL validation are defined below.

Error Code Message Level Description Example Message Specification Reference (Inline XBRL 1.0) Specification Reference (Inline XBRL 1.1)
xbrl.ixbrl.ContinuationInvalidNesting FATAL_ERROR Elements in a continuation chain must not be nested. The continuation chain contains one or more elements which are nested inside each other. 6.1.2
xbrl.ixbrl.ContinuationReuse FATAL_ERROR Continuations cannot be referenced by more than one element. The continuation reference 'continuation1' is used as the value of the continuedAt attribute on more than one element. 4.1.2
xbrl.ixbrl.DanglingContinuation FATAL_ERROR There does not exist a continuation with the given reference as its ID. Cannot resolve continuation for continuation reference 'continuation1'. 4.1.2
xbrl.ixbrl.DanglingFootnote FATAL_ERROR There does not exist a footnote with the given reference. Cannot resolve footnote for footnote reference 'note1'. 6.1.2
xbrl.ixbrl.DanglingRelationshipFromRef FATAL_ERROR There does not exist a fact with the given reference as its ID. Cannot resolve fact for ix:relationship fromRefs value 'fact1'. 13.1.2
xbrl.ixbrl.DanglingRelationshipToRef FATAL_ERROR There does not exist a fact or footnote with the given reference as its ID. Cannot resolve fact or footnote for ix:relationship toRefs value 'footnote1'. 13.1.2
xbrl.ixbrl.DuplicateFootnoteId FATAL_ERROR The named footnote id has been defined more than once in the input document set; this is not allowed. Duplicate footnote id found: 'note1'. 5.1.2
xbrl.ixbrl.DuplicateId FATAL_ERROR Elements ix:footnote, ix:fraction, ix:nonFraction, ix:nonNumeric, ix:references, ix:tuple, xbrli:context and xbrli:unit must not have an id attribute value which matches that for any other element in the input document set. Multiple elements in the input document set share the ID 'id1':
{http://www.example.org/test}input1 http://www.example.org/test/instance.xhtml (line 1 column 1)
{http://www.example.org/test}input2 http://www.example.org/test/instance.xhtml (line 2 column 1).
9.1.2 10.1.2
xbrl.ixbrl.DuplicateTupleId FATAL_ERROR The named tuple id has been defined more than once in the input document set; this is not allowed. Duplicate tuple id 'address'. 13.1.2 15.1.2
xbrl.ixbrl.FootnoteWithoutXmlLangInScope FATAL_ERROR An ix:footnote element must have an xml:lang attribute in scope, so that the corresponding link:footnote elements have xml:lang attributes (which are required to be XBRL-valid). The ix:footnote with id 'note1' has no xml:lang attribute in scope. 5.1.2 6.1.2
xbrl.ixbrl.FormatAbsentNegativeNumber FATAL_ERROR If the format attribute is absent, the input value must be a non-negative number with no commas or other formatting. The input '-1' cannot be parsed as a non-negative number. 9.1.2 10.1.2
xbrl.ixbrl.FormatUndefined FATAL_ERROR The transform function must be defined within its registry. The transformation registry with namespace 'http://www.xbrl.org/inlineXBRL/transformation/2010-04-20' does not include the transform function 'unsupported'. 9.1.2 10.1.2
xbrl.ixbrl.FractionNestedAttributeMismatch FATAL_ERROR When ix:fraction elements are nested, all the nested elements must have the same unitRef attribute. The ix:fraction has one or more descendant ix:fraction elements with a different actual value for the unitRef attribute. 7.1.2
xbrl.ixbrl.FractionNestedNilMismatch FATAL_ERROR xsi:nil ix:fractions may not be nested inside other ix:fractions. The ix:fraction is xsi:nil but has an ancestor ix:fraction. 7.1.1
xbrl.ixbrl.HeaderAbsent FATAL_ERROR The element 'ix:header' is required, but has not been found in the input document set. ix:header element not found in input document set. 7.1.3 8.1.3
xbrl.ixbrl.IncompleteFraction FATAL_ERROR The named fraction is missing either a numerator or a denominator, as indicated. Fraction 'example:coverage' is missing a 'numerator'. 6.1.1 7.1.2
xbrl.ixbrl.InconsistentTargets FATAL_ERROR The children of a tuple must have the same target document as the tuple that contains them. In this case the named child does not. The child 'example:section' of the tuple 'example:department' has a different target document attribute, 'target1', from the tuple, which has target document 'target2'. 13.1.1 15.1.1
xbrl.ixbrl.InvalidAttributeContent FATAL_ERROR Attributes from the XBRL instance namespace cannot be used on ix:fraction, ix:nonFraction, ix:nonNumeric and ix:tuple elements. The attribute 'periodType' with namespace 'http://www.xbrl.org/2003/instance' cannot be used on 'nonNumeric'. 10.1.1 11.1.1
xbrl.ixbrl.InvalidDataType FATAL_ERROR The input value is not valid against the type determined by the format. The input '2000-01-01' on the element 'ex:dateOfEvent' is not schema-valid against the type 'ixt:datedoteu'. 10.1.2 11.1.2
xbrl.ixbrl.InvalidFormalPublicIdentifier ERROR The Formal Public Identifier version on the supplied document was invalid. The expected value for the Formal Public Identifier version on an input document is '-//XBRL International//DTD XHTML Inline XBRL 1.0//EN', but the supplied document had the value '-//XBRL International//DTD XHTML Inline XBRL 0.1//EN'.
xbrl.ixbrl.InvalidInputDocumentSet FATAL_ERROR The input document set must be one or more Inline XBRL documents, or a single XBRL instance if pass through mode is enabled. The input document set contained an invalid document or combination of documents.
xbrl.ixbrl.InvalidTupleChild FATAL_ERROR The named tuple has an unsupported child element. Unsupported tuple child 'ix:numerator' as a child of ix:tuple 'example:address'. 13.1 15.1
xbrl.ixbrl.MisplacedExclude FATAL_ERROR ix:exclude elements must be descendants of one or more of the correct ancestors to have meaning. The ix:exclude element is not a descendant of an ix:nonNumeric, ix:footnote or ix:continuation. 4.1.1 5.1.1
xbrl.ixbrl.MisplacedIXElement FATAL_ERROR The xbrli:context element must not have descendant Inline XBRL Elements. The Inline XBRL Element occurs as a descendant of the xbrli:context element. 3.1.1
xbrl.ixbrl.MixedInlineXBRLVersions FATAL_ERROR All input Inline XBRL instances must conform to the same version of the Inline XBRL specification. The input document set contained documents utilising more than one Inline XBRL version.
xbrl.ixbrl.MultipleNumeratorDenominator FATAL_ERROR The named fraction has either multiple numerators or denominators present, as indicated. Multiple 'denominator' elements detected in ix:fraction 'example:gearingRatio'. 6.1.1 7.1.2
xbrl.ixbrl.NilTupleWithChild FATAL_ERROR Nil tuples must not have children, either by reference or structure. The nil tuple 'example:region' has child elements which reference its tupleID 13.1.2 15.1.2
xbrl.ixbrl.NonFractionChildElementMixed FATAL_ERROR ix:nonFraction elements which are not xsi:nil must have exactly one child, which will be either a text node or another ix:nonFraction element. The ix:nonFraction element has both child text nodes and a child ix:nonFraction element. Only one child is permitted. 10.1.1
xbrl.ixbrl.NonFractionIncompleteContent FATAL_ERROR ix:nonFraction elements which are not xsi:nil and do not have child elements must have a non-empty string as their child text node. The ix:nonFraction element has an empty string as its child node. This is only permitted if xsi:nil is set to true. 10.1.1
xbrl.ixbrl.NonFractionNestedAttributeMismatch FATAL_ERROR When ix:nonFraction elements are nested, all the nested elements must have the same (or no) format, unitRef and scale attributes. The ix:nonFraction has one or more descendant ix:nonFraction elements with a different actual value for the unitRef attribute. 10.1.1
xbrl.ixbrl.NonFractionNestedNilMismatch FATAL_ERROR xsi:nil nonFractions cannot be nested. The ix:nonFraction is not xsi:nil but contains a child ix:nonFraction which is. 10.1.1
xbrl.ixbrl.NumberOverflow FATAL_ERROR The input value exceeds the supported range for numeric values, or the fractional part of its decimal representation requires more than the maximum permitted number of digits. The scaled value of element 'example:costs' is outside the supported range for numeric values, or the fractional part of its decimal representation requires more than the maximum permitted number of digits.
xbrl.ixbrl.OrderAbsent FATAL_ERROR The named element is missing an order attribute which elements inside a tuple by reference or structure require. The element 'example:street' is a child of the tuple 'example:address' but is missing an order attribute. 13.1.2 15.1.2
xbrl.ixbrl.OrderDuplicate FATAL_ERROR The order attributes on children of a tuple must be unique, except if they have identical whitespace-normalized values. In this case, the named children of the identified tuple have the same order attribute value, but different whitespace-normalized values. Found duplicate order attributes on 'example:street' and 'example:town', which are both children of the tuple 'example:address', and do not have the same whitespace-normalized values. 13.1.2 15.1.2
xbrl.ixbrl.OrderOnNonTupleChild FATAL_ERROR The named element should have attribute 'order' if and only if it is the child of a tuple. Element 'example:acquisitions' has order property '2' but is not a child of a tuple, either by reference or structure. 13.1.2 15.1.2
xbrl.ixbrl.PrecisionAndDecimalsAbsent FATAL_ERROR The named ix:nonFraction element has neither 'precision' nor 'decimals' attributes, nor has xsi:nil=true. It must satisfy precisely one of these cases. The ix:nonFraction element 'example:output' has neither a precision attribute, nor a decimals attribute, nor has xsi:nil=true. 9.1.1 10.1.1
xbrl.ixbrl.PrecisionAndDecimalsPresent FATAL_ERROR The named ix:nonFraction element satisfies more than one of the following cases: it has a 'precision' attribute, it has a 'decimals' attribute, it has xsi:nil=true; the three are mutually exclusive. The ix:nonFraction element 'example:output' satisfies more than one of the following cases: it has a precision attribute, it has a decimals attribute, it has xsi:nil=true. 9.1.1 10.1.1
xbrl.ixbrl.ReferencesAbsent FATAL_ERROR An element 'ix:references' is required for each target document, but there is not one for the default target document. ix:references not found for the default target document 11.1.2 12.1.2
xbrl.ixbrl.ReferencesNamespaceClash FATAL_ERROR In order to preserve the meaning of possible QName-valued attributes on ix:references when they are copied to the target document's xbrli:xbrl element, the namespace contexts of the ix:references must not conflict. There are multiple ix:references elements for 'default target document', and their namespace contexts conflict. 12.1.2
xbrl.ixbrl.RelationshipCrossDuplication FATAL_ERROR A fact must not be used as its own footnote. The fact(s) with ID(s) 'fact1', 'fact3' are referenced in both the fromRefs and toRefs attributes of the same ix:relationship. 13.1.2
xbrl.ixbrl.RelationshipMixedToRefs FATAL_ERROR If any of the elements referenced by the toRefs attribute of an ix:relationship are footnotes, they must all be footnotes. The toRefs attribute of the ix:relationship refers to a mixture of facts and footnotes: 'footnote1 fact9'. 13.1.2
xbrl.ixbrl.RepeatedIdAttribute FATAL_ERROR The attribute "id" was specified in more than one ix:references element with the same {target} property. The attribute "id" is specified in more than one ix:references element for the 'default target document'. 11.1.2 12.1.2
xbrl.ixbrl.RepeatedOtherAttributes FATAL_ERROR The attribute was specified in more than one ix:references element with the same {target} property. The attribute '{http://www.example.org/custom}attr' is specified in more than one ix:references element for the 'default target document'. 11.1.2 12.1.2
xbrl.ixbrl.ResourcesAbsent FATAL_ERROR The element 'ix:resources' is required, but has not been found in the input document set. ix:resources not found in input document set. 12.1.2 14.1.2
xbrl.ixbrl.TupleCycle FATAL_ERROR A tuple is contained within another tuple by reference or structure, but the former tuple also contains the latter tuple by reference or structure. This is not allowed. Cycle detected in tuple declarations while adding 'example:region'. 13.1.2 15.1.2
xbrl.ixbrl.TupleNonEmptyValidation FATAL_ERROR The named tuple has no children either by reference or structure; non-nil tuples must not be empty. The tuple 'example:region' has no child elements. 13.1.2 15.1.2
xbrl.ixbrl.UnknownContext FATAL_ERROR There is no context found for the given id in the document set. Cannot find context definition with id 'current' on element 'example:industry'. 10.1.2 11.1.2
xbrl.ixbrl.UnknownFractionChild FATAL_ERROR The named fraction has an unsupported child element. Unsupported fraction child 'ix:nonFraction' as a child of ix:fraction 'example:efficiency'. 6.1 7.1
xbrl.ixbrl.UnknownTuple FATAL_ERROR The indicated tupleRef does not correspond to a tuple defined in the document set. The tupleRef 'tuple1' on the object 'example:division' cannot be resolved into a known tuple. 10.1.2 11.1.2
xbrl.ixbrl.UnknownUnit FATAL_ERROR There is no unit found for the given id in the document set. Cannot find unit definition with id 'newtons' on element 'example:force'. 9.1.2 10.1.2
xbrl.ixbrl.UnparseableNumber FATAL_ERROR After translation (as specified by the format attribute on the element), the value is not parseable as a number. Translated input 'One' cannot be parsed as a number. 9.1.2 10.1.2
xbrl.ixbrl.UnreferencedContinuation FATAL_ERROR The specified continuation's id does not appear as the continuedAt attribute of a nonNumeric, footnote or another continuation. This means its content will not appear in the output. The continuation with ID 'continuation1' is not referenced. 4.1.2
xbrl.ixbrl.UnreferencedFootnote WARNING The specified footnote's id is not referenced in the footnoteRefs attribute of any fact in the input document. This means that the footnote will not appear in the output. The footnote with id 'footnote1' is not referenced by any fact.
xbrl.ixbrl.UnresolvableRelativeURI FATAL_ERROR The document does not have an identifiable absolute base URI for use in resolving relative URIs in the content of an ix:nonNumeric or ix:footnote element. Note that if an HTML <base> element is present in the document, it must contain an absolute URI. Cannot obtain absolute base URI against which to resolve relative URI 'example.png' in attribute 'src' of element 'img'. 10.1 11.1
xbrl.ixbrl.UnsupportedDocumentType FATAL_ERROR Input documents must be valid Inline XBRL instances with root element xhtml:html. XBRL instances with root element xbrli:xbrl are supported if pass-through mode is enabled. The document with root element '{http://www.example.org/}example' was not recognised as a supported document type; expected '{http://www.w3.org/1999/xhtml}html'.
xbrl.ixbrl.UnsupportedVersion FATAL_ERROR The processor can be configured to accept or reject a range of different versions of Inline XBRL, subject to licensing restrictions. The supplied document(s) use Inline XBRL Version 1.0, which this processor is not configured to accept.
xbrl.ixbrl.XBRLInputPassedThrough OK The input was an XBRL instance document and this has been passed through unchanged to the output. XBRL instance input document passed through unchanged.

11 Acknowledgements

This product contains software developed by third-party developers. Details of the licences under which such software is distributed are included in LICENSING.TXT.

12 Notice

This product and all accompanying documentation is confidential and must only be used by active licensees, their employees and contractors.