UBIF Schema Supplementary Report

(Version: SDD 1.0 beta 2)

TDWG working group: Structure of Descriptive Data (SDD)

The standard schema reports generated by xml spy or the xs3p script document the structure of the schema organized by the element and type tree. As a supplement to this, this report documents the use of selected features throughout the entire schema.

This is a highly technical report aimed at xml schema experts. The purpose of the type and element listing is primarily to search for design problems or errors in the schema. The overview over default values and identity constraints is valuable for implementers.

Table of contents

  1. Table of elements (name/type synopsis)
  2. Table of defined default values
  3. Type usage
  4. Type inheritance
  5. Identity constraints
  6. Table of annotations containing the problem marker (= '@')

Table of elements (name/type synopsis)

The SDD schema uses element names with different types, depending on the context. To write xslt it is often useful to know which element names in a schema uniquely identify a type, and where the content type depends on the context. The following list shows all elements in alphabetical order together with their type name. Anonymous types, including anonymous type derivations, are annotated with "(anon.)". An advanced script may list the base type of a derivation, but in most cases we avoid anonymous derivation in the TDWG schemata so we did not implement this yet. In the context column the path to the element is given. Elements names are shown directly, and complex type and element/attribute group names are prefixed with "type:", "group:", and "attgroup:", respectively.

The use of an element name with several different types has two major sources: a) the alternative element types are themselves all derived from a base type (see e. g. Modifiers), or b) an object is defined in one place and a reference is made to it. This is very similar to the usage pattern in xml schema itself, where object names are used both for definition and reference (examples: element name="x" and element ref="x", or group name="y" and group ref="y").

Note: element names starting with underscore (= tentative elements placed for the purpose of discussion) are not shown.

