Trait

eu.cdevreeze.tqa.base.queryapi

SchemaApi

Related Doc: package queryapi

Permalink

trait SchemaApi extends AnyRef

Purely abstract trait offering a schema API. It offers methods to regard a taxonomy as a collection of schema documents, without any knowledge about XBRL in particular.

Implementations should make sure that looking up schema content by EName is fast. Lookup up global element declarations by URI must also be fast.

Implementations may be strict or lenient in enforced requirements on the schema. For example, implementations are free to check or ignore that within a "schema" "target" expanded names of global element declarations, type definitions etc. must be unique.

Only methods for querying "global" schema content are offered. The returned objects themselves can be used to query for nested content.

Finder methods for schema root elements and their (expected) children (like global element declarations, named type definitions etc.) are free to stop searching beyond topmost found elements. Hence, in schema-invalid taxonomies, it is possible that these finder methods do not find all elements of the expected type.

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

Abstract Value Members

  1. abstract def filterGlobalAttributeDeclarations(p: (GlobalAttributeDeclaration) ⇒ Boolean): IndexedSeq[GlobalAttributeDeclaration]

    Permalink
  2. abstract def filterGlobalElementDeclarations(p: (GlobalElementDeclaration) ⇒ Boolean): IndexedSeq[GlobalElementDeclaration]

    Permalink
  3. abstract def filterGlobalElementDeclarationsOnOwnOrInheritedSubstitutionGroup(sg: EName): IndexedSeq[GlobalElementDeclaration]

    Permalink
  4. abstract def filterGlobalElementDeclarationsOnOwnSubstitutionGroup(p: (EName) ⇒ Boolean): IndexedSeq[GlobalElementDeclaration]

    Permalink
  5. abstract def filterNamedComplexTypeDefinitions(p: (NamedComplexTypeDefinition) ⇒ Boolean): IndexedSeq[NamedComplexTypeDefinition]

    Permalink
  6. abstract def filterNamedSimpleTypeDefinitions(p: (NamedSimpleTypeDefinition) ⇒ Boolean): IndexedSeq[NamedSimpleTypeDefinition]

    Permalink
  7. abstract def filterNamedTypeDefinitions(p: (NamedTypeDefinition) ⇒ Boolean): IndexedSeq[NamedTypeDefinition]

    Permalink
  8. abstract def filterXsdSchemas(p: (XsdSchema) ⇒ Boolean): IndexedSeq[XsdSchema]

    Permalink

    Returns schema root elements obeying some predicate.

    Returns schema root elements obeying some predicate. To find certain taxonomy schema elements, the following pattern can be used:

    filterXsdSchemas(p).flatMap(_.filterElemsOrSelfOfType(classTag[E])(pred))
  9. abstract def findAllGlobalAttributeDeclarations: IndexedSeq[GlobalAttributeDeclaration]

    Permalink
  10. abstract def findAllGlobalElementDeclarations: IndexedSeq[GlobalElementDeclaration]

    Permalink
  11. abstract def findAllNamedComplexTypeDefinitions: IndexedSeq[NamedComplexTypeDefinition]

    Permalink
  12. abstract def findAllNamedSimpleTypeDefinitions: IndexedSeq[NamedSimpleTypeDefinition]

    Permalink
  13. abstract def findAllNamedTypeDefinitions: IndexedSeq[NamedTypeDefinition]

    Permalink
  14. abstract def findAllXsdSchemas: IndexedSeq[XsdSchema]

    Permalink

    Returns the schema root elements.

    Returns the schema root elements. To find certain taxonomy schema elements, the following pattern can be used:

    findAllXsdSchemas.flatMap(_.filterElemsOrSelfOfType(classTag[E])(pred))
  15. abstract def findBaseTypeOrSelfUntil(typeEName: EName, p: (EName) ⇒ Boolean): Option[EName]

    Permalink

    If the given type obeys the type predicate, returns it, wrapped in an Option.

    If the given type obeys the type predicate, returns it, wrapped in an Option. Otherwise, returns the optional base type if that type obeys the type predicate, and so on, until either the predicate holds or no further base type can be found in the taxonomy.

  16. abstract def findGlobalAttributeDeclaration(ename: EName): Option[GlobalAttributeDeclaration]

    Permalink
  17. abstract def findGlobalAttributeDeclaration(p: (GlobalAttributeDeclaration) ⇒ Boolean): Option[GlobalAttributeDeclaration]

    Permalink
  18. abstract def findGlobalElementDeclaration(ename: EName): Option[GlobalElementDeclaration]

    Permalink
  19. abstract def findGlobalElementDeclaration(p: (GlobalElementDeclaration) ⇒ Boolean): Option[GlobalElementDeclaration]

    Permalink
  20. abstract def findGlobalElementDeclarationByUri(uri: URI): Option[GlobalElementDeclaration]

    Permalink
  21. abstract def findNamedComplexTypeDefinition(ename: EName): Option[NamedComplexTypeDefinition]

    Permalink
  22. abstract def findNamedComplexTypeDefinition(p: (NamedComplexTypeDefinition) ⇒ Boolean): Option[NamedComplexTypeDefinition]

    Permalink
  23. abstract def findNamedSimpleTypeDefinition(ename: EName): Option[NamedSimpleTypeDefinition]

    Permalink
  24. abstract def findNamedSimpleTypeDefinition(p: (NamedSimpleTypeDefinition) ⇒ Boolean): Option[NamedSimpleTypeDefinition]

    Permalink
  25. abstract def findNamedTypeDefinition(ename: EName): Option[NamedTypeDefinition]

    Permalink
  26. abstract def findNamedTypeDefinition(p: (NamedTypeDefinition) ⇒ Boolean): Option[NamedTypeDefinition]

    Permalink
  27. abstract def findXsdSchema(p: (XsdSchema) ⇒ Boolean): Option[XsdSchema]

    Permalink

    Finds an optional schema root element obeying some predicate.

    Finds an optional schema root element obeying some predicate. To find certain taxonomy schema elements, the following pattern can be used:

    findXsdSchema(p).toIndexedSeq.flatMap(_.filterElemsOrSelfOfType(classTag[E])(pred))
  28. abstract def getGlobalAttributeDeclaration(ename: EName): GlobalAttributeDeclaration

    Permalink
  29. abstract def getGlobalElementDeclaration(ename: EName): GlobalElementDeclaration

    Permalink
  30. abstract def getGlobalElementDeclarationByUri(uri: URI): GlobalElementDeclaration

    Permalink
  31. abstract def getNamedComplexTypeDefinition(ename: EName): NamedComplexTypeDefinition

    Permalink
  32. abstract def getNamedSimpleTypeDefinition(ename: EName): NamedSimpleTypeDefinition

    Permalink
  33. abstract def getNamedTypeDefinition(ename: EName): NamedTypeDefinition

    Permalink
  34. abstract def substitutionGroupMap: SubstitutionGroupMap

    Permalink

    Returns the known substitution groups as SubstitutionGroupMap.

    Returns the known substitution groups as SubstitutionGroupMap. If the taxonomy is closed under DTS discovery, these substitution groups are found within the taxonomy. Otherwise they may partly be external.

    Implementations should store this as a field, in order to make substitution group lookups as fast as possible.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  16. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped