GlobalElementDeclaration

final case class GlobalElementDeclaration(targetNamespaceOption: Option[String], attributes: Attributes, annotationOption: Option[Annotation], anonymousTypeDefinitionOption: Option[AnonymousTypeDefinition], otherChildElems: IndexedSeq[SchemaContentElement]) extends ElementDeclaration with CanBeAbstract

Global element declaration. This element in isolation does not know if the element declaration is a concept declaration, because it does not know from which substitution groups its own substitution group, if any, derives.

Global element declaration. This element in isolation does not know if the element declaration is a concept declaration, because it does not know from which substitution groups its own substitution group, if any, derives.

Example, assuming an xs:schema parent (and document root) element:

<xs:element
 id="businessSegments"
 name="BusinessSegments"
 type="xbrli:monetaryItemType"
 substitutionGroup="xbrli:item"
 xbrli:periodType="duration" />

In this case, we see immediately that the global element declaration is an item concept declaration, but as said above, in general we cannot determine this without looking at the context of all other taxonomy documents in the same "taxonomy".

Once we have a SubstitutionGroupMap as context, we can turn the global element declaration into a ConceptDeclaration, if the global element declaration is indeed an item or tuple declaration according to the SubstitutionGroupMap.

The "other child elements" passed below, if any, are xs:unique, xs:key and xs:keyref elements.

Companion
object
trait Serializable
trait Product
trait Equals
trait SubtypeAwareElemLike
trait ElemLike
trait SubtypeAwareElemApi
trait ElemApi
trait AnyElemApi
class Object
trait Matchable
class Any

Type members

Inherited types

Value members

Concrete methods

Returns all own or transitively inherited substitution groups. The given mappings are used as the necessary context.

Returns all own or transitively inherited substitution groups. The given mappings are used as the necessary context.

This method may fail with an exception if the taxonomy is not schema-valid.

def hasSubstitutionGroup(substGroup: EName, substitutionGroupMap: SubstitutionGroupMap): Boolean

Returns true if this global element declaration has the given substitution group, either directly or indirectly. The given mappings are used as the necessary context, but are not needed if the element declaration directly has the substitution group itself.

Returns true if this global element declaration has the given substitution group, either directly or indirectly. The given mappings are used as the necessary context, but are not needed if the element declaration directly has the substitution group itself.

This method may fail with an exception if the taxonomy is not schema-valid.

def substitutionGroupOption: Option[EName]
def targetEName: EName

Returns the "target EName". That is, returns the EName composed of the optional target namespace and the name attribute as local part. This may fail with an exception if the taxonomy is not schema-valid, although such a failure is very unlikely.

Returns the "target EName". That is, returns the EName composed of the optional target namespace and the name attribute as local part. This may fail with an exception if the taxonomy is not schema-valid, although such a failure is very unlikely.

Inherited methods

def \(p: ThisElem => Boolean): IndexedSeq[ThisElem]
Inherited from
ElemLike
def \\(p: ThisElem => Boolean): IndexedSeq[ThisElem]
Inherited from
ElemLike
def \\!(p: ThisElem => Boolean): IndexedSeq[ThisElem]
Inherited from
ElemLike
def filterChildElems(p: ThisElem => Boolean): IndexedSeq[ThisElem]
Inherited from
ElemLike
def filterChildElemsOfType[B <: ThisElem](subType: ClassTag[B])(p: B => Boolean): IndexedSeq[B]
Inherited from
SubtypeAwareElemLike
def filterElems(p: ThisElem => Boolean): IndexedSeq[ThisElem]
Inherited from
ElemLike
def filterElemsOfType[B <: ThisElem](subType: ClassTag[B])(p: B => Boolean): IndexedSeq[B]
Inherited from
SubtypeAwareElemLike
def filterElemsOrSelf(p: ThisElem => Boolean): IndexedSeq[ThisElem]
Inherited from
ElemLike
def filterElemsOrSelfOfType[B <: ThisElem](subType: ClassTag[B])(p: B => Boolean): IndexedSeq[B]
Inherited from
SubtypeAwareElemLike
Inherited from
SchemaContentElement
def findAllChildElemsOfType[B <: ThisElem](subType: ClassTag[B]): IndexedSeq[B]
Inherited from
SubtypeAwareElemLike
def findAllElems: IndexedSeq[ThisElem]
Inherited from
ElemLike
def findAllElemsOfType[B <: ThisElem](subType: ClassTag[B]): IndexedSeq[B]
Inherited from
SubtypeAwareElemLike
def findAllElemsOrSelf: IndexedSeq[ThisElem]
Inherited from
ElemLike
def findAllElemsOrSelfOfType[B <: ThisElem](subType: ClassTag[B]): IndexedSeq[B]
Inherited from
SubtypeAwareElemLike
def findChildElem(p: ThisElem => Boolean): Option[ThisElem]
Inherited from
ElemLike
def findChildElemOfType[B <: ThisElem](subType: ClassTag[B])(p: B => Boolean): Option[B]
Inherited from
SubtypeAwareElemLike
def findElem(p: ThisElem => Boolean): Option[ThisElem]
Inherited from
ElemLike
def findElemOfType[B <: ThisElem](subType: ClassTag[B])(p: B => Boolean): Option[B]
Inherited from
SubtypeAwareElemLike
def findElemOrSelf(p: ThisElem => Boolean): Option[ThisElem]
Inherited from
ElemLike
def findElemOrSelfOfType[B <: ThisElem](subType: ClassTag[B])(p: B => Boolean): Option[B]
Inherited from
SubtypeAwareElemLike
def findTopmostElems(p: ThisElem => Boolean): IndexedSeq[ThisElem]
Inherited from
ElemLike
def findTopmostElemsOfType[B <: ThisElem](subType: ClassTag[B])(p: B => Boolean): IndexedSeq[B]
Inherited from
SubtypeAwareElemLike
def findTopmostElemsOrSelf(p: ThisElem => Boolean): IndexedSeq[ThisElem]
Inherited from
ElemLike
def findTopmostElemsOrSelfOfType[B <: ThisElem](subType: ClassTag[B])(p: B => Boolean): IndexedSeq[B]
Inherited from
SubtypeAwareElemLike
def getChildElem(p: ThisElem => Boolean): ThisElem
Inherited from
ElemLike
def getChildElemOfType[B <: ThisElem](subType: ClassTag[B])(p: B => Boolean): B
Inherited from
SubtypeAwareElemLike
final def isAbstract: Boolean
Inherited from
CanBeAbstract
final def isConcrete: Boolean
Inherited from
CanBeAbstract
final def nameAttributeValue: String
Inherited from
NamedDeclOrDef
def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product
final def resolvedName: EName
final def typeOption: Option[EName]
Inherited from
ElementDeclaration