ArcroleRef in an XBRL instance
XLink child element of an extended link, so an XLink arc, locator or resource.
Divide in an XBRL instance unit
End date in an XBRL instance context's period
Entity in an XBRL instance context
XLink extended link.
XLink extended link. For example, a footnote link.
Item or tuple fact in an XBRL instance, either top-level or nested (and either non-nil or nil)
Footnote in an XBRL instance
FootnoteArc in an XBRL instance
FootnoteLink in an XBRL instance
Forver in an XBRL instance context's period
Forever period in an XBRL instance context
Identifier in an XBRL instance context entity
Instant in an XBRL instance context's period
Instant period in an XBRL instance context
Item fact in an XBRL instance, either top-level or nested (and either non-nil or nil)
XLink locator or resource.
LinkbaseRef in an XBRL instance
Nil numeric item fact in an XBRL instance, either top-level or nested
Non-nil fraction item fact in an XBRL instance, either top-level or nested
Non-nil non-fraction numeric item fact in an XBRL instance, either top-level or nested
Non-numeric item fact in an XBRL instance, either top-level or nested (and either non-nil or nil)
Numeric item fact in an XBRL instance, either top-level or nested (and either non-nil or nil)
Other element in an XBRL instance
Period in an XBRL instance context
RoleRef in an XBRL instance
Scenario in an XBRL instance context
SchemaRef in an XBRL instance
Segment in an XBRL instance context entity
XLink simple link.
Standard locator in an XBRL instance
Start date in an XBRL instance context's period
Start-end-date period in an XBRL instance context
Tuple fact in an XBRL instance, either top-level or nested (and either non-nil or nil)
XLink arc.
XLink arc.
The xlink:from and xlink:to attributes point to XLink locators or resources in the same extended link with the corresponding xlink:label attributes.
An XLink element in an XBRL instances, obeying the constraints on XLink imposed by XBRL.
An XLink element in an XBRL instances, obeying the constraints on XLink imposed by XBRL. For example, an XLink arc or extended link.
XLink (see https://www.w3.org/TR/xlink11/) is a somewhat low level standard on top of XML, but it is very important in an XBRL context (but more so in taxonomies than in instances). Some instance elements are also XLink elements.
Simple or extended XLink link.
XLink locator.
XLink resource.
XBRL instance.
XBRL instance.
It does not check validity of the XBRL instance. Neither does it know about the DTS describing the XBRL instance. It does, however, contain the entry point URI(s) to the DTS.
Without any knowledge about the DTS, this class only recognizes (item and tuple) facts by looking at the structure of the element and its ancestry. Attribute @contextRef is only allowed for item facts, and tuple facts can be recognized by looking at the "path" of the element.
"XBRL instance DOM document".
Context in an XBRL instance
XML element inside XBRL instance (or the entire XBRL instance itself).
XML element inside XBRL instance (or the entire XBRL instance itself). This API is immutable, provided the backing element is immutable.
The yaidom SubtypeAwareElemApi
and ScopedElemApi
query API is offered.
Also note that the package-private constructor contains redundant data, in order to speed up (yaidom-based) querying, at the expense of (expensive recursive element) creation.
These XBRL instance elements are just an XBRL instance view on the underlying "backing element" tree, and therefore do not know about the taxonomy describing the XBRL instance (other than the href to the DTS entry point). It is not even required that the XBRL instance is schema-valid. Construction of an instance is indeed quite lenient.
As a consequence, this model must recognize facts by only looking at the elements and their ancestry, without knowing anything about the substitution groups of the corresponding concept declarations. Fortunately, the XBRL instance schema (xbrl-instance-2003-12-31.xsd) and the specification of allowed XBRL tuple content are (almost) restrictive enough in order to recognize facts.
It is even possible to easily distinguish between item facts and tuple facts, based on the presence or absence of the contextRef attribute. There is one complication, though, and that is nil item and tuple facts. Unfortunately, concept declarations in taxonomy schemas may have the nillable attribute set to true. This led to some clutter in the inheritance hierarchy for numeric item facts.
Hence, regarding nil facts, the user of the API is responsible for keeping in mind that facts can indeed be nil facts (which facts are easy to filter away).
Another limitation is that without the taxonomy, default dimensions are unknown. Finally, the lack of typing information is a limitation.
Note that the backing element implementation can be any implementation of yaidom query API trait BackingNodes.Elem
.
This class hierarchy depends on Java 8 or later, due to the use of Java 8 time API.
Creation of XbrliElem
objects is designed not to fail, even if the XML element is not an XBRL instance or part thereof.
Of course, after creation many query methods may fail in such cases. It is also possible to use these data classes for
XBRL instances embedded in other XML elements, or only for parts of XBRL instances. As an example of the latter, table layout
models may contain pieces of XBRL context data, such as periods. Their parent elements can be parsed into an XbrliElem
,
thus offering the XBRL instance query API on such XBRL context data.
"XBRL instance DOM node".
Unit in an XBRL instance
Model of XBRL instances, as "yaidom dialect".