Package

eu.cdevreeze.tqa.base

taxonomybuilder

Permalink

package taxonomybuilder

TQA bootstrapping. It works both in the JVM and in JavaScript runtime environments.

First of all, bootstrapping needs a DocumentBuilder. Next we need a discovery strategy for obtaining the root elements of the taxonomy, as DocumentCollector. This is typically DTS discovery (the details of which can be somewhat tweaked). Finally we need a RelationshipFactory (and maybe an arc filter) to create a BasicTaxonomy.

Once a BasicTaxonomy is created, it can be used as basis for wrapper taxonomy objects that know about networks of relationships, tables/formulas, etc.

The DocumentCollector and DocumentBuilder abstractions play well with XBRL Taxonomy Packages.

Specific DocumentCollectors and DocumentBuilders can be backed by thread-safe (Google Guava) caches in order to prevent re-computations of the same data.

The bootstrapping process is inherently flexible in supporting the loading of more or less broken taxonomies. For example, backing element builders can be made to post-process broken input before the taxonomy DOM is instantiated. As another example, relationships resolution can be as lenient as desired.

This package unidirectionally depends on the eu.cdevreeze.tqa.base.taxonomy, eu.cdevreeze.tqa.base.queryapi, eu.cdevreeze.tqa.base.relationship and eu.cdevreeze.tqa.base.dom packages.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. taxonomybuilder
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract class AbstractDtsCollector extends DocumentCollector

    Permalink

    Abstract partially implemented DTS discovery as document collector.

    Abstract partially implemented DTS discovery as document collector. It is memory-hungry in that all found documents are stored in memory while finding the DTS. It is also unforgiving in that broken links are not allowed.

    If there is a broken link due to a typo, consider tweaking the DocumentBuilder with some post-processing.

  2. final class DefaultDtsCollector extends AbstractDtsCollector

    Permalink

    Default DTS discovery implementation.

    Default DTS discovery implementation. It will fail for all found URIs that cannot be resolved to taxonomy documents.

    This document collector works well with XBRL Taxonomy Packages, passing an entry point in such a taxonomy package, and using a document builder that uses the XML catalog of the taxonomy package.

  3. final class Description extends TaxonomyPackageElem with DocumentationGroup

    Permalink

    Description in a taxonomy package

  4. trait DocumentCollector extends AnyRef

    Permalink

    Strategy for collecting taxonomy documents.

    Strategy for collecting taxonomy documents. Typically implemented as DTS discovery, although it is also possible that all document URIs must be explicitly mentioned, as is the case for TrivialDocumentCollector.

  5. sealed trait DocumentationGroup extends TaxonomyPackageElem

    Permalink

    Documentation group, so either a Name or a Description

  6. final class EntryPoint extends TaxonomyPackageElem

    Permalink

    EntryPoint in a taxonomy package

  7. final class EntryPointDocument extends TaxonomyPackageElem

    Permalink

    EntryPoint document in a taxonomy package

  8. final class EntryPointsElem extends TaxonomyPackageElem

    Permalink

    EntryPoints element in a taxonomy package

  9. final class Identifier extends TaxonomyPackageElem

    Permalink

    Identifier in a taxonomy package

  10. final class Language extends TaxonomyPackageElem

    Permalink

    Language in a taxonomy package

  11. final class LanguagesElem extends TaxonomyPackageElem

    Permalink

    Languages element in a taxonomy package

  12. final class License extends TaxonomyPackageElem

    Permalink

    License in a taxonomy package

  13. final class Name extends TaxonomyPackageElem with DocumentationGroup

    Permalink

    Name in a taxonomy package

  14. final class PublicationDate extends TaxonomyPackageElem

    Permalink

    Publication date in a taxonomy package

  15. final class Publisher extends TaxonomyPackageElem

    Permalink

    Publisher in a taxonomy package

  16. final class PublisherCountry extends TaxonomyPackageElem

    Permalink

    Publisher country in a taxonomy package

  17. final class PublisherUrl extends TaxonomyPackageElem

    Permalink

    Publisher URL in a taxonomy package

  18. final class SupersededTaxonomyPackagesElem extends TaxonomyPackageElem

    Permalink

    Superseded taxonomy packages element in a taxonomy package

  19. final class TaxonomyBuilder extends AnyRef

    Permalink

    Fluent interface for bootstrapping a taxonomy.

    Fluent interface for bootstrapping a taxonomy. The type system helps in getting bootstrapping right, if we start with the TaxonomyBuilder companion object.

  20. final class TaxonomyPackage extends TaxonomyPackageElem

    Permalink

    Taxonomy package root element.

    Taxonomy package root element.

    It does not check validity of the taxonomy package.

  21. sealed class TaxonomyPackageElem extends ScopedElemLike with SubtypeAwareElemLike

    Permalink

    XML element inside a taxonomy package XML tree.

    XML element inside a taxonomy package XML tree. This API is immutable, provided the backing element is immutable.

    The yaidom SubtypeAwareElemApi and ScopedElemApi query API is offered.

    Note that the package-private constructor contains redundant data, in order to speed up (yaidom-based) querying.

    It is not required that the taxonomy package elements are schema-valid. Construction of a taxonomy package element is indeed quite lenient.

    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.

  22. final class TaxonomyPackageRef extends TaxonomyPackageElem

    Permalink

    Taxonomy package reference in a taxonomy package

  23. final class Version extends TaxonomyPackageElem

    Permalink

    Version in a taxonomy package

  24. final class VersioningReport extends TaxonomyPackageElem

    Permalink

    Versioning report in a taxonomy package

  25. final class VersioningReportsElem extends TaxonomyPackageElem

    Permalink

    Versioning reports element in a taxonomy package

Value Members

  1. object DefaultDtsCollector

    Permalink
  2. object TaxonomyBuilder

    Permalink
  3. object TaxonomyPackage

    Permalink
  4. object TaxonomyPackageElem

    Permalink
  5. object TrivialDocumentCollector extends DocumentCollector

    Permalink

    Trivial document collector, performing no DTS discovery, but expecting all document URIs to be explicitly given as "entry points" instead.

Inherited from AnyRef

Inherited from Any

Ungrouped