Class

org.apache.daffodil.dsom

XMLSchemaDocument

Related Doc: package dsom

Permalink

final class XMLSchemaDocument extends SchemaComponentImpl with SchemaDocumentMixin with SchemaDocIncludesAndImportsMixin

Handles everything about schema documents that has nothing to do with DFDL. Things like namespace, include, import, elementFormDefault etc.

Linear Supertypes
SchemaDocIncludesAndImportsMixin, SchemaDocumentMixin, SchemaComponentImpl, SchemaComponent, PropTypes, SchemaFileLocatableImpl, SchemaFileLocatable, HasSchemaFileLocation, LookupLocation, LocationInSchemaFile, SchemaComponentIncludesAndImportsMixin, CommonContextMixin, NestingMixin, GetAttributesMixin, BasicComponent, ImplementsThrowsOrSavesSDE, SavesErrorsAndWarnings, ImplementsThrowsSDE, ResolvesQNames, ThrowsSDE, HasTunable, OOLAGHost, NamedMixinBase, WithDiagnostics, Logging, Identity, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. XMLSchemaDocument
  2. SchemaDocIncludesAndImportsMixin
  3. SchemaDocumentMixin
  4. SchemaComponentImpl
  5. SchemaComponent
  6. PropTypes
  7. SchemaFileLocatableImpl
  8. SchemaFileLocatable
  9. HasSchemaFileLocation
  10. LookupLocation
  11. LocationInSchemaFile
  12. SchemaComponentIncludesAndImportsMixin
  13. CommonContextMixin
  14. NestingMixin
  15. GetAttributesMixin
  16. BasicComponent
  17. ImplementsThrowsOrSavesSDE
  18. SavesErrorsAndWarnings
  19. ImplementsThrowsSDE
  20. ResolvesQNames
  21. ThrowsSDE
  22. HasTunable
  23. OOLAGHost
  24. NamedMixinBase
  25. WithDiagnostics
  26. Logging
  27. Identity
  28. AnyRef
  29. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new XMLSchemaDocument(xmlArg: Node, schemaSetArg: SchemaSet, ii: Option[IIBase], sfArg: Option[DFDLSchemaFile], seenBeforeArg: IIMap, isBootStrapSD: Boolean)

    Permalink