Element Name Type Context
Abbreviation String50 type: LabelPlusAbbreviationRepr/
and (anon.) type: __ApplyBooleanFunction/
And NatLangOperatorWording type: DescriptiveData/ Terminology/ General/ __LanguageRules/ LanguageRule/ Wording/
AntonymousTo GlossaryEntryRefs type: GlossaryEntry/ __Ontology/ General/
apply __ApplyBooleanFunction group: __ApplyBoolBodyGroup/
Assumptions (anon.) type: CategoricalCharacter/
Assumptions (anon.) type: QuantitativeCharacter/
Assumptions (anon.) type: ColorRangeCharacter/
Audience AudienceDef type: AudienceDefs/
Audience AudienceRef type: DescriptiveData/ ConfigurationData/ PresentationDefaults/
Audiences AudienceDefs type: DescriptiveData/ Terminology/ General/
Availability Rating type: Ratings/
BasedOnSample SampleRef type: CharSummaryData/
BasicCodingStatus BasicCodingStatusEnum type: CodingStatusDef/ Specification/
Cat CatSummaryData group: __ApplyBoolBodyGroup/
Categorical CategoricalMarkup group: PolymorphicCharMarkup/
Categorical CatSampleData group: PolymorphicCharSampleData/
Categorical CatSummaryData group: PolymorphicCharSummaryData/
CategoricalCharacter CategoricalCharacter group: PolymorphicCharDefs/
Certainty Certainty group: PolymorphicCharModification/
Certainty CertaintyMarkup group: PolymorphicCharModificationMarkup/
CertaintyModifiers CertaintyModifiers group: PolymorphicModifierDefs/
CertaintyRange ProbabilityEstimateRange type: CertaintyModifier/ Specification/
Char CharacterMarkup group: __OOP_PolymorphicCharMarkup/
Char CharSampleData group: __OOP_PolymorphicCharSampleData/
Char CharSummaryData group: __OOP_PolymorphicCharSummaryData/
Character AbstractCharacter group: __OOP_PolymorphicCharDefs/
Character CharacterRef type: Concept/ ReferableDefinitions/ __AutoUpdateCharacters/
Character CharacterRef type: Concept/
Characters (anon.) type: DescriptiveData/ Terminology/
CircularData ValueRange type: QuantitativeCharacter/ Assumptions/
Citation Citation type: DescriptionBase/ Header/
Citation Citation type: StoredKeyDef/
Citations Citations type: GlossaryEntry/
ClassHierarchy ClassHierarchyRef type: DescriptiveData/ ConfigurationData/ DataInheritance/
ClassName ClassRefWithSecondaryClassifiers type: DescriptionBase/ Header/
ClassName ClassRefWithSecondaryClassifiers type: StoredKeyNode/
CodedDescription CodedDescription type: DescriptiveData/ CodedDescriptions/
CodedDescriptions (anon.) type: DescriptiveData/
CodingStatus CodingStatusMarkup type: CategoricalMarkup/
CodingStatus CodingStatusMarkup type: QuantitativeMarkup/
CodingStatusValues (anon.) type: DescriptiveData/ Terminology/ General/
ColorRange ColorPolygon type: ColorRangeCharData/
ColorRange ColorPolygon type: ColorRangeSampleData/
ColorRange ColorRangeCharData group: PolymorphicCharSummaryData/
ColorRange ColorRangeSampleData group: PolymorphicCharSampleData/
ColorRangeCharacter ColorRangeCharacter group: PolymorphicCharDefs/
Concept Concept type: ConceptTreeDef/
Concept Concept type: Concept/ Nodes/
Concept ConceptMarkup type: NaturalLanguageDescription/ NaturalLanguageData/
ConceptStates (anon.) type: Concept/ ReferableDefinitions/
ConceptTree ConceptTreeDef type: DescriptiveData/ Terminology/ ConceptTrees/
ConceptTrees (anon.) type: DescriptiveData/ Terminology/
ConfigurationData (anon.) type: DescriptiveData/
ConnectedTo GlossaryEntryRefs type: GlossaryEntry/ __Ontology/ Topological/
Continuous xs:boolean type: QuantitativeCharacter/ Assumptions/
Convenience Rating type: Ratings/
DataInheritance (anon.) type: DescriptiveData/ ConfigurationData/
Definition GlossaryEntryRef group: GlossaryRefGroup/
Definition String type: GlossaryEntryRepr/
DependencyRules (anon.) type: Concept/ InheritableDefinitions/
DescriptiveData DescriptiveData (schema root)
DesignedFor (anon.) type: ConceptTreeDef/ Specification/
ExpertiseLevel ExpertiseLevelEnum type: AudienceDef/ Specification/
ExportToken (anon.) type: LabelPlusAbbreviationRepr/
ExternalDefinitionURI xs:anyURI type: GlossaryEntryRepr/
FixedCapitalization (anon.) type: DescriptiveData/ Terminology/ General/ __LanguageRules/ LanguageRule/
FormatPattern NumericFormatPattern type: UnivarStatMeasureElaboration/ Specification/
Frequency Frequency group: PolymorphicStateModification/
Frequency FrequencyMarkup group: PolymorphicStateModificationMarkup/
FrequencyModifiers FrequencyModifiers group: PolymorphicModifierDefs/
FrequencyRange ProbabilityEstimateRange type: FrequencyModifier/ Specification/
From (anon.) type: QuantitativeCharacter/ Mappings/ Mapping/
From CharacterStateRef type: CategoricalCharacter/ Mappings/ Mapping/
From ColorPolygon type: ColorRangeCharacter/ Mappings/ Mapping/
General (anon.) type: DescriptiveData/ Terminology/
General (anon.) type: GlossaryEntry/ __Ontology/
GeographicalScope LocalityRefs type: DescriptionBase/ Header/
GeographicalScope LocalityRefs type: StoredKeyDef/
Glossary (anon.) type: DescriptiveData/ Terminology/
GlossaryEntry GlossaryEntry type: DescriptiveData/ Terminology/ Glossary/
Header (anon.) type: DescriptionBase/
HomologousTo GlossaryEntryRefs type: GlossaryEntry/ __Ontology/ Temporal/
Icon MediaResourceRef type: LabelPlusAbbreviationRepr/
IdentificationKey StoredKeyDef type: DescriptiveData/ IdentificationKeys/
IdentificationKeys (anon.) type: DescriptiveData/
IfNextElement (anon.) type: NatLangOperatorWording/
InapplicableIf CharacterStateRefs type: Concept/ InheritableDefinitions/ DependencyRules/
InheritableDefinitions (anon.) type: Concept/
InteractiveKeyConceptTree ConceptTreeRef type: DescriptiveData/ ConfigurationData/ PresentationDefaults/
IsTrueByMisinterpretation xs:boolean type: CertaintyModifier/ Specification/
KeyNode StoredKeyNodeRef type: StoredKeyNode/
KindOf GlossaryEntryRefs type: GlossaryEntry/ __Ontology/ General/
Label (anon.) type: GlossaryEntry/
Label LabelPlusWording1 type: VocabularyW1Base/
Label LabelPlusWording2 type: VocabularyW2Base/
Label LabelPlusWording3 type: Concept/
Label LabelWithDetails type: AudienceDef/
Label LabelWithDetails type: ModifierSet/
Label LabelWithDetails type: ConceptTreeDef/
Label LabelWithDetails type: StoredKeyDef/
Label SimpleLabel type: AbstractCharacter/
LanguageRule (anon.) type: DescriptiveData/ Terminology/ General/ __LanguageRules/
LastDelimiterText StringForWording group: __DelimiterGroup/
Lead StoredKeyNode type: StoredKeyDef/
Lead StoredKeyNode type: StoredKeyNode/ Nodes/
Mapping (anon.) type: CategoricalCharacter/ Mappings/
Mapping (anon.) type: QuantitativeCharacter/ Mappings/
Mapping (anon.) type: ColorRangeCharacter/ Mappings/
Mappings (anon.) type: CategoricalCharacter/
Mappings (anon.) type: QuantitativeCharacter/
Mappings (anon.) type: ColorRangeCharacter/
Measure MeasureMarkup type: QuantitativeMarkup/
Measure UnivarStatMeasureData group: __OOP_PolymorphicMeasureData/
Measure UnivarStatMeasureData group: PolymorphicMeasureData/
Measure UnivarStatMeasureRef type: UnivarStatMeasureElaboration/ Specification/
MeasurementScale CategoricalMeasurementScaleEnum type: CategoricalCharacter/ Assumptions/
MeasurementScale QuantitativeMeasurementScaleEnum type: QuantitativeCharacter/ Assumptions/
MeasurementUnit MicroMeasurementUnit type: QuantSummaryData/
MediaResources MediaResourceRefs type: GlossaryEntryRepr/
MediaResources MediaResourceRefs type: CharSummaryData/
MediaResources MediaResourceRefs type: DescriptionBase/
MediaResources MediaResourceRefs type: LabelPlusAbbreviationRepr/
MinimumExpertiseLevel (anon.) type: Ratings/
MisinterpretableAs GlossaryEntryRefs type: GlossaryEntry/ __Ontology/ General/
Mod CharacterModificationMarkup group: __OOP_PolymorphicCharModificationMarkup/
Mod StateModificationMarkup group: __OOP_PolymorphicStateModificationMarkup/
Model StateCollectionModelEnum type: CatSummaryData/
Modifier CertaintyModifier type: CertaintyModifiers/
Modifier CharacterModification group: __OOP_PolymorphicCharModification/
Modifier FrequencyModifier type: FrequencyModifiers/
Modifier ModifierDef type: ModifierDefs/
Modifier OtherModifier type: OtherModifiers/
Modifier SpatialModifier type: SpatialModifiers/
Modifier StateMod group: PolymorphicStateModification/
Modifier StateModification group: __OOP_PolymorphicStateModification/
Modifier StateModifier type: StateModifiers/
Modifier StateModMarkup group: PolymorphicStateModificationMarkup/
Modifier TemporalModifier type: TemporalModifiers/
Modifiers (anon.) type: DescriptiveData/ Terminology/
Modifiers (anon.) type: CharSummaryData/
Modifiers ModifierDefs group: __OOP_PolymorphicModifierDefs/
ModifiersAreOrdered xs:boolean type: ModifierSet/
ModifierSet ModifierSet type: DescriptiveData/ Terminology/ Modifiers/
ModifierSet ModifierSetRef type: Concept/ InheritableDefinitions/ RecommendedModifiers/
NaturalLanguageData (anon.) type: NaturalLanguageDescription/
NaturalLanguageDescription NaturalLanguageDescription type: DescriptiveData/ NaturalLanguageDescriptions/
NaturalLanguageDescriptions (anon.) type: DescriptiveData/
NaturallyContinuous xs:boolean type: CategoricalCharacter/ Assumptions/
Nodes (anon.) type: Concept/
Nodes (anon.) type: StoredKeyNode/
not (anon.) type: __ApplyBooleanFunction/
Note NoteMarkup type: CategoricalMarkup/
Note NoteMarkup type: QuantitativeMarkup/
Note NoteMarkup type: CodingStatusMarkup/
Note NoteMarkup type: StateMarkup/
Note NoteMarkup type: ValueMarkup/
Note ReportedNote group: PolymorphicStateModification/
Note ReportedNote type: CharSummaryData/
Note ReportedNote type: CodingStatusData/
Note ReportedNote type: QuantSampleData/
Note ReportedNote type: Sample/
OnlyApplicableIf CharacterStateRefs type: Concept/ InheritableDefinitions/ DependencyRules/
OntogeneticallyDerivedFrom GlossaryEntryRefs type: GlossaryEntry/ __Ontology/ Temporal/
or (anon.) type: __ApplyBooleanFunction/
Or NatLangOperatorWording type: DescriptiveData/ Terminology/ General/ __LanguageRules/ LanguageRule/ Wording/
OrDelimiters (anon.) type: DescriptiveData/ Terminology/ General/ __LanguageRules/ LanguageRule/ Wording/
Other OtherModMarkup group: PolymorphicCharModificationMarkup/
OtherModifier OtherMod group: PolymorphicCharModification/
OtherModifiers OtherModifiers group: PolymorphicModifierDefs/
Parameter xs:double type: UnivarStatMeasureElaboration/ Specification/
PartOf GlossaryEntryRefs type: GlossaryEntry/ __Ontology/ Topological/
PhylogeneticallyDerivedFrom GlossaryEntryRefs type: GlossaryEntry/ __Ontology/ Temporal/
PlausibilityRange ValueRange type: QuantitativeCharacter/ Assumptions/
PMeasure PMeasureMarkup type: QuantitativeMarkup/
PMeasure UnivarStatMeasureWithParamData group: PolymorphicMeasureData/
PMeasure UnivarStatMeasureWithParamRef type: UnivarStatMeasureElaboration/ Specification/
PresenceOfInformation PresenceOfInformationEnum type: CodingStatusDef/ Specification/
PresentationDefaults (anon.) type: DescriptiveData/ ConfigurationData/
Quantitative QuantitativeMarkup group: PolymorphicCharMarkup/
Quantitative QuantSampleData group: PolymorphicCharSampleData/
Quantitative QuantSummaryData group: PolymorphicCharSummaryData/
Quantitative QuantSummaryData group: __ApplyBoolBodyGroup/
QuantitativeCharacter QuantitativeCharacter group: PolymorphicCharDefs/
QuestionText SimpleLabel type: StoredKeyNode/
Ratings Ratings type: AbstractCharacter/
Ratings Ratings type: Concept/ InheritableDefinitions/
RecommendedMeasurementUnit MicroMeasurementUnit type: QuantitativeCharacter/
RecommendedMeasures (anon.) type: Concept/ InheritableDefinitions/
RecommendedModifiers (anon.) type: Concept/ InheritableDefinitions/
ReferableDefinitions (anon.) type: Concept/
RelatedTo GlossaryEntryRefs type: GlossaryEntry/ __Ontology/ General/
Reliability Rating type: Ratings/
RepeatedDelimiterText StringForWording group: __DelimiterGroup/
Representation GlossaryEntryRepr type: GlossaryEntry/ Label/
Representation LabelPlusAbbreviationRepr type: LabelPlusAbbreviation/
Representation LabelPlusWording1Repr type: LabelPlusWording1/
Representation LabelPlusWording2Repr type: LabelPlusWording2/
Representation LabelPlusWording3Repr type: LabelPlusWording3/
Representation ReportedNoteRepr type: ReportedNote/
Representation SimpleLabelRepr type: SimpleLabel/
RequiredExpertise Rating type: Ratings/
RevisionData RevisionData type: GlossaryEntry/
RevisionData RevisionData type: AbstractCharacter/
RevisionData RevisionData type: ConceptTreeDef/
RevisionData RevisionData type: DescriptionBase/
RevisionData RevisionData type: StoredKeyDef/
Role ConceptTreeRoleEnum type: ConceptTreeDef/ Specification/ DesignedFor/
Sample Sample type: CodedDescription/ SampleData/
SampleData (anon.) type: CodedDescription/
SamplingEnd CompositeDateTime type: Sample/
SamplingStart CompositeDateTime type: Sample/
SamplingUnit (anon.) type: Sample/
SensuLabel String255 type: GlossaryEntryRepr/
ShouldContainAllCharacters xs:boolean type: ConceptTreeDef/ Specification/
SignificantFigures xs:positiveInteger type: QuantitativeCharacter/
SingleDelimiterText StringForWording group: __DelimiterGroup/
Spatial Spatial group: PolymorphicCharModification/
Spatial SpatialMarkup group: PolymorphicCharModificationMarkup/
SpatialModifiers SpatialModifiers group: PolymorphicModifierDefs/
Specification (anon.) type: AudienceDef/
Specification (anon.) type: CodingStatusDef/
Specification (anon.) type: CertaintyModifier/
Specification (anon.) type: SpatialModifier/
Specification (anon.) type: TemporalModifier/
Specification (anon.) type: FrequencyModifier/
Specification (anon.) type: UnivarStatMeasureElaboration/
Specification (anon.) type: ConceptTreeDef/
State CharacterStateRef type: CharacterStateRefs/
State StateData type: CatSummaryData/
State StateData type: CatSampleData/
State StateMarkup type: CategoricalMarkup/
StateDefinition CharacterConceptStateDef type: Concept/ ReferableDefinitions/ ConceptStates/
StateDefinition CharacterLocalStateDef type: CategoricalCharacter/ States/
Statement LabelPlusAbbreviation type: StoredKeyNode/
StateModifiers StateModifiers group: PolymorphicModifierDefs/
StateReference (anon.) type: CategoricalCharacter/ States/
States (anon.) type: CategoricalCharacter/
StatisticalMeasure UnivarStatMeasureElaboration type: Concept/ InheritableDefinitions/ RecommendedMeasures/
Status CodingStatusData type: CharSummaryData/
Status CodingStatusDef type: DescriptiveData/ Terminology/ General/ CodingStatusValues/
Subkey StoredKeyRef type: StoredKeyNode/
SummaryData (anon.) type: CodedDescription/
SynonymousTo GlossaryEntryRefs type: GlossaryEntry/ __Ontology/ General/
Temporal (anon.) type: GlossaryEntry/ __Ontology/
Temporal Temporal group: PolymorphicCharModification/
Temporal TemporalMarkup group: PolymorphicCharModificationMarkup/
TemporalModifiers TemporalModifiers group: PolymorphicModifierDefs/
Term GlossaryEntryRef type: GlossaryEntryRefs/
Term String255 type: GlossaryEntryRepr/
Terminology (anon.) type: DescriptiveData/
Text MarkupText type: StatementModificationMarkup/
Text MarkupText type: CertaintyMarkup/
Text MarkupText type: SpatialMarkup/
Text MarkupText type: TemporalMarkup/
Text MarkupText type: OtherModMarkup/
Text MarkupText type: FrequencyMarkup/
Text MarkupText type: StateModMarkup/
Text MarkupText type: CategoricalMarkup/
Text MarkupText type: QuantitativeMarkup/
Text MarkupText type: ConceptMarkup/
Text MarkupText type: CodingStatusMarkup/
Text MarkupText type: StateMarkup/
Text MarkupText type: NoteMarkup/
Text MarkupText type: ValueMarkup/
Text MarkupText type: MeasureMarkup/
Text MarkupText type: PMeasureMarkup/
Text MarkupText type: NaturalLanguageDescription/ NaturalLanguageData/
Text String type: SimpleLabelRepr/
Text String type: ReportedNoteRepr/
Text StringForWording type: NatLangWording1/
Text StringForWording type: NatLangOperatorWording/
Text StringForWording type: NatLangOperatorWording/ IfNextElement/
TextAfter StringForWording type: NatLangWording2/
TextAfter StringForWording type: NatLangWording2/
TextBefore StringForWording type: NatLangWording2/
To CharacterStateRef type: CategoricalCharacter/ Mappings/ Mapping/
To CharacterStateRef type: QuantitativeCharacter/ Mappings/ Mapping/
To CharacterStateRef type: ColorRangeCharacter/ Mappings/ Mapping/
To NatLangOperatorWording type: DescriptiveData/ Terminology/ General/ __LanguageRules/ LanguageRule/ Wording/
Topological (anon.) type: GlossaryEntry/ __Ontology/
Type ConceptTreeTypeEnum type: ConceptTreeDef/ Specification/
UnconstrainedText xs:boolean type: CharacterAbstractStateDef/
Unit UnitRef type: DescriptionBase/ Header/
Value ValueMarkup type: QuantitativeMarkup/
ValuesAreInteger xs:boolean type: QuantitativeCharacter/ Assumptions/
With NatLangOperatorWording type: DescriptiveData/ Terminology/ General/ __LanguageRules/ LanguageRule/ Wording/
Word String255 type: DescriptiveData/ Terminology/ General/ __LanguageRules/ LanguageRule/ FixedCapitalization/
Wording (anon.) type: DescriptiveData/ Terminology/ General/ __LanguageRules/ LanguageRule/
Wording NatLangWording1 type: LabelPlusWording1Repr/
Wording NatLangWording2 type: LabelPlusWording2Repr/
Wording NatLangWording3 type: LabelPlusWording3Repr/
xor (anon.) type: __ApplyBooleanFunction/

