SchemaContentElement

sealed trait SchemaContentElement extends SubtypeAwareElemApi with SubtypeAwareElemLike

Any '''taxonomy schema content element''' in the model. It is either standard schema content, which is a representation of an element in the XML Schema namespace, or it is appinfo content. The schema root element, and imports and linkbaseRefs are not represented in this model. Neither are the topmost annotation and their child appinfo or documentation elements.

Any '''taxonomy schema content element''' in the model. It is either standard schema content, which is a representation of an element in the XML Schema namespace, or it is appinfo content. The schema root element, and imports and linkbaseRefs are not represented in this model. Neither are the topmost annotation and their child appinfo or documentation elements.

This schema content model offers the yaidom SubtypeAwareElemApi API. Note, however, that most schema content elements have no child elements, but type definitions typically do have descendant elements.

Due to the fact that this schema model hardly contains any URI references, it plays no role in DTS discovery. Also note that this schema model has no knowledge about XLink.

Schema content in this model needs as little context as possible, although substitution group "knowledge" must be provided in order to determine in general whether a global element declaration is a concept (item or tuple) declaration.

Several kinds of schema content elements in this model are easy to refer to from relationships, as source or target. Note that these "links" are semantically meaningful, and need no URIs to point to them.

Schema content elements are relatively easy to create on the fly, and could be part of the basis for easy programmatic taxonomy creation. Note, however, that the taxonomy creation algorithm must at some point worry about closure with respect to DTS discovery, and about containing the needed substitution group ancestry.

When creating schema content elements on the fly, keep in mind that the element and its descendants should agree on the optional target namespace. This is not checked!

See http://www.datypic.com/sc/xsd for the XML Schema model (unaware of XBRL).

TODO Remove linkbaseRefs from model.

Authors

Chris de Vreeze

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

Type members

Value members

Abstract methods

The (partially type-safe) attributes of the corresponding XML element.

The (partially type-safe) attributes of the corresponding XML element.

The (immediate) child elements of this schema content element.

The (immediate) child elements of this schema content element.

def resolvedName: EName

The resolved name of the corresponding XML element.

The resolved name of the corresponding XML element.

def targetNamespaceOption: Option[String]

The optional target namespace that "is in scope".

The optional target namespace that "is in scope".

Concrete methods

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
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