Type Members

  1. type PropItem = (String, (String, LookupLocation))

    Permalink
    Definition Classes
    PropTypes
  2. type PropMap = Map[String, (String, LookupLocation)]

    Permalink
    Definition Classes
    PropTypes

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 LV[T](sym: Symbol)(body: ⇒ T): OOLAGValue[T]

    Permalink
    Attributes
    protected
    Definition Classes
    OOLAGHost
  5. def NoAnnotationContext: Option[SchemaFileLocation]

    Permalink
    Definition Classes
    ImplementsThrowsSDE
  6. def SDE(id: String, args: Any*): Nothing

    Permalink
    Definition Classes
    ImplementsThrowsSDE → ThrowsSDE
  7. final def SDE(th: Throwable): Nothing

    Permalink
    Definition Classes
    ThrowsSDE
  8. def SDEButContinue(id: String, args: Any*): Unit

    Permalink
    Definition Classes
    ImplementsThrowsOrSavesSDE → SavesErrorsAndWarnings
  9. def SDW(warnID: WarnID, fmt: String, args: Any*): Unit

    Permalink
    Definition Classes
    ImplementsThrowsOrSavesSDE → SavesErrorsAndWarnings
  10. def ThrowSDE: PartialFunction[Throwable, Nothing]

    Permalink
    Definition Classes
    ThrowsSDE
  11. final def areLogging(lvl: Type): Boolean

    Permalink
    Definition Classes
    Logging
  12. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  13. final def assuming(pred: Boolean): Unit

    Permalink
    Definition Classes
    OOLAGHost
  14. final lazy val attributeFormDefault: String

    Permalink
  15. final def checkErrors: Unit

    Permalink
    Definition Classes
    OOLAGHost
  16. def checkImportCompatibleNS(importElementNS: Option[NS], schemaDocsNS: NS, schemaDocContainingTheImportStatement: XMLSchemaDocument): NS

    Permalink
  17. final def checkUnsupportedAttributes: Boolean

    Permalink
  18. final def ci: DPathCompileInfo

    Permalink

    Abbreviation.

    Abbreviation. We use this very often.

    Definition Classes
    SchemaComponent
  19. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final lazy val columnAttribute: Option[String]

    Permalink
    Definition Classes
    SchemaFileLocatableImpl → SchemaFileLocatable
  21. lazy val columnDescription: String

    Permalink
    Definition Classes
    SchemaFileLocatable → HasSchemaFileLocation → LocationInSchemaFile
  22. lazy val columnNumber: Option[String]

    Permalink
    Definition Classes
    SchemaFileLocatable
  23. final var currentOVList: Seq[OOLAGValueBase]

    Permalink
    Definition Classes
    OOLAGHost
  24. def dafAttributes(n: Node): MetaData

    Permalink
    Definition Classes
    GetAttributesMixin
  25. def dfdlAttributes(n: Node): MetaData

    Permalink
    Definition Classes
    GetAttributesMixin
  26. def dfdlxAttributes(n: Node): MetaData

    Permalink
    Definition Classes
    GetAttributesMixin
  27. lazy val diagnosticDebugName: String

    Permalink
    Definition Classes
    NamedMixinBase
  28. def diagnostics: Seq[Diagnostic]

    Permalink
    Definition Classes
    OOLAGHost
  29. def doLogging(lvl: Type, msg: String, args: Seq[Any]): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  30. lazy val dpathCompileInfo: DPathCompileInfo

    Permalink
    Definition Classes
    SchemaComponent
  31. final lazy val elementFormDefault: String

    Permalink
  32. val emptyPropMap: PropMap

    Permalink
    Definition Classes
    PropTypes
  33. final lazy val enclosingComponent: Option[SchemaComponent]

    Permalink

    The enclosing component, and follows back-references from types to their elements, from globalElementDef to elementRefs, from simpleType defs to derived simpletype defs, from global group defs to group refs

    The enclosing component, and follows back-references from types to their elements, from globalElementDef to elementRefs, from simpleType defs to derived simpletype defs, from global group defs to group refs

    Note: the enclosing component of a global element or global group referenced from a element ref or group ref, is NOT the ref object, but the component that contains the ref object

    Definition Classes
    NestingMixin
  34. final def enclosingComponentDef: Option[SchemaComponent]

    Permalink
    Attributes
    protected
    Definition Classes
    SchemaDocumentMixin
  35. final def enclosingComponentDefs: Seq[Nothing]

    Permalink
    Attributes
    protected
    Definition Classes
    SchemaDocumentMixin
  36. final lazy val enclosingComponents: Seq[EnclosingComponentDef]

    Permalink
    Definition Classes
    NestingMixin
  37. final lazy val enclosingElement: Option[ElementBase]

    Permalink

    All schema components except the root have an enclosing element.

    All schema components except the root have an enclosing element.

    Definition Classes
    SchemaComponent
  38. final lazy val enclosingElements: Seq[ElementBase]

    Permalink

    Elements that enclose this.

    Elements that enclose this.

    If this is already an element, this still walks outward to find the next tier out.

    Definition Classes
    SchemaComponent
  39. final lazy val enclosingTerm: Option[Term]

    Permalink
    Definition Classes
    SchemaComponent
  40. final lazy val enclosingTerms: Seq[Term]

    Permalink

    The terms that can enclose this.

    The terms that can enclose this.

    Even if this is already a term, this walks outward to find those enclosing this.

    Definition Classes
    SchemaComponent
  41. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  43. def error(th: Diagnostic): Unit

    Permalink
    Definition Classes
    OOLAGHost
  44. final def errors: Seq[Diagnostic]

    Permalink
    Definition Classes
    OOLAGHost
  45. final lazy val fileAttribute: Option[String]

    Permalink
    Definition Classes
    SchemaFileLocatableImpl → SchemaFileLocatable
  46. lazy val fileDescription: String

    Permalink
    Definition Classes
    SchemaFileLocatable → HasSchemaFileLocation → LocationInSchemaFile
  47. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  48. def getAttributeOption(ns: NS, name: String): Option[String]

    Permalink
    Definition Classes
    GetAttributesMixin
  49. def getAttributeOption(name: String): Option[String]

    Permalink
    Definition Classes
    GetAttributesMixin
  50. def getAttributeRequired(name: String): String

    Permalink
    Definition Classes
    GetAttributesMixin
  51. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  52. def getDiagnostics: Seq[Diagnostic]

    Permalink
    Definition Classes
    OOLAGHost → WithDiagnostics
  53. def getImportsOrIncludes(seenStart: IIMap, nodes: NodeSeq, factory: (Node, XMLSchemaDocument, IIMap) ⇒ IIBase): (IIMap, List[IIBase])

    Permalink

    This is a bit complex.

    This is a bit complex. It's folding the list of includes (or imports) and threading the accumulating map of included/imported things we've already seen, and also building up a shorter list of just the local children.

    Definition Classes
    SchemaDocIncludesAndImportsMixin
  54. def getLogWriter(): LogWriter

    Permalink
    Definition Classes
    Logging
  55. final def getLoggingLevel(): Type

    Permalink
    Definition Classes
    Logging
  56. final def hasOOLAGRootSetup: Boolean

    Permalink
    Definition Classes
    OOLAGHost
  57. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  58. val ii: Option[IIBase]

    Permalink
  59. lazy val impNodes: NodeSeq

    Permalink
  60. def importStatementsMap: IIMap

    Permalink
  61. lazy val incNodes: NodeSeq

    Permalink
  62. val isBootStrapSD: Boolean

    Permalink
  63. lazy val isDFDLSchema: Boolean

    Permalink

    True if this is a DFDL schema that Daffodil should process.

    True if this is a DFDL schema that Daffodil should process. False if this schema should be ignored because it has no DFDL annotations.

    We will ignore this import/include if it does not use the DFDL namespace definition for a prefix (or the default) on the xs:schema element.

    We do this so that other annotation languages can co-exist with DFDL. That is, they can use all of XML Schema including things DFDL doesn't allow like attribute decls, but only when those schemas are only needed to process non-DFDL annotations. Since Daffodil ignores non-DFDL annotations entirely, Daffodil won't run into these non-DFDL allowed things like attribute decls. But validators like Xerces will see the regular import/include and process normally, which enables validation of all annotations, DFDL and otherwise.

    Further discussion - see the comments on JIRA ticket DAFFODIL-1909

  64. def isError: Boolean

    Permalink
    Definition Classes
    OOLAGHost → WithDiagnostics
  65. def isHidden: Boolean

    Permalink

    Whether the component is hidden.

    Whether the component is hidden.

    Override this in the components that can hide - SequenceGroupRef and ChoiceGroupRef

    Definition Classes
    SchemaComponent
  66. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  67. lazy val lineAttribute: Option[String]

    Permalink

    Annotations can contain expressions, so we need to be able to compile them.

    Annotations can contain expressions, so we need to be able to compile them.

    We need our own instance so that the expression compiler has this schema component as its context.

    Definition Classes
    SchemaFileLocatableImpl → SchemaFileLocatable
  68. lazy val lineDescription: String

    Permalink
    Definition Classes
    SchemaFileLocatable → HasSchemaFileLocation → LocationInSchemaFile
  69. lazy val lineNumber: Option[String]

    Permalink
    Definition Classes
    SchemaFileLocatable
  70. def localImports: List[IIBase]

    Permalink
  71. def localIncludes: List[IIBase]

    Permalink
  72. lazy val locationDescription: String

    Permalink
    Definition Classes
    SchemaFileLocatable → HasSchemaFileLocation → LocationInSchemaFile
  73. final macro def log(lvl: Type, msg: String, args: Any*): Unit

    Permalink
    Definition Classes
    Logging
  74. lazy val logID: String

    Permalink
    Definition Classes
    Logging → Identity
  75. var logLevel: Maybe[Type]

    Permalink
    Definition Classes
    Logging
  76. var logWriter: Maybe[LogWriter]

    Permalink
    Definition Classes
    Logging
  77. val mtList: List[IIBase]

    Permalink
  78. def nArgs: Args

    Permalink
    Attributes
    protected
    Definition Classes
    OOLAGHost
  79. final lazy val namespaces: NamespaceBinding

    Permalink

    Namespace scope for resolving QNames.

    Namespace scope for resolving QNames.

    We insist that the prefix "xsi" is properly defined for use in xsi:nil attributes, which is how we represent nilled elements when we convert to XML.

    Definition Classes
    CommonContextMixin
  80. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  81. final def newDFDLAnnotationXML(label: String): Elem

    Permalink

    Used as factory for the XML Node with the right namespace and prefix etc.

    Used as factory for the XML Node with the right namespace and prefix etc.

    Given "element" it creates <dfdl:element /> with the namespace definitions based on this schema component's corresponding XSD construct.

    Makes sure to inherit the scope so we have all the namespace bindings.

    Attributes
    protected
    Definition Classes
    SchemaComponent
  82. final def nonTermRuntimeData: NonTermRuntimeData

    Permalink
    Definition Classes
    SchemaComponent
  83. final def notYetImplemented(msg: String, args: Any*): Nothing

    Permalink
    Definition Classes
    ThrowsSDE
  84. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  86. final lazy val oolagContext: OOLAGHost

    Permalink
    Definition Classes
    OOLAGHost
  87. def oolagContextViaArgs: Option[SchemaComponent]

    Permalink
    Definition Classes
    SchemaComponent → OOLAGHost
  88. def oolagError(th: Diagnostic): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    OOLAGHost
  89. final def oolagParent: OOLAGHost

    Permalink
    Attributes
    protected
    Definition Classes
    OOLAGHost
  90. def oolagWarn(th: Diagnostic): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    OOLAGHost
  91. final val optLexicalParent: Option[SchemaComponent]

    Permalink

    The lexically enclosing schema component

    The lexically enclosing schema component

    Definition Classes
    SchemaComponentImplSchemaFileLocatableImplCommonContextMixinNestingMixin
  92. final lazy val optOolagContext: Option[OOLAGHost]

    Permalink
    Definition Classes
    OOLAGHost
  93. final val orElseURL: String

    Permalink
    Attributes
    protected
    Definition Classes
    SchemaComponentIncludesAndImportsMixin
  94. lazy val path: String

    Permalink

    path is used in diagnostic messages and code debug messages; hence, it is very important that it be very dependable.

    path is used in diagnostic messages and code debug messages; hence, it is very important that it be very dependable.

    Definition Classes
    SchemaComponent → OOLAGHost
  95. def qNameForProperty(local: String, ns: NS): GlobalQName

    Permalink
    Definition Classes
    ResolvesQNames
  96. def removePrefix(prefixedValue: String): String

    Permalink
    Definition Classes
    ResolvesQNames
  97. final def requiredEvaluations(lv: OOLAGValueBase): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    OOLAGHost
  98. final def requiredEvaluations(arg: ⇒ Any): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    OOLAGHost
  99. def resolveQName(qnString: String): RefQName

    Permalink
    Definition Classes
    ResolvesQNames
  100. lazy val runtimeData: RuntimeData

    Permalink

    All non-terms get runtimeData from this definition.

    All non-terms get runtimeData from this definition. All Terms which are elements and model-groups) override this.

    The Term class has a generic termRuntimeData => TermRuntimeData function (useful since all Terms share things like having charset encoding) The Element classes all inherit an elementRuntimeData => ElementRuntimeData and the model groups all have modelGroupRuntimeData => ModelGroupRuntimeData.

    There is also VariableRuntimeData and SchemaSetRuntimeData.

    Definition Classes
    SchemaComponent
  101. lazy val schema: Schema

    Permalink
    Definition Classes
    CommonContextMixin
  102. lazy val schemaComponent: LookupLocation

    Permalink
    Definition Classes
    SchemaComponent
  103. final def schemaDefinitionError(str: String, args: Any*): Nothing

    Permalink
    Definition Classes
    ThrowsSDE
  104. def schemaDefinitionErrorButContinue(str: String, args: Any*): Unit

    Permalink
    Definition Classes
    SavesErrorsAndWarnings
  105. def schemaDefinitionErrorDueToPropertyValue(propertyName: String, propertyValue: String, propertyLocation: LookupLocation, otherPropertyLocation: LookupLocation, str: String, args: Any*): Nothing

    Permalink
    Definition Classes
    SavesErrorsAndWarnings
  106. final macro def schemaDefinitionUnless(testThatWillThrowIfFalse: Boolean, str: String, args: Any*): Unit

    Permalink
    Definition Classes
    ThrowsSDE
  107. macro def schemaDefinitionWarningUnless(warnID: WarnID, testThatWillWarnIfFalse: Boolean, str: String, args: Any*): Unit

    Permalink
    Definition Classes
    SavesErrorsAndWarnings
  108. macro def schemaDefinitionWarningWhen(warnID: WarnID, testThatWillWarnIfTrue: Boolean, str: String, args: Any*): Unit

    Permalink
    Definition Classes
    SavesErrorsAndWarnings
  109. final macro def schemaDefinitionWhen(testThatWillThrowIfTrue: Boolean, str: String, args: Any*): Unit

    Permalink
    Definition Classes
    ThrowsSDE
  110. def schemaDocument: SchemaDocument

    Permalink
    Definition Classes
    CommonContextMixin
  111. final lazy val schemaFile: Option[DFDLSchemaFile]

    Permalink
  112. lazy val schemaFileLocation: SchemaFileLocation

    Permalink
    Definition Classes
    SchemaFileLocatable → HasSchemaFileLocation → ThrowsSDE
  113. lazy val schemaSet: SchemaSet

    Permalink
    Definition Classes
    CommonContextMixin
  114. lazy val sdTNSAttrib: Option[NS]

    Permalink

    For include, if the included schema doesn't have a targetNamespace, then we will take on the namespace of whatever we are included into.

    For include, if the included schema doesn't have a targetNamespace, then we will take on the namespace of whatever we are included into.

    This is the chameleon namespace concept, and it works inductively. I.e., the included schema could include more schemas, all of them ultimately getting the targetNamespace from the schema enclosing that outermost include.

    If an included schema DOES have a targetNamespace, it must match what we're included into.

    Definition Classes
    SchemaDocIncludesAndImportsMixin
  115. lazy val sdTargetNS: NS

    Permalink
  116. def seenAfter: IIMap

    Permalink
  117. final lazy val seenBefore: IIMap

    Permalink
  118. def setLogWriter(lw: LogWriter): Unit

    Permalink
    Definition Classes
    Logging
  119. def setLoggingLevel(level: Type): Unit

    Permalink
    Definition Classes
    Logging
  120. final def setOOLAGContext(oolagContextArg: OOLAGHost): Unit

    Permalink
    Definition Classes
    OOLAGHost
  121. lazy val shortSchemaComponentDesignator: String

    Permalink
    Definition Classes
    SchemaComponentNestingMixin
  122. final lazy val slashPath: String

    Permalink

    Elements only e.g., /foo/ex:bar

    Elements only e.g., /foo/ex:bar

    Definition Classes
    SchemaComponent
  123. def subset(testThatWillThrowIfFalse: Boolean, msg: String, args: Any*): Unit

    Permalink
    Definition Classes
    ImplementsThrowsOrSavesSDE
  124. def subsetError(msg: String, args: Any*): Nothing

    Permalink
    Definition Classes
    ImplementsThrowsOrSavesSDE
  125. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  126. def targetNamespace: NS

    Permalink

    A schema document gets its target namespace from the targetNamespace attribute of the xs:schema root.

    A schema document gets its target namespace from the targetNamespace attribute of the xs:schema root.

    However, if this schema document is being included in another document, then the target namespace (if none is specified) is of the document into which this is being included. If this schema document DOES have a target namespace, then it must match the target namespace of the schema into which this is being included.

    And, if this schema document is being imported, then the target namespace (if found) on the xs:schema of this schema document must match that of the import statement. If a namespace is specified there.

    Definition Classes
    SchemaDocIncludesAndImportsMixin
  127. final lazy val targetNamespacePrefix: String

    Permalink
    Definition Classes
    CommonContextMixin
  128. def toString(): String

    Permalink
    Definition Classes
    SchemaComponent → AnyRef → Any
  129. final def toss(th: Throwable): Nothing

    Permalink
    Definition Classes
    ThrowsSDE
  130. lazy val tunable: DaffodilTunables

    Permalink
    Definition Classes
    SchemaComponent → ImplementsThrowsOrSavesSDE → HasTunable
  131. final lazy val unqualifiedPathStepPolicy: UnqualifiedPathStepPolicy

    Permalink
    Definition Classes
    SchemaComponent → ResolvesQNames
  132. lazy val uriString: String

    Permalink
  133. lazy val uriStringFromAttribute: Option[String]

    Permalink
    Definition Classes
    SchemaFileLocatable
  134. def variableMap: VariableMap

    Permalink
    Definition Classes
    SchemaComponent
  135. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  138. def warn(th: Diagnostic): Unit

    Permalink
    Definition Classes
    OOLAGHost
  139. final def warnings: Seq[Diagnostic]

    Permalink
    Definition Classes
    OOLAGHost
  140. macro def withLoggingLevel[S](newLevel: Type)(body: ⇒ S): Unit

    Permalink
    Definition Classes
    Logging
  141. final val xml: Node

    Permalink
    Definition Classes
    SchemaComponentImplSchemaComponentSchemaFileLocatableImplCommonContextMixin → GetAttributesMixin
  142. final lazy val xmlSchemaDocument: XMLSchemaDocument

    Permalink
    Definition Classes
    XMLSchemaDocumentCommonContextMixin

Inherited from SchemaDocumentMixin

Inherited from SchemaComponentImpl

Inherited from SchemaComponent

Inherited from PropTypes

Inherited from SchemaFileLocatableImpl

Inherited from SchemaFileLocatable

Inherited from HasSchemaFileLocation

Inherited from LookupLocation

Inherited from LocationInSchemaFile

Inherited from CommonContextMixin

Inherited from NestingMixin

Inherited from GetAttributesMixin

Inherited from BasicComponent

Inherited from ImplementsThrowsOrSavesSDE

Inherited from SavesErrorsAndWarnings

Inherited from ImplementsThrowsSDE

Inherited from ResolvesQNames

Inherited from ThrowsSDE

Inherited from HasTunable

Inherited from OOLAGHost

Inherited from NamedMixinBase

Inherited from WithDiagnostics

Inherited from Logging

Inherited from Identity

Inherited from AnyRef

Inherited from Any

Ungrouped