Table of defined default values

Elements or attributes for which default values have been defined in the schema need special attention insofar as the processing of an instance document depends on whether it has been validated against the schema (validation will add default values in the infoset). A script or application processing instance documents may thus either validate the document, or it may handle the following attributes itself.

Object Name Default value Parent
attribute comparewith CentralMeasure type: QuantitativeCharacter/ Mappings/ Mapping/ From/
attribute dir ltr type: DescriptiveData/ Terminology/ General/ __LanguageRules/ LanguageRule/
attribute lower 0 attgroup: ProbRangeAttributeGroup/
attribute origin OriginalData type: Rating/
attribute origin OriginalData type: Ratings/ MinimumExpertiseLevel/
attribute random false type: Sample/
attribute upper 1 attgroup: ProbRangeAttributeGroup/
element __IsTemplate false group: PolymorphicStateModification/
element __IsTemplate false type: CodingStatusData/
element IsTrueByMisinterpretation false type: CertaintyModifier/ Specification/
element Model OrSet type: CatSummaryData/
element ModifiersAreOrdered false type: ModifierSet/
element ShouldContainAllCharacters false type: ConceptTreeDef/ Specification/
element UnconstrainedText false type: CharacterAbstractStateDef/

Type usage

The following tables provide an overview of the number of times complex and simple types are used in the schema. Only schema-specific types are reported, not the w3c defined base types (xs:string, xs:boolean, etc.). Type usage is interesting to detect orphan (unused) types, or to argue whether types used only a single time should rather be anonymous.

Usage of complex types

Usage count:
Type name Total Elements Extensions Restrictions
__ApplyBooleanFunction 1 = 1 + 0 + 0
__DescriptionRef 0 = 0 + 0 + 0
AbstractCharacter 4 = 1 + 3 + 0
AudienceDef 1 = 1 + 0 + 0
AudienceDefs 1 = 1 + 0 + 0
AudienceRef 4 = 1 + 3 + 0
CategoricalCharacter 1 = 1 + 0 + 0
CategoricalMarkup 1 = 1 + 0 + 0
CatSampleData 1 = 1 + 0 + 0
CatSummaryData 2 = 2 + 0 + 0
Certainty 1 = 1 + 0 + 0
CertaintyMarkup 1 = 1 + 0 + 0
CertaintyModifier 1 = 1 + 0 + 0
CertaintyModifiers 1 = 1 + 0 + 0
CharacterAbstractStateDef 2 = 0 + 2 + 0
CharacterConceptStateDef 1 = 1 + 0 + 0
CharacterLocalStateDef 1 = 1 + 0 + 0
CharacterMarkup 3 = 1 + 2 + 0
CharacterModification 5 = 1 + 0 + 4
CharacterModificationMarkup 5 = 1 + 0 + 4
CharacterModifierDef 4 = 0 + 4 + 0
CharacterRef 5 = 2 + 3 + 0
CharacterStateRef 7 = 5 + 2 + 0
CharacterStateRefs 2 = 2 + 0 + 0
CharSampleData 4 = 1 + 3 + 0
CharSummaryData 4 = 1 + 3 + 0
ClassRefWithSecondaryClassifiers 2 = 2 + 0 + 0
CodedDescription 1 = 1 + 0 + 0
CodingStatusData 1 = 1 + 0 + 0
CodingStatusDef 1 = 1 + 0 + 0
CodingStatusMarkup 2 = 2 + 0 + 0
CodingStatusRef 2 = 0 + 2 + 0
ColorRangeCharacter 1 = 1 + 0 + 0
ColorRangeCharData 1 = 1 + 0 + 0
ColorRangeSampleData 1 = 1 + 0 + 0
Concept 2 = 2 + 0 + 0
ConceptMarkup 1 = 1 + 0 + 0
ConceptRef 1 = 0 + 1 + 0
ConceptStateRef 1 = 0 + 1 + 0
ConceptTreeDef 1 = 1 + 0 + 0
ConceptTreeRef 1 = 1 + 0 + 0
DescriptionBase 2 = 0 + 2 + 0
DescriptiveData 1 = 1 + 0 + 0
Frequency 1 = 1 + 0 + 0
FrequencyMarkup 1 = 1 + 0 + 0
FrequencyModifier 1 = 1 + 0 + 0
FrequencyModifiers 1 = 1 + 0 + 0
GlossaryEntry 1 = 1 + 0 + 0
GlossaryEntryRef 3 = 3 + 0 + 0
GlossaryEntryRefs 11 = 11 + 0 + 0
GlossaryEntryRepr 1 = 1 + 0 + 0
LabelPlusAbbreviation 1 = 1 + 0 + 0
LabelPlusAbbreviationRepr 4 = 1 + 3 + 0
LabelPlusWording1 1 = 1 + 0 + 0
LabelPlusWording1Repr 1 = 1 + 0 + 0
LabelPlusWording2 1 = 1 + 0 + 0
LabelPlusWording2Repr 1 = 1 + 0 + 0
LabelPlusWording3 1 = 1 + 0 + 0
LabelPlusWording3Repr 1 = 1 + 0 + 0
MarkupText 17 = 17 + 0 + 0
MeasureMarkup 1 = 1 + 0 + 0
ModifierDef 3 = 1 + 2 + 0
ModifierDefs 7 = 1 + 0 + 6
ModifierSet 1 = 1 + 0 + 0
ModifierSetRef 1 = 1 + 0 + 0
NatLangOperatorWording 4 = 4 + 0 + 0
NatLangWording1 1 = 1 + 0 + 0
NatLangWording2 2 = 1 + 1 + 0
NatLangWording3 1 = 1 + 0 + 0
NaturalLanguageDescription 1 = 1 + 0 + 0
NoteMarkup 5 = 5 + 0 + 0
OtherMod 1 = 1 + 0 + 0
OtherModifier 1 = 1 + 0 + 0
OtherModifiers 1 = 1 + 0 + 0
OtherModMarkup 1 = 1 + 0 + 0
PMeasureMarkup 1 = 1 + 0 + 0
QuantitativeCharacter 1 = 1 + 0 + 0
QuantitativeMarkup 1 = 1 + 0 + 0
QuantSampleData 1 = 1 + 0 + 0
QuantSummaryData 2 = 2 + 0 + 0
Rating 4 = 4 + 0 + 0
Ratings 2 = 2 + 0 + 0
ReportedNote 5 = 5 + 0 + 0
ReportedNoteRepr 1 = 1 + 0 + 0
Sample 1 = 1 + 0 + 0
SampleRef 1 = 1 + 0 + 0
SimpleLabel 2 = 2 + 0 + 0
SimpleLabelRepr 2 = 1 + 1 + 0
Spatial 1 = 1 + 0 + 0
SpatialMarkup 1 = 1 + 0 + 0
SpatialModifier 1 = 1 + 0 + 0
SpatialModifiers 1 = 1 + 0 + 0
StateData 2 = 2 + 0 + 0
StateMarkup 1 = 1 + 0 + 0
StatementModification 4 = 0 + 4 + 0
StatementModificationMarkup 2 = 0 + 2 + 0
StateMod 1 = 1 + 0 + 0
StateModification 2 = 1 + 0 + 1
StateModificationMarkup 3 = 1 + 1 + 1
StateModificationPlusProbabilities 1 = 0 + 0 + 1
StateModificationPlusProbabilitiesMarkup 1 = 0 + 0 + 1
StateModifier 1 = 1 + 0 + 0
StateModifierDef 2 = 0 + 2 + 0
StateModifiers 1 = 1 + 0 + 0
StateModMarkup 1 = 1 + 0 + 0
StoredKeyDef 1 = 1 + 0 + 0
StoredKeyNode 2 = 2 + 0 + 0
StoredKeyNodeRef 1 = 1 + 0 + 0
StoredKeyRef 1 = 1 + 0 + 0
StringForWording 9 = 9 + 0 + 0
Temporal 1 = 1 + 0 + 0
TemporalMarkup 1 = 1 + 0 + 0
TemporalModifier 1 = 1 + 0 + 0
TemporalModifiers 1 = 1 + 0 + 0
UnivarStatMeasureElaboration 1 = 1 + 0 + 0
ValueMarkup 1 = 1 + 0 + 0
VocabularyW1Base 2 = 0 + 2 + 0
VocabularyW2Base 2 = 0 + 2 + 0

Usage of simple types

Usage count:
Type name Total Attributes Elements Restrictions
BasicCodingStatusEnum 1 = 0 + 1 + 0
ConceptTreeRoleEnum 1 = 0 + 1 + 0
ConceptTreeTypeEnum 1 = 0 + 1 + 0
DataOriginEnum 1 = 1 + 0 + 0
GlossaryKindOfTermEnum 1 = 0 + 1 + 0
PresenceOfInformationEnum 1 = 0 + 1 + 0
RatingOriginEnum 2 = 2 + 0 + 0
StateCollectionModelEnum 1 = 0 + 1 + 0
UnivarStatMeasureCompareWithEnum 1 = 1 + 0 + 0

Summary of types present but not used

The following types have been defined in the schema, but are not used in elements, attributes, extension, or restriction:
Complex types:
__DescriptionRef
Simple types:
(none)

Recursive use of types

Direct recursion: The following complex types contain elements of their own type:
Concept
StoredKeyNode

Indirect recursion (1 step): The following complex types contain elements of a type, that contains elements of their own type. Both types involved will be listed:

Note: some other types of recursion, e.g. involving cycles of three complex types, recursion of type extension, alternations of complex types and element groups, or element groups alone are not yet reported!


Type inheritance

The SDD schema is used object-oriented inheritance mechanisms for complex types. The following tables give an overview of type derivations present in the schema.

Complex types derived by extension

(In a future version of this report it is desirable to list indirect type derivation as well!)

Base type Abstract   Derived type Abstract
AbstractCharacter true type: CategoricalCharacter/ false
AbstractCharacter true type: ColorRangeCharacter/ false
AbstractCharacter true type: QuantitativeCharacter/ false
AudienceRef false type: GlossaryEntryRepr/ false
AudienceRef false type: ReportedNoteRepr/ false
AudienceRef false type: SimpleLabelRepr/ false
CharacterAbstractStateDef true type: CharacterConceptStateDef/ false
CharacterAbstractStateDef true type: CharacterLocalStateDef/ false
CharacterMarkup true type: CategoricalMarkup/ false
CharacterMarkup true type: QuantitativeMarkup/ false
CharacterModifierDef true type: CertaintyModifier/ false
CharacterModifierDef true type: OtherModifier/ false
CharacterModifierDef true type: SpatialModifier/ false
CharacterModifierDef true type: TemporalModifier/ false
CharacterRef false type: CharacterMarkup/ true
CharacterRef false type: CharSampleData/ true
CharacterRef false type: CharSummaryData/ true
CharacterStateRef false type: StateData/ false
CharacterStateRef false type: StateMarkup/ false
CharSampleData true type: CatSampleData/ false
CharSampleData true type: ColorRangeSampleData/ false
CharSampleData true type: QuantSampleData/ false
CharSummaryData true type: CatSummaryData/ false
CharSummaryData true type: ColorRangeCharData/ false
CharSummaryData true type: QuantSummaryData/ false
ClassRef type: ClassRefWithSecondaryClassifiers/ false
CodingStatusRef false type: CodingStatusData/ false
CodingStatusRef false type: CodingStatusMarkup/ false
ConceptRef false type: ConceptMarkup/ false
ConceptStateRef false type: CategoricalCharacter/ States/ StateReference/ false
DescriptionBase true type: CodedDescription/ false
DescriptionBase true type: NaturalLanguageDescription/ false
LabelPlusAbbreviationRepr false type: LabelPlusWording1Repr/ false
LabelPlusAbbreviationRepr false type: LabelPlusWording2Repr/ false
LabelPlusAbbreviationRepr false type: LabelPlusWording3Repr/ false
LanguageRef type: DescriptiveData/ Terminology/ General/ __LanguageRules/ LanguageRule/ false
LanguageRef type: AudienceRef/ false
ModifierDef true type: CharacterModifierDef/ true
ModifierDef true type: StateModifierDef/ true
NatLangWording2 false type: NatLangWording3/ false
SimpleLabelRepr false type: LabelPlusAbbreviationRepr/ false
StatementModification true type: CharacterModification/ true
StatementModification true type: StatementModificationMarkup/ true
StatementModification true type: StateModification/ true
StatementModification true type: StateModificationPlusProbabilities/ true
StatementModificationMarkup true type: CharacterModificationMarkup/ true
StatementModificationMarkup true type: StateModificationMarkup/ true
StateModificationMarkup true type: StateModificationPlusProbabilitiesMarkup/ true
StateModifierDef true type: FrequencyModifier/ false
StateModifierDef true type: StateModifier/ false
UnivarStatMeasureData type: MeasureMarkup/ false
UnivarStatMeasureWithParamData type: PMeasureMarkup/ false
ValueRange type: QuantitativeCharacter/ Mappings/ Mapping/ From/ false
VocabularyW1Base true type: CharacterAbstractStateDef/ true
VocabularyW1Base true type: CodingStatusDef/ false
VocabularyW2Base true type: ModifierDef/ true
VocabularyW2Base true type: UnivarStatMeasureElaboration/ false

Complex types derived by restriction

Base type Abstract   Derived type Abstract
CharacterModification true type: Certainty/ false
CharacterModification true type: Spatial/ false
CharacterModification true type: Temporal/ false
CharacterModification true type: OtherMod/ false
CharacterModificationMarkup true type: CertaintyMarkup/ false
CharacterModificationMarkup true type: SpatialMarkup/ false
CharacterModificationMarkup true type: TemporalMarkup/ false
CharacterModificationMarkup true type: OtherModMarkup/ false
ModifierDefs true type: CertaintyModifiers/ false
ModifierDefs true type: SpatialModifiers/ false
ModifierDefs true type: TemporalModifiers/ false
ModifierDefs true type: OtherModifiers/ false
ModifierDefs true type: FrequencyModifiers/ false
ModifierDefs true type: StateModifiers/ false
StateModification true type: StateMod/ false
StateModificationMarkup true type: StateModMarkup/ false
StateModificationPlusProbabilities true type: Frequency/ false
StateModificationPlusProbabilitiesMarkup true type: FrequencyMarkup/ false

Simple types derived by restriction

Base type Derived type
xs:Name (schema root) simpleType: BasicCodingStatusEnum
xs:Name (schema root) simpleType: PresenceOfInformationEnum
xs:Name (schema root) simpleType: GlossaryKindOfTermEnum
xs:Name (schema root) simpleType: UnivarStatMeasureCompareWithEnum
xs:Name (schema root) simpleType: StateCollectionModelEnum
xs:Name (schema root) simpleType: ConceptTreeTypeEnum
xs:Name (schema root) simpleType: ConceptTreeRoleEnum
xs:Name (schema root) simpleType: DataOriginEnum
xs:Name (schema root) simpleType: RatingOriginEnum
xs:token type: LabelPlusAbbreviationRepr/ ExportToken/ simpleType

Identity constraints

Key identity constraints

The SDD schema is an object-relational design where data structures cannot be shown in a single hierarchical tree. It therefore makes liberal use of key/keyref relations. The integrity of these relations is protected by two xml schema mechanisms: xs:key guarantees that all key values are present and unique, and xs:keyref guarantees that all references to key values point to an existing key. The following tables give an overview of the key and keyref constraints defined in the schema:

Key Name Selector path Field(s)
AudienceKey Terminology/General/Audiences/Audience @audiencekey     
CharacterDefKey Terminology/Characters/* @id     
CharacterDefKey_Categorical Terminology/Characters/CategoricalCharacter @id     
CharacterDefKey_ColorRange Terminology/Characters/ColorRangeCharacter @id     
CharacterDefKey_Quantitative Terminology/Characters/QuantitativeCharacter @id     
CharacterStateKey Terminology/Characters/CategoricalCharacter/States/StateDefinition | Terminology/Characters/CategoricalCharacter/States/StateReference @id     
CodingStatusKey Terminology/General/CodingStatusValues/Status @id     
ConceptKey .//Nodes/Concept @id     
ConceptStateKey .//Concept/ReferableDefinitions/ConceptStates/StateDefinition @id     
ConceptTreeKey Terminology/ConceptTrees/ConceptTree @id     
DescriptionKey CodedDescriptions/CodedDescription | NaturalLanguageDescriptions/NaturalLanguageDescription @id     
GlossaryEntryKey Terminology/Glossary/GlossaryEntry @id     
ModifierKey Terminology/Modifiers/ModifierSet/*/Modifier @id     
ModifierSetKey Terminology/Modifiers/ModifierSet @id     
StoredKeyKey IdentificationKeys/IdentificationKey @id     
StoredKeyNodeKey .//Lead @id     

Keyref identity constraints

Keyref Name Parent Referred key Selector  Field(s)    
AbstractCharSummaryData_CharacterKeyref group: __OOP_PolymorphicCharSummaryData/ Char/ CharacterDefKey . @ref     
AbstractMarkup_CharacterKeyref group: __OOP_PolymorphicCharMarkup/ Char/ CharacterDefKey . @ref     
AbstractStateMarkup_ModifierKeyref group: __OOP_PolymorphicStateModificationMarkup/ Mod/ ModifierKey . @ref     
ApplyBoolFunction_CharacterStateKeyref group: __ApplyBoolBodyGroup/ Cat/ CharacterStateKey . @ref     
CategoricalMarkup_CharacterKeyref group: PolymorphicCharMarkup/ Categorical/ CharacterDefKey . @ref     
CategoricalMarkup2_CharacterKeyref group: PolymorphicCharMarkup/ Categorical/ CharacterDefKey_Categorical . @ref     
CatMapping1_CharacterStateKeyref type: CategoricalCharacter/ Mappings/ Mapping/ From/ CharacterStateKey . @ref     
CatMapping2_CharacterStateKeyref type: CategoricalCharacter/ Mappings/ Mapping/ To/ CharacterStateKey . @ref     
CatMarkup_CharacterStateKeyref type: CategoricalMarkup/ State/ CharacterStateKey . @ref     
CatMarkup_CodingStatusKeyref type: CategoricalMarkup/ CodingStatus/ CodingStatusKey . @ref     
Certainty_ModifierKeyref group: PolymorphicCharModification/ Certainty/ ModifierKey . @ref     
CertaintyMarkup_ModifierKeyref group: PolymorphicCharModificationMarkup/ Certainty/ ModifierKey . @ref     
CharacterStateKeyref type: CharacterStateRefs/ State/ CharacterStateKey . @ref     
CharMod_ModifierKeyref_ group: __OOP_PolymorphicCharModification/ Modifier/ ModifierKey . @ref     
CharModMarkup_ModifierKeyref group: __OOP_PolymorphicCharModificationMarkup/ Mod/ ModifierKey . @ref     
CharSampleData_CharacterKeyref group: __OOP_PolymorphicCharSampleData/ Char/ CharacterDefKey . @ref     
CharSampleData_CharacterStateKeyref type: CatSampleData/ State/ CharacterStateKey . @ref     
CharSummaryData_CharacterStateKeyref type: CatSummaryData/ State/ CharacterStateKey . @ref     
CharSummaryData_CodingStatusKeyref type: CharSummaryData/ Status/ CodingStatusKey . @ref     
ColorMapping_CharacterStateKeyref type: ColorRangeCharacter/ Mappings/ Mapping/ To/ CharacterStateKey . @ref     
Concept_CharacterKeyref type: Concept/ Character/ CharacterDefKey . @ref     
ConceptMarkup_ConceptKeyref type: NaturalLanguageDescription/ NaturalLanguageData/ Concept/ ConceptKey . @ref     
ConceptStateKeyref type: CategoricalCharacter/ States/ StateReference/ ConceptStateKey . @ref     
ConceptStatesAutoUpdateChar_CharacterKeyref type: Concept/ ReferableDefinitions/ __AutoUpdateCharacters/ Character/ CharacterDefKey . @ref     
Default_AudienceKeyref type: DescriptiveData/ ConfigurationData/ PresentationDefaults/ Audience/ AudienceKey . @audience     
Default_ClassHierarchyKeyref type: DescriptiveData/ ConfigurationData/ DataInheritance/ ClassHierarchy/ ClassHierarchyKey . @ref     
Default_ConceptTreeKeyref type: DescriptiveData/ ConfigurationData/ PresentationDefaults/ InteractiveKeyConceptTree/ ConceptTreeKey . @ref     
Description_ClassNameProxyKeyref type: DescriptionBase/ Header/ ClassName/ ClassNameProxyKey . @ref     
Description_UnitProxyKeyref type: DescriptionBase/ Header/ Unit/ UnitProxyKey . @ref     
Frequency_ModifierKeyref group: PolymorphicStateModification/ Frequency/ ModifierKey . @ref     
FrequencyMarkup_ModifierKeyref group: PolymorphicStateModificationMarkup/ Frequency/ ModifierKey . @ref     
GlossaryEntryKeyref group: GlossaryRefGroup/ Definition/ GlossaryEntryKey . @ref     
GlossEntry_AudienceKeyref type: GlossaryEntry/ Label/ Representation/ AudienceKey . @audience     
Label_AudienceKeyref type: LabelPlusAbbreviation/ Representation/ AudienceKey . @audience     
Label_MediaResourceKeyref type: LabelPlusAbbreviationRepr/ Icon/ MediaResourceKey . @ref     
LabelW1_AudienceKeyref type: LabelPlusWording1/ Representation/ AudienceKey . @audience     
LabelW2_AudienceKeyref type: LabelPlusWording2/ Representation/ AudienceKey . @audience     
LabelW3_AudienceKeyref type: LabelPlusWording3/ Representation/ AudienceKey . @audience     
MeasurementUnitKeyref type: QuantSummaryData/ MeasurementUnit/ MeasurementUnitKey . @ref     
ModifierSetKeyref type: Concept/ InheritableDefinitions/ RecommendedModifiers/ ModifierSet/ ModifierSetKey . @ref     
Note_AudienceKeyref type: ReportedNote/ Representation/ AudienceKey . @audience     
OtherMod_ModifierKeyref group: PolymorphicCharModification/ OtherModifier/ ModifierKey . @ref     
OtherModMarkup_ModifierKeyref group: PolymorphicCharModificationMarkup/ Other/ ModifierKey . @ref     
QuantitativeMarkup_CharacterKeyref group: PolymorphicCharMarkup/ Quantitative/ CharacterDefKey . @ref     
QuantitativeMarkup_CodingStatusKeyref type: QuantitativeMarkup/ CodingStatus/ CodingStatusKey . @ref     
QuantitativeMarkup2_CharacterKeyref group: PolymorphicCharMarkup/ Quantitative/ CharacterDefKey_Quantitative . @ref     
QuantMapping_CharacterStateKeyref type: QuantitativeCharacter/ Mappings/ Mapping/ To/ CharacterStateKey . @ref     
Recommended_MeasurementUnitKeyref type: QuantitativeCharacter/ RecommendedMeasurementUnit/ MeasurementUnitKey . @ref     
SampleDataCategorical_CharacterKeyref group: PolymorphicCharSampleData/ Categorical/ CharacterDefKey . @ref     
SampleDataCategorical2_CharacterKeyref group: PolymorphicCharSampleData/ Categorical/ CharacterDefKey_Categorical . @ref     
SampleDataColorRange_CharacterKeyref group: PolymorphicCharSampleData/ ColorRange/ CharacterDefKey . @ref     
SampleDataColorRange2_CharacterKeyref group: PolymorphicCharSampleData/ ColorRange/ CharacterDefKey_ColorRange . @ref     
SampleDataQuantitative_CharacterKeyref group: PolymorphicCharSampleData/ Quantitative/ CharacterDefKey . @ref     
SampleDataQuantitative2_CharacterKeyref group: PolymorphicCharSampleData/ Quantitative/ CharacterDefKey_Quantitative . @ref     
SimpleLabel_AudienceKeyref type: SimpleLabel/ Representation/ AudienceKey . @audience     
Spatial_ModifierKeyref group: PolymorphicCharModification/ Spatial/ ModifierKey . @ref     
SpatialMarkup_ModifierKeyref group: PolymorphicCharModificationMarkup/ Spatial/ ModifierKey . @ref     
StateMarkup_ModifierKeyref group: PolymorphicStateModificationMarkup/ Modifier/ ModifierKey . @ref     
StateMod_ModifierKeyref group: PolymorphicStateModification/ Modifier/ ModifierKey . @ref     
StateModAbstract_ModifierKeyref group: __OOP_PolymorphicStateModification/ Modifier/ ModifierKey . @ref     
StoredKey_ClassNameProxyKeyref type: StoredKeyNode/ ClassName/ ClassNameProxyKey . @ref     
StoredKey_StoredKeyKeyRef type: StoredKeyNode/ Subkey/ StoredKeyKey . @ref     
StoredKey_StoredKeyNodeKeyref type: StoredKeyNode/ KeyNode/ StoredKeyNodeKey . @ref     
SummaryDataCategorical_CharacterKeyref group: PolymorphicCharSummaryData/ Categorical/ CharacterDefKey . @ref     
SummaryDataCategorical2_CharacterKeyref group: PolymorphicCharSummaryData/ Categorical/ CharacterDefKey_Categorical . @ref     
SummaryDataColorRange_CharacterKeyref group: PolymorphicCharSummaryData/ ColorRange/ CharacterDefKey . @ref     
SummaryDataColorRange2_CharacterKeyref group: PolymorphicCharSummaryData/ ColorRange/ CharacterDefKey_ColorRange . @ref     
SummaryDataQuantitative_CharacterKeyref group: PolymorphicCharSummaryData/ Quantitative/ CharacterDefKey . @ref     
SummaryDataQuantitative2_CharacterKeyref group: PolymorphicCharSummaryData/ Quantitative/ CharacterDefKey_Quantitative . @ref     
Temporal_ModifierKeyref group: PolymorphicCharModification/ Temporal/ ModifierKey . @ref     
TemporalMarkup_ModifierKeyref group: PolymorphicCharModificationMarkup/ Temporal/ ModifierKey . @ref     

Uniqueness constraints

Uniqueness constraints differ from key constraints in that the elements referred to are not required to be present. However, whenever they are present, however, the combination of all fields has to be unique. In SDD schema, most uniqueness constraints could in fact be modeled as key constraints, since the data elements are required. However, to stress the distinction between key definitions to which keyrefs refer, and other constraints, we prefer to model them as uniqueness constraints.

Uniqueness constraint Selector path Field(s)    
AbstractCharacter_UniqueLabelRepresentation Representation @language  @audience   
Audience_UniqueLabelText Terminology/General/Audiences/Audience Label/Text  Specification/Language/@Language   
CategoricalCharacter_UniqueConceptStateRefs StateReference @ref     
CategoricalCharacter_UniqueStateLabelText StateDefinition/Label/Representation Text  @language  @audience 
CatMapping_UniqueMappingCombination Mapping From/@ref  To/@ref   
Character_UniqueLabelText Terminology/Characters/Character/Label/Representation Text  @language  @audience 
CharDependency_UniqueControllingStateRefs State @ref     
CharDependency_UniqueControllingStateRefs2 State @ref     
CharSampleData_UniqueCharState State @ref     
CharSummaryData_UniqueCharState State @ref     
CharSummaryData_UniqueCodingStatus CodingStatus @ref     
CharSummaryData_UniqueNoteRepresentation Representation @language  @audience   
CodingStatus_UniqueLabelText Terminology/General/CodingStatusValues/Status/Label/Representation Text  @language  @audience 
CodingStatusData_UniqueNoteRepresentation Representation @language  @audience   
Concept_UniqueAutoAddToCharRefs StateSet @ref     
Concept_UniqueLabelRepresentation Representation @language  @audience   
ConceptState_UniqueLabelText StateDefinition/Label/Representation Text  @language  @audience 
ConceptTree_UniqueLabelText Terminology/ConceptTrees/ConceptTree/Label/Representation Text  @language   
ConceptTreeDef_UniqueLabelRepresentation Representation @language     
ConceptTreeDef_UniqueRole Role    
Description_UniqueMediaResources MediaResource @ref     
DescriptionScope_UniqueLocality Locality @ref     
GlossaryEntry_UniqueAdjToTerms Term @id     
GlossaryEntry_UniqueAntonymTerms Term @id     
GlossaryEntry_UniqueConnectedToTerms Term @id     
GlossaryEntry_UniqueDevelopsFromTerms Term @id     
GlossaryEntry_UniqueHomologousTerms Term @id     
GlossaryEntry_UniqueKindOfTerms Term @id     
GlossaryEntry_UniqueMediaResources MediaResource @ref     
GlossaryEntry_UniqueMisinterprTerms Term @id     
GlossaryEntry_UniquePartOfTerms Term @id     
GlossaryEntry_UniquePhylDerivedTerms Term @id     
GlossaryEntry_UniqueRelatedTerms Term @id     
GlossaryEntry_UniqueRepr Representation @language  @audience   
GlossaryEntry_UniqueSynonymTerms Term @id     
GlossaryEntry_UniqueTermPlusSensuLabel Terminology/Glossary/GlossaryEntry/Representation Term  SensuLabel  @language 
Label_UniqueMediaResource Representation @language     
LanguageRules_UniqueLanguage LanguageRule @Language     
Modifier_UniqueLabelText Terminology/Modifiers/ModifierSet/*/Modifier/Label/Representation Text  @language  @audience 
ModifierSet_UniqueLabelText Terminology/Modifiers/ModifierSet/Label/Representation Text  @language   
ModSet_UniqueLabelRepresentation Representation @language     
QuantSampleData_UniqueNoteRepresentation Representation @language  @audience   
Sample_UniqueNoteRepresentation Representation @language  @audience   
SampleDataCategorical_UniqueCharState State @ref     
SampleDataQuantitative_UniqueCharState State @ref     
SamplingUnit_UniqueCharacter Character @ref     
StateData_UniqueNoteRepresentation Representation @language  @audience   
StoredKey_UniqueCodedStatements State @ref     
StoredKey_UniqueLabelRepresentation Representation @language     
StoredKey_UniqueLabelText IdentificationKeys/IdentificationKey/Label/Representation Text  @language   
StoredKey_UniqueLocality Locality @ref     
StoredKey_UniqueQuestionTextRepresentation Representation @language  @audience   
StoredKey_UniqueStatementRepresentation Representation @language  @audience   
SummaryDataCategorical_UniqueCharState State @ref     
SummaryDataCategorical_UniqueCodingStatus CodingStatus @ref     
SummaryDataColorRange_UniqueCodingStatus CodingStatus @ref     
SummaryDataQuantitative_UniqueCodingStatus CodingStatus @ref     
VocabularyDef1Base_UniqueLabelRepresentation Representation @language  @audience   
VocabularyDef2Base_UniqueLabelRepresentation Representation @language  @audience   

Table of annotations containing the problem marker (= '@@')

The character '@' is used inside schema annotations to mark problem or places that need further discussion. The table is sorted by order of occurrence in the schema.

Annotation Parent
1. @@ to be discussed! @@ For natural language reporting some rules can be defined per language rather than per audience. If a rule for a language used in an audience definition is missing, applications may add a default language rule to the project data. type: DescriptiveData/ Terminology/ General/ __LanguageRules/
2. @@This whole sequence is not functional, just a bunch of ideas for discussion! type: DescriptiveData/ Terminology/ General/ __LanguageRules/ LanguageRule/ Wording/
3. @@ Should for each of Or, And, etc. an entire delimiter-group be defined? @@ Should only 'Or' be defined and 'And' etc. left to the override mechanism available anyways in the concept trees? type: DescriptiveData/ Terminology/ General/ __LanguageRules/ LanguageRule/ Wording/ OrDelimiters/
4. @@ unclear whether used. DeltaAccess defines on the character level whether states are combined with or, and, to, or with. This has not yet been worked out for SDD! Instead originally SDD attempts to succeed just with delimiters. Combining delimiter rules with conditionally different operators is a problem, however!@@ type: DescriptiveData/ Terminology/ General/ __LanguageRules/ LanguageRule/ Wording/ And/
5. @@ unclear whether this would be used type: DescriptiveData/ Terminology/ General/ __LanguageRules/ LanguageRule/ Wording/ With/
6. @@DISCUSS: should concept tree hierarchies be recursively definable, as long as the resulting tree is acyclical?@@ Importantly, this would allow to define generalization and part-of relations between parts/structures! [ATTR: id] type: DescriptiveData/ Terminology/ ConceptTrees/ ConceptTree/
7. @@ Both proposals need elaboration and discussion! type: CodingStatusDef/ Specification/
8. Flag states, which applications may use as a template for new descriptions. Templates may be categorical states or coding status values (but currently not measures). Rules for finding templates: a) For class description (i. e. using Header/ClassName) find all higher classes (according to ClassHierarchy) and copy the template states from there. b) For unit/object description (Header/Unit) find the Class assigned to the Unit and copy template states directly from this class (@ and higher classes?). It is expected that the scoring is revised by an expert; thus template states may be defined in cases where they apply only to the majority of subclasses. @@Can this perhaps be handled by new kind of CodingStatus instead?@@ group: PolymorphicStateModification/ __IsTemplate/
9. Constrained vocabulary (Structure, PropertyTerm, FunctionalConcept, MethodOrProcedure, ChemicalCompound, Modifier, NomenclatureTerm, OtherTerm) @@ Please comment on necessity of this! @@ type: GlossaryEntry/ __KindOfTerm/
10. Misinterpretations are especially interesting to improve error tolerance in identifications. May refer to structure and property terms. Example: Cyathium is misinterpretable-as flower. @@?? necessary in addition to structural kind-of relations? {directional} type: GlossaryEntry/ __Ontology/ General/ MisinterpretableAs/
11. Only for structures. Example: The thumb is adjacent to the index finger, connected to the palm of the hand, and part of the hand. {bidirectional} {@@This term seems to be particularly problematic and will not be included in the first release of SDD} type: GlossaryEntry/ __Ontology/ Topological/ __AdjacentTo/
12. If different definitions exist for a term (e. g., following different scientific schools), a distinguishing label (to be added after Term + "sensu") should be provided. @@ alternative names for element: ConceptLabel, ConceptQualifier?@@ @@ConceptLabel has been added to the UNIQUE definition, but needs testing what happens when missing. Will terms still be required unique? type: GlossaryEntryRepr/ SensuLabel/
13. Free-form information about accuracy of measurement?? Accuracy characterizes the how close a measured value is expected to be to the true value. @@ Free-form would mean language and audience dependent and can not be included in analysis, i.e. this would be a rather specific internal annotation. Any way to improve this? Ideally a numeric value for the accuracy of measurements would be desirable! type: QuantitativeCharacter/ __MeasurementAccuracy/
14. @@ Methods should ideally be defined in Glossary entries. Or should this become free-form text? [ATTR: ref] type: QuantitativeCharacter/ __MeasurementMethod/
15. @@ (to be deleted if the simple pattern approach above is sufficient!) type: UnivarStatMeasureElaboration/ Specification/ __OrThisInstead/
16. @@ This or a format string ?@@ type: UnivarStatMeasureElaboration/ Specification/ __OrThisInstead/ __LeadingZero/
17. @@ This or a format string ?@@ type: UnivarStatMeasureElaboration/ Specification/ __OrThisInstead/ __DecimalSeparator/
18. @@ This or a format string ?@@ Note: How can we handle measures as well as values from repeated observations (samples) with the same mechanism? type: UnivarStatMeasureElaboration/ Specification/ __OrThisInstead/ __DecimalPlaces/
19. [ATTR in CharSummaryData base type:] ref (= to char. definition) origin (= enumeration; data may be original data or derived from other sources like calculation, mapping, aggregation/ generalization, inheritance @@Is there a better name for 'origin'? type: CharSummaryData/
20. @@Only a placeholder for discussion! Many concept trees, especially those defining structures are specific to taxa! Since taxa are generalized to classes in SDD, this should not be called "TaxonomicScope". However, "ClassScope" seems to be very confusing as well. type: ConceptTreeDef/ Specification/ __TaxonomicScope/
21. Refers to a class name (= in biology a taxon name) [ATTR: ref, @@check classifier design: add. attributes?] type: DescriptionBase/ Header/ ClassName/
22. @@Should we define additional scopes for the description, e. g., host plants for pathogens, or should be simply provide a free-form text element like this? @@Also compare the Scope/GeographicalScope and Scope/SourcePublications structure in the metadata for the entire dataset. This should probably be reflected here! type: DescriptionBase/ Header/ __OtherScope/
23. @@Should we define additional scopes for the description, e. g., host plants for pathogens, or should be simply provide a free-form text element like this? type: StoredKeyDef/ __OtherScope/
24. @@Only a placeholder for discussion! Unit/Class descriptions do not have taxonomic scope, only the project. An identification key could have it, but on the other hand it could also be inferred from the taxa contained in the key nodes!!! type: StoredKeyDef/ __TaxonomicScope/
25. Refers to a class name (in biology a taxon name) [ATTR: ref, @@check classifier design: add. attributes?] type: StoredKeyNode/ ClassName/
26. Refers to arbitrary identification key nodes within the current or other keys, to allow building reticulations into the key. @@ This may need further discussion and testing! Allowing to jump into other keys requires the leads (=node) key to be unique across all keys, not only within a key!@@ [ATTR: ref] type: StoredKeyNode/ KeyNode/
27. @@we have to discuss, whether these should be full coded data types (including modifiers) or not group: __ApplyBoolBodyGroup/ Quantitative/
28. Categorizing characters into basic property types (e. g., color, 2-dim. shape, 3-dim. shape, surface texture, taste, smell, behavior, physiology, measurements, etc.) greatly improves the analysis and management of larger character sets and is therefore recommended. [@@ Only a single concept tree should have this hierarchy type. (not enforced in schema, how can it be enforced? Other types occur multiple, i. e. one cannot make a UNIQUE statement on attribute! @@] (schema root) simpleType: ConceptTreeTypeEnumenumeration
29. @@ check later whether still necessary! group: __DelimiterGroup/
30. @@Currently this is a DUMMY, pending any decision about how to handle classifiers! It is kept in the schema to mark the places where scope classifiers are needed. ### Defines an element with a ref attribute pointing to a ClassName in Entities (in biology: Class = Taxon) - plus: additional classifier references, e. g., to further define the sex, generation, or life cycle stage of descriptions or class names in keys. type: ClassRefWithSecondaryClassifiers/

(Generated by DiversitySchemaTools Version 0.4. Copyright (c) G. Hagedorn 2004.)