Schema SDD_09.xsd (with source)

(Documentation of the SDD schema version released 1. Dec. 2003. This version includes the xml schema source code. See the "Overview of available documentation" for further information.

Note that all diagram are hyperlinked, you can click on the symbols to explore elements or types. Please read Schema design modeling symbols for explanations of the symbols used in the schema diagrams!

This documentation is based on html code generated by the XML Spy schema editor (http://www.altova.com/xmlspy/). The generated code has been modified by G. Hagedorn to make it more compact (8 MB reduced to 2.3 MB!) and more readable.

schema location: SDD_09.xsd
targetNamespace: http://www.tdwg.org/2003/SDD_09
 
Elements Groups Complex types Simple types Attr. groups 
Document AnnotationGroup __FormattedBlockTextType __BooleanTripleState KeyAttrGroup 
DelimiterGroup __FormattedInlineTextType __ColorHSV KeyrefAttrGroup 
RichAnnotationGroup __OptionalCreatorsType __ColorRGB 
AgentConnectorType BasicCodingStatusEnum 
AgentRefsType CharacterTypeEnum 
AgentRefType ConceptTreeRoleEnum 
ApplicationDataType ConceptTreeTypeEnum 
AudienceRefType ExpertiseLevelEnum 
AudiencesType KeyValue 
CharacterCodingStatusDataType MediaResourceTypeEnum 
CharacterCodingStatusNLDType NumericFormatPattern 
CharacterData_BaseType PresenceOfInformationEnum 
CharacterDataType Probability 
CharacterDefType RevisionStatusEnum 
CharacterMeasureDataType StatisticalMeasureCompareWithEnum 
CharacterMeasureNLDType StatisticalMeasureMethodEnum 
CharacterNLDType StatisticalMeasureReportingClassEnum 
CharacterNodeRefType String255 
CharacterNumericValueNLDType StringN 
CharacterNumericValueType 
CharacterRawDataType 
CharacterRefType 
CharacterStateData_BaseType 
CharacterStateDataType 
CharacterStateDefType 
CharacterStateNLDType 
CharacterStateRefsType 
CharacterStateRefType 
CharacterStatMeasureDefType 
CitationType 
ClassHierarchyConnectorType 
ClassHierarchyNodeType 
ClassNameConnectorType 
ClassRefType 
CodedDescriptionType 
CodingStatusDefType 
ConceptTreeDefType 
ConceptTreeNodeType 
CreatorsType 
DescribedObjectConnectorType 
DescribedObjectRefType 
DescriptionBaseType 
DescriptionsSectionType 
DesignedKeyDefType 
DesignedKeyNodeRefType 
DesignedKeyNodeType 
DesignedKeyRefType 
EntitiesSectionType 
FormattedSimpleTextType 
FrequencyModifierDefType 
FrequencyModifierNLDType 
FrequencyModifierRefsType 
FrequencyModifierRefType 
GeneralModifierDefType 
GeneralModifierNLDType 
GeneralModifierRefsType 
GeneralModifierRefType 
GenerationMetadataSectionType 
GlossaryEntryRefType 
GlossaryEntryRepresentationType 
GlossaryEntryType 
GroupNLDType 
KeysSectionType 
LabelPlusAbbreviationRepresentationType 
LabelPlusAbbreviationType 
LabelPlusWording1RepresentationType 
LabelPlusWording1Type 
LabelPlusWording2RepresentationType 
LabelPlusWording2Type 
LabelPlusWording3RepresentationType 
LabelPlusWording3Type 
LocalityConnectorType 
LocalityRefsType 
LocalityRefType 
MarkupTextType 
MediaResourceConnectorType 
MediaResourceRefsType 
MediaResourceRefType 
ModifierDefBaseType 
ModifierSetRefType 
ModifierSetType 
NatLangOperatorWordingType 
NatLangWording1Type 
NatLangWording2Type 
NatLangWording3Type 
NatLangWordingType 
NaturalLanguageDescriptionType 
ProbabilityModifierDefType 
ProbabilityModifierNLDType 
ProbabilityModifierRefsType 
ProbabilityModifierRefType 
ProbabilityRangeType 
ProjectDefinitionSectionType 
ProjectDefRepresentationType 
PublicationConnectorType 
PublicationRefType 
ReportedNoteRepresentationType 
ReportedNoteType 
ResourceConnectorBaseType 
ResourcesSectionType 
RevisionDataType 
SimpleLabelRepresentationType 
SimpleLabelType 
StateDefBaseType 
StatisticalMeasureDefType 
TerminologySectionType 
TermListType 


element Document
diagram
identity constraints
 Name  Refer  Selector  Field(s)  
key  AudienceDefinitionKey    ProjectDefinition/Audiences/Audience  @audiencekey  
key  GlossaryEntryKey    Terminology/Glossary/GlossaryEntry  @key  
unique  GlossaryEntry_UniqueTerm    Terminology/Glossary/GlossaryEntry/Representation  Term  
@audience  
key  CodingStatusKey    Terminology/CodingStatusValues/CodingStatus  @key  
unique  CodingStatus_UniqueLabelText    Terminology/CodingStatusValues/CodingStatus/Label/Representation  Text  
@audience  
key  StatisticalMeasureKey    Terminology/StatisticalMeasures/StatisticalMeasure  @key  
unique  StatisticalMeasure_UniqueLabelText    Terminology/StatisticalMeasures/StatisticalMeasure/Label/Representation  Text  
@audience  
unique  StatisticalMeasure_UniqueMethodAndValue    Terminology/StatisticalMeasures/StatisticalMeasure/Generalization  Method  
MethodValue  
key  ProbModifierKey    Terminology/Modifiers/Probability/Modifier  @key  
unique  Probability_UniqueLabelText    Terminology/Modifiers/Probability/Modifier/Label/Representation  Text  
@audience  
key  FrequModifierKey    Terminology/Modifiers/Frequency/Modifier  @key  
unique  Frequency_UniqueLabelText    Terminology/Modifiers/Frequency/Modifier/Label/Representation  Text  
@audience  
key  GeneralModifierKey    Terminology/Modifiers/General/Modifier  @key  
unique  GeneralModifier_UniqueLabelText    Terminology/Modifiers/General/Modifier/Label/Representation  Text  
@audience  
unique  CombinedModifierKey    Terminology/Modifiers/*/Modifier  @key  
key  ModifierSetKey    Terminology/Modifiers/Sets/Set  @key  
unique  ModifierSet_UniqueLabelText    Terminology/Modifiers/Sets/Set/Label/Representation  Text  
@audience  
key  CharacterDefinitionKey    Terminology/Characters/Character  @key  
unique  Character_UniqueLabelText    Terminology/Characters/Character/Label/Representation  Text  
@audience  
key  CharacterStateKey    Terminology/Characters/Character/Categorical/States/StateDefinition | Terminology/Characters/Character/Categorical/States/StateReference  @key  
key  CharacterStatMeasureKey    Terminology/Characters/Character/Numerical/StatisticalMeasures/StatisticalMeasure  @key  
key  CombinedCharStateOrMeasureKey    Terminology/Characters/Character/Categorical/States/StateDefinition | Terminology/Characters/Character/Categorical/States/StateReference | Terminology/Characters/Character/Numerical/StatisticalMeasures/StatisticalMeasure  @key  
key  ConceptTreeKey    Terminology/ConceptTrees/ConceptTree  @key  
unique  ConceptTree_UniqueLabelText    Terminology/ConceptTrees/ConceptTree/Label/Representation  Text  
@audience  
key  ConceptTreeNodeKey    .//Concept  @key  
key  GenericStateKey    .//Concept/GenericStates/StateDefinition  @key  
key  ClassResourceKey    Entities/Classes/Class  @key  
key  ClassHierarchyKey    Entities/ClassHierarchies/ClassHierarchy  @key  
key  ObjectResourceKey    Entities/Objects/Object  @key  
key  AgentResourceKey    Resources/Agents/Agent  @key  
key  PublicationResourceKey    Resources/Publications/Publication  @key  
key  LocalityResourceKey    Resources/Geography/Locality  @key  
key  MediaResourceKey    Resources/MediaResources/MediaResource  @key  
key  DescriptionKey    Descriptions/CodedDescription | Descriptions/NaturalLanguageDescription  @key  
key  DesignedKeyDefKey    Keys/Key  @key  
unique  DesignedKey_UniqueLabelText    Keys/Key/Label/Representation  Text  
@audience  
key  DesignedKeyNodeKey    .//Lead  @key  
annotation
documentation Provides root element. Note that the version of the SDD standard used is defined in the namespace declaration and needs no separate data element.Note: until xInclude is sufficiently widespread implemented to combine data from different documents, terminology, descriptions, and resources must be in the same document!
source<xs:element name="Document"> <xs:annotation> <xs:documentation xml:lang="en">Provides root element. Note that the version of the SDD standard used is defined in the namespace declaration and needs no separate data element.Note: until xInclude is sufficiently widespread implemented to combine data from different documents, terminology, descriptions, and resources must be in the same document!</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="GenerationMetadata" type="GenerationMetadataSectionType"> <xs:annotation> <xs:documentation xmlns="http://www.w3.org/1999/xhtml" source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_S1_GenerationMetadata.html" xml:lang="en">Describes the application or script that produced this document. The information is transient (informs the import process, but is discarded after import). Intended for debugging purposes and to improve import quality (esp. if some generators are known to produce problematic code).</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ProjectDefinition" type="ProjectDefinitionSectionType"> <xs:annotation> <xs:documentation source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_S2_ProjDef.html" xml:lang="en">Required information defining the project itself. Refers to the entire document, (terminology, descriptions, keys, etc.)</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Terminology" type="TerminologySectionType" minOccurs="0"> <xs:annotation> <xs:documentation source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_S3_Terminology.html" xml:lang="en">Defines the terminology (parts, characters, states, etc.) in which the descriptions are expressed.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Entities" type="EntitiesSectionType" minOccurs="0"> <xs:annotation> <xs:documentation source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_S4_Entities.html" xml:lang="en">The classes (biology: taxa) and objects (biology: specimens) that are being described.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Resources" type="ResourcesSectionType" minOccurs="0"> <xs:annotation> <xs:documentation source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_S5_Resources.html" xml:lang="en">Lists of external resources used in terminology or descriptions (persons, publications, media resources). This provides an interface as well as a cache.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Descriptions" type="DescriptionsSectionType" minOccurs="0"> <xs:annotation> <xs:documentation source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_S6_Descriptions.html" xml:lang="en">Descriptions of either an abstract class concept (taxon, disease, etc.) or a physical object (individual specimen, part of individual, etc.).</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Keys" type="KeysSectionType" minOccurs="0"> <xs:annotation> <xs:documentation source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_S7_Keys.html" xml:lang="en">Dichotomous or multifurcating authored keys (including legacy data)</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:key name="AudienceDefinitionKey"> <xs:selector xpath="ProjectDefinition/Audiences/Audience"/> <xs:field xpath="@audiencekey"/> </xs:key> <xs:key name="GlossaryEntryKey"> <xs:selector xpath="Terminology/Glossary/GlossaryEntry"/> <xs:field xpath="@key"/> </xs:key> <xs:unique name="GlossaryEntry_UniqueTerm"> <xs:annotation> <xs:documentation xml:lang="en">The labels of modifier definitions are required and must be unique for a given audience definition.</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/Glossary/GlossaryEntry/Representation"/> <xs:field xpath="Term"/> <xs:field xpath="@audience"/> </xs:unique> <xs:key name="CodingStatusKey"> <xs:annotation> <xs:documentation xml:lang="en">The key of coding status values must be unique.</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/CodingStatusValues/CodingStatus"/> <xs:field xpath="@key"/> </xs:key> <xs:unique name="CodingStatus_UniqueLabelText"> <xs:annotation> <xs:documentation xml:lang="en">The labels of modifier definitions are required and must be unique for a given audience definition.</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/CodingStatusValues/CodingStatus/Label/Representation"/> <xs:field xpath="Text"/> <xs:field xpath="@audience"/> </xs:unique> <xs:key name="StatisticalMeasureKey"> <xs:annotation> <xs:documentation xml:lang="en">The key of coding status values must be unique.</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/StatisticalMeasures/StatisticalMeasure"/> <xs:field xpath="@key"/> </xs:key> <xs:unique name="StatisticalMeasure_UniqueLabelText"> <xs:annotation> <xs:documentation xml:lang="en">The labels of modifier definitions are required and must be unique for a given audience definition.</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/StatisticalMeasures/StatisticalMeasure/Label/Representation"/> <xs:field xpath="Text"/> <xs:field xpath="@audience"/> </xs:unique> <xs:unique name="StatisticalMeasure_UniqueMethodAndValue"> <xs:annotation> <xs:documentation xml:lang="en">Statistical measures are uniquely identified by the combination of method name and the optional method value.</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/StatisticalMeasures/StatisticalMeasure/Generalization"/> <xs:field xpath="Method"/> <xs:field xpath="MethodValue"/> </xs:unique> <xs:key name="ProbModifierKey"> <xs:selector xpath="Terminology/Modifiers/Probability/Modifier"/> <xs:field xpath="@key"/> </xs:key> <xs:unique name="Probability_UniqueLabelText"> <xs:annotation> <xs:documentation xml:lang="en">The labels of probability modifier definitions are required and must be unique for a given audience definition.</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/Modifiers/Probability/Modifier/Label/Representation"/> <xs:field xpath="Text"/> <xs:field xpath="@audience"/> </xs:unique> <xs:key name="FrequModifierKey"> <xs:selector xpath="Terminology/Modifiers/Frequency/Modifier"/> <xs:field xpath="@key"/> </xs:key> <xs:unique name="Frequency_UniqueLabelText"> <xs:annotation> <xs:documentation xml:lang="en">The labels of frequency definitions are required and must be unique for a given audience definition.</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/Modifiers/Frequency/Modifier/Label/Representation"/> <xs:field xpath="Text"/> <xs:field xpath="@audience"/> </xs:unique> <xs:key name="GeneralModifierKey"> <xs:selector xpath="Terminology/Modifiers/General/Modifier"/> <xs:field xpath="@key"/> </xs:key> <xs:unique name="GeneralModifier_UniqueLabelText"> <xs:annotation> <xs:documentation xml:lang="en">The labels of modifier definitions are required and must be unique for a given audience definition.</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/Modifiers/General/Modifier/Label/Representation"/> <xs:field xpath="Text"/> <xs:field xpath="@audience"/> </xs:unique> <xs:unique name="CombinedModifierKey"> <xs:annotation> <xs:documentation xml:lang="en">In addition to the modifier keys restricted to one type of modifier (probability, frequency, general) we currently require that modifier keys are unique across the different modifier types. This requirement is introduced as a precaution to later simplify changes in the understanding of modifiers (one or several collections?)</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/Modifiers/*/Modifier"/> <xs:field xpath="@key"/> </xs:unique> <xs:key name="ModifierSetKey"> <xs:annotation> <xs:documentation xml:lang="en">Defines the key for a modifier set (which contains references to Frequency, General, Probability modifiers). A set can be referred to as a whole to enable all different modifiers in the set for a character.</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/Modifiers/Sets/Set"/> <xs:field xpath="@key"/> </xs:key> <xs:unique name="ModifierSet_UniqueLabelText"> <xs:annotation> <xs:documentation xml:lang="en">The labels of probability modifier definitions are required and must be unique for a given audience definition.</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/Modifiers/Sets/Set/Label/Representation"/> <xs:field xpath="Text"/> <xs:field xpath="@audience"/> </xs:unique> <xs:key name="CharacterDefinitionKey"> <xs:selector xpath="Terminology/Characters/Character"/> <xs:field xpath="@key"/> </xs:key> <xs:unique name="Character_UniqueLabelText"> <xs:annotation> <xs:documentation xml:lang="en">The labels of character definitions are required and must be unique for a given audience definition.</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/Characters/Character/Label/Representation"/> <xs:field xpath="Text"/> <xs:field xpath="@audience"/> </xs:unique> <xs:key name="CharacterStateKey"> <xs:annotation> <xs:documentation xml:lang="en">This provides a joint key for states either defined locally within a character (= StateDefinition), or referenced from GenericStates (StateReference; provides a new local key). This is the only key for them; no separate keys for locally defined/generic reference within the character are defined. Note that state keys are unique across all characters, not only within each character.</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/Characters/Character/Categorical/States/StateDefinition | Terminology/Characters/Character/Categorical/States/StateReference"/> <xs:field xpath="@key"/> </xs:key> <xs:key name="CharacterStatMeasureKey"> <xs:annotation> <xs:documentation xml:lang="en">Provides a new key for the reference object referring to the project-wide statistical measure definitions in the context of a single character. This key is referred to when statistical measures are used in Descriptions.</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/Characters/Character/Numerical/StatisticalMeasures/StatisticalMeasure"/> <xs:field xpath="@key"/> </xs:key> <xs:key name="CombinedCharStateOrMeasureKey"> <xs:annotation> <xs:documentation xml:lang="en">This provides a combined key for states (local or generic references, compare CharacterStateKey) and statistical measure references. @@ Further discussion on the utility of doing this may be required. It is intended to simplify implementations that treat all state or measure objects within the character as a single supertype.</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/Characters/Character/Categorical/States/StateDefinition | Terminology/Characters/Character/Categorical/States/StateReference | Terminology/Characters/Character/Numerical/StatisticalMeasures/StatisticalMeasure"/> <xs:field xpath="@key"/> </xs:key> <xs:key name="ConceptTreeKey"> <xs:selector xpath="Terminology/ConceptTrees/ConceptTree"/> <xs:field xpath="@key"/> </xs:key> <xs:unique name="ConceptTree_UniqueLabelText"> <xs:annotation> <xs:documentation xml:lang="en">The labels of concept tree definitions are required and must be unique for a given audience definition.</xs:documentation> </xs:annotation> <xs:selector xpath="Terminology/ConceptTrees/ConceptTree/Label/Representation"/> <xs:field xpath="Text"/> <xs:field xpath="@audience"/> </xs:unique> <xs:key name="ConceptTreeNodeKey"> <xs:annotation> <xs:documentation xml:lang="en">This collects all keys of ConceptTreeNode elements. Note that no UniqueLabelText constraint is defined for concept tree nodes; the labels on tree nodes are optional and not required to be unique. They are expected to be displayed together with their parents and thus obtain their uniqueness from the context (the path from the root should be unique, but this is not expressed in the schema). Also, the xpath selector selects all Concept elements anywhere in the document, which is more general (and therefore computation intensive) than necessary. A better xpath expression would be Terminology/ConceptTrees/ConceptTree//Concept, which includes all nodes regardless of their place in the tree structure. However, combining a defined path with an "all child" path is impossible under the restrictions imposed on xpath expressions in xml-schema identity constraints. Further, since keyed elements in a tree are collected from the document root rather than from the tree root, the node element names must be unique names in the entire schema. Especially, it is not possible to give both the tree definition nodes and the references to these nodes from within NaturalLanguageDescriptions the same name. Although the latter has a ref instead of a key, Schema will complain that the key is missing, rather than understand that only elements possessing a key are to be selected for the xs:key constraint. Please comment if you know better solutions!</xs:documentation> </xs:annotation> <xs:selector xpath=".//Concept"/> <xs:field xpath="@key"/> </xs:key> <xs:key name="GenericStateKey"> <xs:annotation> <xs:documentation xml:lang="en">All generic state key values must be unique in an entire project. Compare ConceptTreeNodeKey.</xs:documentation> </xs:annotation> <xs:selector xpath=".//Concept/GenericStates/StateDefinition"/> <xs:field xpath="@key"/> </xs:key> <xs:key name="ClassResourceKey"> <xs:selector xpath="Entities/Classes/Class"/> <xs:field xpath="@key"/> </xs:key> <xs:key name="ClassHierarchyKey"> <xs:selector xpath="Entities/ClassHierarchies/ClassHierarchy"/> <xs:field xpath="@key"/> </xs:key> <xs:key name="ObjectResourceKey"> <xs:selector xpath="Entities/Objects/Object"/> <xs:field xpath="@key"/> </xs:key> <xs:key name="AgentResourceKey"> <xs:selector xpath="Resources/Agents/Agent"/> <xs:field xpath="@key"/> </xs:key> <xs:key name="PublicationResourceKey"> <xs:selector xpath="Resources/Publications/Publication"/> <xs:field xpath="@key"/> </xs:key> <xs:key name="LocalityResourceKey"> <xs:selector xpath="Resources/Geography/Locality"/> <xs:field xpath="@key"/> </xs:key> <xs:key name="MediaResourceKey"> <xs:selector xpath="Resources/MediaResources/MediaResource"/> <xs:field xpath="@key"/> </xs:key> <xs:key name="DescriptionKey"> <xs:selector xpath="Descriptions/CodedDescription | Descriptions/NaturalLanguageDescription"> <xs:annotation> <xs:documentation xml:lang="en">A joint key for all CodedDescription or NaturalLanguageDescription elements. Note: as any key, this may be problematic if Descriptions are federated!</xs:documentation> </xs:annotation> </xs:selector> <xs:field xpath="@key"/> </xs:key> <xs:key name="DesignedKeyDefKey"> <xs:annotation> <xs:documentation xml:lang="en">This identifies an entire designed key (i. e. not the nodes/steps in the key)</xs:documentation> </xs:annotation> <xs:selector xpath="Keys/Key"/> <xs:field xpath="@key"/> </xs:key> <xs:unique name="DesignedKey_UniqueLabelText"> <xs:annotation> <xs:documentation xml:lang="en">The labels of designed key definitions (i. e. for the entire key) are required and must be unique for a given audience definition.</xs:documentation> </xs:annotation> <xs:selector xpath="Keys/Key/Label/Representation"/> <xs:field xpath="Text"/> <xs:field xpath="@audience"/> </xs:unique> <xs:key name="DesignedKeyNodeKey"> <xs:annotation> <xs:documentation xml:lang="en">This collects all keys of nodes in designed Keys (Lead elements). Compare the note on ConceptTreeNode about a potentially better xpath.</xs:documentation> </xs:annotation> <xs:selector xpath=".//Lead"/> <xs:field xpath="@key"/> </xs:key> <!-- The place of key definition defines not only the starting point for the xpath, but also its scope/validity. While ref can be defined with the element, key definitions must be visible by all keyref identity constraints. The document root here is the branching point for terminology and description. --> <!-- End of root element --></xs:element>

element Document/GenerationMetadata
diagram
typeGenerationMetadataSectionType
attributes
Name  Type  Use  Default  Fixed  Annotation
GeneratorName  String255  required      
documentation Name of the application that has generated this document. The term 'application' should be understood in a loose sense; it may be a script that is not part of a larger application (compare the Routine attribute, which may provide the detailed name of scriptis that are part of an application!).
GeneratorVersion  String255  required      
documentation Version of the application that has generated this document. The attribute should not be named 'Version' to avoid confusion with the version of the content (see ProjectDefinition).
GeneratorNotes  String255  optional      
documentation Additional information about the generating application that is not part of the name or version. Documenting the copyright of the generating application is not recommended, but if desired, a copyright string may be placed here.
Routine  String255  optional      
documentation Optionally allows a generating application to identify which export routine created the document; some applications may have several alternative export routines. This attribute may also be used, to identify different conditions under which the export routine may behave differently.
TransformingScripts  String255  optional      
documentation Scripts (e. g. XSL transformations) that modify existing xml documents in a relatively minor way should add their name to this (semicolon-separated) list of transforming scripts (rather than replacing the GenerationMetadata with their own information).
TimeStamp  xs:dateTime  required      
documentation Date and time (UTC or local time with timezone information) at which the current document or data stream was created by the generator.
TerminologyIsExcerpt  xs:boolean  optional  false    
documentation If this document is produced in response to a query and therefore only contains a subset of the terminology defined in the project, this optional element should be set to true to inform consumers that a more complete version can be found elsewhere.
DescriptionIsExcerpt  xs:boolean  optional  false    
documentation If this document is produced in response to a query and therefore only contains a subset of descriptions available, this optional element should be set to true to inform consumers that a more complete version can be found elsewhere.
UpdateQueryURI  xs:anyURI  optional      
documentation If the document is a snapshot (complete or extract) of data held otherwise, and the data are served through a URI, this attribute informs about the point to query for up-to-date information. If possible this should be a complete web-query string.
annotation
documentation Describes the application or script that produced this document. The information is transient (informs the import process, but is discarded after import). Intended for debugging purposes and to improve import quality (esp. if some generators are known to produce problematic code).
source<xs:element name="GenerationMetadata" type="GenerationMetadataSectionType"> <xs:annotation> <xs:documentation xmlns="http://www.w3.org/1999/xhtml" source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_S1_GenerationMetadata.html" xml:lang="en">Describes the application or script that produced this document. The information is transient (informs the import process, but is discarded after import). Intended for debugging purposes and to improve import quality (esp. if some generators are known to produce problematic code).</xs:documentation> </xs:annotation></xs:element>

element Document/ProjectDefinition
diagram
typeProjectDefinitionSectionType
annotation
documentation Required information defining the project itself. Refers to the entire document, (terminology, descriptions, keys, etc.)
source<xs:element name="ProjectDefinition" type="ProjectDefinitionSectionType"> <xs:annotation> <xs:documentation source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_S2_ProjDef.html" xml:lang="en">Required information defining the project itself. Refers to the entire document, (terminology, descriptions, keys, etc.)</xs:documentation> </xs:annotation></xs:element>

element Document/Terminology
diagram
typeTerminologySectionType
annotation
documentation Defines the terminology (parts, characters, states, etc.) in which the descriptions are expressed.
source<xs:element name="Terminology" type="TerminologySectionType" minOccurs="0"> <xs:annotation> <xs:documentation source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_S3_Terminology.html" xml:lang="en">Defines the terminology (parts, characters, states, etc.) in which the descriptions are expressed.</xs:documentation> </xs:annotation></xs:element>

element Document/Entities
diagram
typeEntitiesSectionType
annotation
documentation The classes (biology: taxa) and objects (biology: specimens) that are being described.
source<xs:element name="Entities" type="EntitiesSectionType" minOccurs="0"> <xs:annotation> <xs:documentation source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_S4_Entities.html" xml:lang="en">The classes (biology: taxa) and objects (biology: specimens) that are being described.</xs:documentation> </xs:annotation></xs:element>

element Document/Resources
diagram
typeResourcesSectionType
annotation
documentation Lists of external resources used in terminology or descriptions (persons, publications, media resources). This provides an interface as well as a cache.
source<xs:element name="Resources" type="ResourcesSectionType" minOccurs="0"> <xs:annotation> <xs:documentation source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_S5_Resources.html" xml:lang="en">Lists of external resources used in terminology or descriptions (persons, publications, media resources). This provides an interface as well as a cache.</xs:documentation> </xs:annotation></xs:element>

element Document/Descriptions
diagram
typeDescriptionsSectionType
annotation
documentation Descriptions of either an abstract class concept (taxon, disease, etc.) or a physical object (individual specimen, part of individual, etc.).
source<xs:element name="Descriptions" type="DescriptionsSectionType" minOccurs="0"> <xs:annotation> <xs:documentation source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_S6_Descriptions.html" xml:lang="en">Descriptions of either an abstract class concept (taxon, disease, etc.) or a physical object (individual specimen, part of individual, etc.).</xs:documentation> </xs:annotation></xs:element>

element Document/Keys
diagram
typeKeysSectionType
annotation
documentation Dichotomous or multifurcating authored keys (including legacy data)
source<xs:element name="Keys" type="KeysSectionType" minOccurs="0"> <xs:annotation> <xs:documentation source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_S7_Keys.html" xml:lang="en">Dichotomous or multifurcating authored keys (including legacy data)</xs:documentation> </xs:annotation></xs:element>

group AnnotationGroup
diagram
used by
element ProjectDefinitionSectionType/__LanguageRules/LanguageRule
complexTypes CharacterCodingStatusNLDType CharacterMeasureNLDType CharacterStateData_BaseType CharacterStateNLDType ClassHierarchyNodeType ConceptTreeDefType DescriptionBaseType DesignedKeyDefType DesignedKeyNodeType GlossaryEntryRepresentationType ModifierSetType ProjectDefinitionSectionType ResourceConnectorBaseType
annotation
documentation = reuse of Annotation and ApplicationData, i. e. designer and application 'annotations'
source<xs:group name="AnnotationGroup"> <xs:annotation> <xs:documentation xml:lang="en">= reuse of Annotation and ApplicationData, i. e. designer and application 'annotations'</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Annotation" type="StringN" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Internal notes/management comments (not multilingual). Annotations should be displayed only in a 'designer' or 'revision' mode' and are expected to be invisible to users who only want to apply the data. They are appropriate for rough, unedited comments, but should not contain confidential information.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ApplicationData" type="ApplicationDataType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Application-specific data(= extension mechanism)</xs:documentation> </xs:annotation> </xs:element> </xs:sequence></xs:group>

element AnnotationGroup/Annotation
diagram
typeStringN
facets
minLength 1
whiteSpace collapse
annotation
documentation Internal notes/management comments (not multilingual). Annotations should be displayed only in a 'designer' or 'revision' mode' and are expected to be invisible to users who only want to apply the data. They are appropriate for rough, unedited comments, but should not contain confidential information.
source<xs:element name="Annotation" type="StringN" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Internal notes/management comments (not multilingual). Annotations should be displayed only in a 'designer' or 'revision' mode' and are expected to be invisible to users who only want to apply the data. They are appropriate for rough, unedited comments, but should not contain confidential information.</xs:documentation> </xs:annotation></xs:element>

element AnnotationGroup/ApplicationData
diagram
typeApplicationDataType
annotation
documentation Application-specific data(= extension mechanism)
source<xs:element name="ApplicationData" type="ApplicationDataType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Application-specific data(= extension mechanism)</xs:documentation> </xs:annotation></xs:element>

group DelimiterGroup
diagram
used by
element ProjectDefinitionSectionType/__LanguageRules/LanguageRule/Wording/OrDelimiters
complexType NatLangWording3Type
annotation
documentation @@ check later whether still necessary!
source<xs:group name="DelimiterGroup"> <xs:annotation> <xs:documentation xml:lang="en">@@ check later whether still necessary!</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="SingleDelimiterText" type="NatLangWordingType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">This delimiter is used if only 2 elements are present. Examples: en: ' or ', de: ' oder '</xs:documentation> </xs:annotation> </xs:element> <xs:element name="RepeatedDelimiterText" type="NatLangWordingType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">If 3 or more elements are present, this delimiter is used between all elements, except before the last element. Examples: en: ', ', de: ', '</xs:documentation> </xs:annotation> </xs:element> <xs:element name="LastDelimiterText" type="NatLangWordingType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">If 3 or more elements are present, this delimiter is used between the second-but-last and the last element.Examples: en: ', or ', de: ' oder '</xs:documentation> </xs:annotation> </xs:element> </xs:sequence></xs:group>

element DelimiterGroup/SingleDelimiterText
diagram
typeNatLangWordingType
annotation
documentation This delimiter is used if only 2 elements are present. Examples: en: ' or ', de: ' oder '
source<xs:element name="SingleDelimiterText" type="NatLangWordingType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">This delimiter is used if only 2 elements are present. Examples: en: ' or ', de: ' oder '</xs:documentation> </xs:annotation></xs:element>

element DelimiterGroup/RepeatedDelimiterText
diagram
typeNatLangWordingType
annotation
documentation If 3 or more elements are present, this delimiter is used between all elements, except before the last element. Examples: en: ', ', de: ', '
source<xs:element name="RepeatedDelimiterText" type="NatLangWordingType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">If 3 or more elements are present, this delimiter is used between all elements, except before the last element. Examples: en: ', ', de: ', '</xs:documentation> </xs:annotation></xs:element>

element DelimiterGroup/LastDelimiterText
diagram
typeNatLangWordingType
annotation
documentation If 3 or more elements are present, this delimiter is used between the second-but-last and the last element.Examples: en: ', or ', de: ' oder '
source<xs:element name="LastDelimiterText" type="NatLangWordingType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">If 3 or more elements are present, this delimiter is used between the second-but-last and the last element.Examples: en: ', or ', de: ' oder '</xs:documentation> </xs:annotation></xs:element>

group RichAnnotationGroup
diagram
used by
complexTypes CharacterDefType ConceptTreeNodeType ModifierDefBaseType StateDefBaseType StatisticalMeasureDefType
annotation
documentation = AnnotationGroup+ GlossaryEntry reference.
source<xs:group name="RichAnnotationGroup"> <xs:annotation> <xs:documentation xml:lang="en">= AnnotationGroup+ GlossaryEntry reference.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="GlossaryEntry" type="GlossaryEntryRefType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Reference to the definition of term or concept in the glossary; may be provided for multiple audiences and may include media resources like images.[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="GlossaryEntryKeyref" refer="GlossaryEntryKey"> <xs:annotation> <xs:documentation xml:lang="en">(This identity constraint is placed on a global element!)</xs:documentation> </xs:annotation> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> <xs:element name="Annotation" type="StringN" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Internal notes/management comments of the designer (not multilingual).Internal notes should not be displayed to consumers of a data set. Appropriate for rough, unedited comments, but should not contain confidential information.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ApplicationData" type="ApplicationDataType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Application-specific data(= extension mechanism)</xs:documentation> </xs:annotation> </xs:element> </xs:sequence></xs:group>

element RichAnnotationGroup/GlossaryEntry
diagram
typeGlossaryEntryRefType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
documentation Refers to a GlossaryEntry (Terminology/Glossary/GlossaryEntry)
debugref  xs:string  optional      
documentation 
identity constraints
 Name  Refer  Selector  Field(s)  
keyref  GlossaryEntryKeyref  GlossaryEntryKey  .  @ref  
annotation
documentation Reference to the definition of term or concept in the glossary; may be provided for multiple audiences and may include media resources like images.[ATTR: ref]
source<xs:element name="GlossaryEntry" type="GlossaryEntryRefType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Reference to the definition of term or concept in the glossary; may be provided for multiple audiences and may include media resources like images.[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="GlossaryEntryKeyref" refer="GlossaryEntryKey"> <xs:annotation> <xs:documentation xml:lang="en">(This identity constraint is placed on a global element!)</xs:documentation> </xs:annotation> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref></xs:element>

element RichAnnotationGroup/Annotation
diagram
typeStringN
facets
minLength 1
whiteSpace collapse
annotation
documentation Internal notes/management comments of the designer (not multilingual).Internal notes should not be displayed to consumers of a data set. Appropriate for rough, unedited comments, but should not contain confidential information.
source<xs:element name="Annotation" type="StringN" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Internal notes/management comments of the designer (not multilingual).Internal notes should not be displayed to consumers of a data set. Appropriate for rough, unedited comments, but should not contain confidential information.</xs:documentation> </xs:annotation></xs:element>

element RichAnnotationGroup/ApplicationData
diagram
typeApplicationDataType
annotation
documentation Application-specific data(= extension mechanism)
source<xs:element name="ApplicationData" type="ApplicationDataType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Application-specific data(= extension mechanism)</xs:documentation> </xs:annotation></xs:element>

complexType __FormattedBlockTextType
diagram
typeextension of FormattedSimpleTextType
annotation
documentation [Unused!] Extends the FormattedInlineTextType and allows the following block level elements as well: p, ol, ul, li, h1-h6. This should be defined through reference to a full xhtml fragment definition, but it must be without html/header/body elements!
source<xs:complexType name="__FormattedBlockTextType" mixed="true"> <xs:annotation> <xs:documentation xml:lang="en">[Unused!] Extends the FormattedInlineTextType and allows the following block level elements as well: p, ol, ul, li, h1-h6. This should be defined through reference to a full xhtml fragment definition, but it must be without html/header/body elements!</xs:documentation> </xs:annotation> <xs:complexContent mixed="true"> <xs:extension base="FormattedSimpleTextType"> <xs:choice> <xs:element name="p" type="FormattedSimpleTextType"> <xs:annotation> <xs:documentation xml:lang="en">Currently only p element added as a example for the discussion. p would need attributes added to function properly!! If possible reuse xhtml modules!</xs:documentation> </xs:annotation> </xs:element> </xs:choice> </xs:extension> </xs:complexContent></xs:complexType>

element __FormattedBlockTextType/p
diagram
typeFormattedSimpleTextType
annotation
documentation Currently only p element added as a example for the discussion. p would need attributes added to function properly!! If possible reuse xhtml modules!
source<xs:element name="p" type="FormattedSimpleTextType"> <xs:annotation> <xs:documentation xml:lang="en">Currently only p element added as a example for the discussion. p would need attributes added to function properly!! If possible reuse xhtml modules!</xs:documentation> </xs:annotation></xs:element>

complexType __FormattedInlineTextType
diagram
typeextension of FormattedSimpleTextType
annotation
documentation [Unused!] Extends the FormattedSimpleTextType and allows in addition to basic character formatting also the use of <img> and <a> elements. This should probably be implemented through references to types from the real a xhtml schema, if it is possible to refer to an appropriate subset.
source<xs:complexType name="__FormattedInlineTextType" mixed="true"> <xs:annotation> <xs:documentation xml:lang="en">[Unused!] Extends the FormattedSimpleTextType and allows in addition to basic character formatting also the use of <img> and <a> elements. This should probably be implemented through references to types from the real a xhtml schema, if it is possible to refer to an appropriate subset.</xs:documentation> </xs:annotation> <xs:complexContent mixed="true"> <xs:extension base="FormattedSimpleTextType"> <xs:choice maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">@@ Probably this does not work yet, since the type extension itself is not a choice but a sequence!!!</xs:documentation> </xs:annotation> <xs:element name="a"> <xs:annotation> <xs:documentation xml:lang="en">anchor/hyperlink element</xs:documentation> </xs:annotation> <xs:complexType> <xs:complexContent> <xs:extension base="FormattedSimpleTextType"> <xs:attribute name="name" type="xs:NMTOKEN"/> <xs:attribute name="href" type="xs:anyURI"/> <xs:attribute name="hreflang" type="xs:language"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="img"> <xs:annotation> <xs:documentation xml:lang="en">image element</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="src" type="xs:anyURI" use="required"/> <xs:attribute name="alt" type="xs:string" use="required"/> <xs:attribute name="longdesc" type="xs:anyURI"/> <xs:attribute name="height" type="xs:positiveInteger"/> <xs:attribute name="width" type="xs:positiveInteger"/> </xs:complexType> </xs:element> </xs:choice> </xs:extension> </xs:complexContent></xs:complexType>

element __FormattedInlineTextType/a
diagram
typeextension of FormattedSimpleTextType
attributes
Name  Type  Use  Default  Fixed  Annotation
name  xs:NMTOKEN        
href  xs:anyURI        
hreflang  xs:language        
annotation
documentation anchor/hyperlink element
source<xs:element name="a"> <xs:annotation> <xs:documentation xml:lang="en">anchor/hyperlink element</xs:documentation> </xs:annotation> <xs:complexType> <xs:complexContent> <xs:extension base="FormattedSimpleTextType"> <xs:attribute name="name" type="xs:NMTOKEN"/> <xs:attribute name="href" type="xs:anyURI"/> <xs:attribute name="hreflang" type="xs:language"/> </xs:extension> </xs:complexContent> </xs:complexType></xs:element>

element __FormattedInlineTextType/img
diagram
attributes
Name  Type  Use  Default  Fixed  Annotation
src  xs:anyURI  required      
alt  xs:string  required      
longdesc  xs:anyURI        
height  xs:positiveInteger        
width  xs:positiveInteger        
annotation
documentation image element
source<xs:element name="img"> <xs:annotation> <xs:documentation xml:lang="en">image element</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="src" type="xs:anyURI" use="required"/> <xs:attribute name="alt" type="xs:string" use="required"/> <xs:attribute name="longdesc" type="xs:anyURI"/> <xs:attribute name="height" type="xs:positiveInteger"/> <xs:attribute name="width" type="xs:positiveInteger"/> </xs:complexType></xs:element>

complexType __OptionalCreatorsType
diagram
annotation
documentation [Unused!] Creators = authors, editors or contributors. It is generally desirable that at least on author/editor is named. In the case of legacy data, this may, however, not be feasible.Currently we are attempting to require the presence of at least one creator. If this should not be possible, we may have to go back to this type!
source<xs:complexType name="__OptionalCreatorsType"> <xs:annotation> <xs:documentation xml:lang="en">[Unused!] Creators = authors, editors or contributors. It is generally desirable that at least on author/editor is named. In the case of legacy data, this may, however, not be feasible.Currently we are attempting to require the presence of at least one creator. If this should not be possible, we may have to go back to this type!</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Authors" type="AgentRefsType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Authors that have originated the content; in the sequence of importance.</xs:documentation> </xs:annotation> <xs:unique name="Authors_UniqueAgent2"> <xs:selector xpath="Agent"/> <xs:field xpath="@ref"/> </xs:unique> </xs:element> <xs:element name="Editors" type="AgentRefsType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Editors that have revised content generated by multiple authors or contributors; in the sequence of importance. In general Editors should co-occur with Authors or Contributors (which is, however, not enforced).</xs:documentation> </xs:annotation> <xs:unique name="Editors_UniqueAgent2"> <xs:selector xpath="Agent"/> <xs:field xpath="@ref"/> </xs:unique> </xs:element> <xs:element name="Contributors" type="AgentRefsType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">The sequence of Contributor Agents must be preserved during processing, but the semantics of it are defined by the authors or editors of the project: either importance or alphabetical sequence.</xs:documentation> </xs:annotation> <xs:unique name="Contributors_UniqueAgent2"> <xs:selector xpath="Agent"/> <xs:field xpath="@ref"/> </xs:unique> </xs:element> <xs:element name="Translators" type="AgentRefsType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">In addition to authors/editors, several people may have translated audience-specific texts. @@Request for discussion: These are currently not listed in the Representation elements, but could a single one could be easily (however, not several!). Also: should one Representation be marked as Original/SourceForTranslation/Etc.? @@</xs:documentation> </xs:annotation> <xs:unique name="Translators_UniqueAgent2"> <xs:selector xpath="Agent"/> <xs:field xpath="@ref"/> </xs:unique> </xs:element> </xs:sequence></xs:complexType>

element __OptionalCreatorsType/Authors
diagram
typeAgentRefsType
identity constraints
 Name  Refer  Selector  Field(s)  
unique  Authors_UniqueAgent2    Agent  @ref  
annotation
documentation Authors that have originated the content; in the sequence of importance.
source<xs:element name="Authors" type="AgentRefsType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Authors that have originated the content; in the sequence of importance.</xs:documentation> </xs:annotation> <xs:unique name="Authors_UniqueAgent2"> <xs:selector xpath="Agent"/> <xs:field xpath="@ref"/> </xs:unique></xs:element>

element __OptionalCreatorsType/Editors
diagram
typeAgentRefsType
identity constraints
 Name  Refer  Selector  Field(s)  
unique  Editors_UniqueAgent2    Agent  @ref  
annotation
documentation Editors that have revised content generated by multiple authors or contributors; in the sequence of importance. In general Editors should co-occur with Authors or Contributors (which is, however, not enforced).
source<xs:element name="Editors" type="AgentRefsType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Editors that have revised content generated by multiple authors or contributors; in the sequence of importance. In general Editors should co-occur with Authors or Contributors (which is, however, not enforced).</xs:documentation> </xs:annotation> <xs:unique name="Editors_UniqueAgent2"> <xs:selector xpath="Agent"/> <xs:field xpath="@ref"/> </xs:unique></xs:element>

element __OptionalCreatorsType/Contributors
diagram
typeAgentRefsType
identity constraints
 Name  Refer  Selector  Field(s)  
unique  Contributors_UniqueAgent2    Agent  @ref  
annotation
documentation The sequence of Contributor Agents must be preserved during processing, but the semantics of it are defined by the authors or editors of the project: either importance or alphabetical sequence.
source<xs:element name="Contributors" type="AgentRefsType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">The sequence of Contributor Agents must be preserved during processing, but the semantics of it are defined by the authors or editors of the project: either importance or alphabetical sequence.</xs:documentation> </xs:annotation> <xs:unique name="Contributors_UniqueAgent2"> <xs:selector xpath="Agent"/> <xs:field xpath="@ref"/> </xs:unique></xs:element>

element __OptionalCreatorsType/Translators
diagram
typeAgentRefsType
identity constraints
 Name  Refer  Selector  Field(s)  
unique  Translators_UniqueAgent2    Agent  @ref  
annotation
documentation In addition to authors/editors, several people may have translated audience-specific texts. @@Request for discussion: These are currently not listed in the Representation elements, but could a single one could be easily (however, not several!). Also: should one Representation be marked as Original/SourceForTranslation/Etc.? @@
source<xs:element name="Translators" type="AgentRefsType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">In addition to authors/editors, several people may have translated audience-specific texts. @@Request for discussion: These are currently not listed in the Representation elements, but could a single one could be easily (however, not several!). Also: should one Representation be marked as Original/SourceForTranslation/Etc.? @@</xs:documentation> </xs:annotation> <xs:unique name="Translators_UniqueAgent2"> <xs:selector xpath="Agent"/> <xs:field xpath="@ref"/> </xs:unique></xs:element>

complexType AgentConnectorType
diagram
typeextension of ResourceConnectorBaseType
used by
element ResourcesSectionType/Agents/Agent
attributes
Name  Type  Use  Default  Fixed  Annotation
key  KeyValue  required      
debugkey  xs:string  optional      
documentation An optional attribute to add a human-readable equivalent to the numeric primary identity key, intended to simplify debugging SDD applications. The attribute can be discarded or updated at any time. Applications should not produce exports containing this attribute, instead it can be generated using xslt (based on labels/abbreviations.
annotation
documentation Used for Agent documentation (an Agent is a person, project, organisation, or software agent). Currently used for authors, editors, contributors, and translators. Ideally it connects to an outside definition or documentation of the Agent.
source<xs:complexType name="AgentConnectorType"> <xs:annotation> <xs:documentation xml:lang="en">Used for Agent documentation (an Agent is a person, project, organisation, or software agent). Currently used for authors, editors, contributors, and translators. Ideally it connects to an outside definition or documentation of the Agent.</xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="ResourceConnectorBaseType"> <xs:sequence> <xs:element name="LastName" type="String255"> <xs:annotation> <xs:documentation xml:lang="en">This may be a person as well as an organisation name</xs:documentation> </xs:annotation> </xs:element> <xs:element name="FirstNames" type="String255" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Applicable only to persons</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Homepage" type="xs:anyURI" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">This is an information URL pointing to a homepage with further information. If the person has a truly global URN representing its name, it is expected that this is used as the ExternalID above.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="__OtherElements_ToBeDefined" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent></xs:complexType>

element AgentConnectorType/LastName
diagram
typeString255
facets
minLength 1
maxLength 255
whiteSpace collapse
annotation
documentation This may be a person as well as an organisation name
source<xs:element name="LastName" type="String255"> <xs:annotation> <xs:documentation xml:lang="en">This may be a person as well as an organisation name</xs:documentation> </xs:annotation></xs:element>

element AgentConnectorType/FirstNames
diagram
typeString255
facets
minLength 1
maxLength 255
whiteSpace collapse
annotation
documentation Applicable only to persons
source<xs:element name="FirstNames" type="String255" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Applicable only to persons</xs:documentation> </xs:annotation></xs:element>

element AgentConnectorType/Homepage
diagram
typexs:anyURI
annotation
documentation This is an information URL pointing to a homepage with further information. If the person has a truly global URN representing its name, it is expected that this is used as the ExternalID above.
source<xs:element name="Homepage" type="xs:anyURI" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">This is an information URL pointing to a homepage with further information. If the person has a truly global URN representing its name, it is expected that this is used as the ExternalID above.</xs:documentation> </xs:annotation></xs:element>

element AgentConnectorType/__OtherElements_ToBeDefined
diagram
source<xs:element name="__OtherElements_ToBeDefined" minOccurs="0"/>

complexType AgentRefsType
diagram
used by
elements CreatorsType/Authors __OptionalCreatorsType/Authors CreatorsType/Contributors __OptionalCreatorsType/Contributors CreatorsType/Editors CreatorsType/Editors __OptionalCreatorsType/Editors CreatorsType/Translators __OptionalCreatorsType/Translators
annotation
documentation A collection of AgentRefType elements, i. e. Agents forming a team like an author team.
source<xs:complexType name="AgentRefsType"> <xs:annotation> <xs:documentation xml:lang="en">A collection of AgentRefType elements, i. e. Agents forming a team like an author team.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Agent" type="AgentRefType" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">(The xml sequence of elements in this collection is informative!)[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="AgentResourceKeyref" refer="AgentResourceKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:sequence></xs:complexType>

element AgentRefsType/Agent
diagram
typeAgentRefType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
documentation Reference to a Agents (Resources/Agents/Agent)
debugref  xs:string  optional      
documentation 
FirstContributionDate  xs:dateTime  optional      
documentation The first time a creator-agent has made a contribution to the object to which it was added by reference. The first/last contribution records are specific to the role of a creator-agent. If a creator has contributed both as an author and later as an editor of data, two references in two role containers will exist. Consequently, the dates for the two roles are recorded separately.
LastContributionDate  xs:dateTime  optional      
identity constraints
 Name  Refer  Selector  Field(s)  
keyref  AgentResourceKeyref  AgentResourceKey  .  @ref  
annotation
documentation (The xml sequence of elements in this collection is informative!)[ATTR: ref]
source<xs:element name="Agent" type="AgentRefType" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">(The xml sequence of elements in this collection is informative!)[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="AgentResourceKeyref" refer="AgentResourceKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref></xs:element>

complexType AgentRefType
diagram
used by
element AgentRefsType/Agent
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
documentation Reference to a Agents (Resources/Agents/Agent)
debugref  xs:string  optional      
documentation 
FirstContributionDate  xs:dateTime  optional      
documentation The first time a creator-agent has made a contribution to the object to which it was added by reference. The first/last contribution records are specific to the role of a creator-agent. If a creator has contributed both as an author and later as an editor of data, two references in two role containers will exist. Consequently, the dates for the two roles are recorded separately.
LastContributionDate  xs:dateTime  optional      
annotation
documentation Defines an element with a ref attribute pointing to an Agent (Resources/Agents/Agent)
source<xs:complexType name="AgentRefType"> <xs:annotation> <xs:documentation xml:lang="en">Defines an element with a ref attribute pointing to an Agent (Resources/Agents/Agent)</xs:documentation> </xs:annotation> <xs:attribute name="ref" type="KeyValue" use="required"> <xs:annotation> <xs:documentation xml:lang="en">Reference to a Agents (Resources/Agents/Agent)</xs:documentation> </xs:annotation> </xs:attribute> <xs:attributeGroup ref="KeyrefAttrGroup"/> <xs:attribute name="FirstContributionDate" type="xs:dateTime" use="optional"> <xs:annotation> <xs:documentation xml:lang="en">The first time a creator-agent has made a contribution to the object to which it was added by reference. The first/last contribution records are specific to the role of a creator-agent. If a creator has contributed both as an author and later as an editor of data, two references in two role containers will exist. Consequently, the dates for the two roles are recorded separately.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="LastContributionDate" type="xs:dateTime" use="optional"/></xs:complexType>

complexType ApplicationDataType
diagram
used by
elements AnnotationGroup/ApplicationData RichAnnotationGroup/ApplicationData
annotation
documentation Application specific data, providing an extension mechanism to the SDD model.SDD conforming editing applications are expected to preserve the information of other applications when importing and later exporting data to support lossless round tripping.Recommendation: Each application may read out its own information. Any other target information present should be preserved and output when a new document is generated. This is designed to support item potent round tripping data between two applications. This implies that no dependency between the settings and the descriptions and the terminology setting should be relied upon.
source<xs:complexType name="ApplicationDataType"> <xs:annotation> <xs:documentation xml:lang="en">Application specific data, providing an extension mechanism to the SDD model.SDD conforming editing applications are expected to preserve the information of other applications when importing and later exporting data to support lossless round tripping.Recommendation: Each application may read out its own information. Any other target information present should be preserved and output when a new document is generated. This is designed to support item potent round tripping data between two applications. This implies that no dependency between the settings and the descriptions and the terminology setting should be relied upon.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Application" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">The Application element must contain application-defined element content (not further validated by SDD). It is not possible to directly store a text string (content model mixed="false").[ATTR: name, version]</xs:documentation> </xs:annotation> <xs:complexType mixed="false"> <xs:sequence> <xs:any namespace="##any" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="name" type="String255" use="required"> <xs:annotation> <xs:documentation xml:lang="en">Identifier chosen by the target application for which the current information is intended. The only purpose of this attribute is that the application generating data in the application container recognizes the target identifier as its own, while other applications just pass this through.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="version" type="String255" use="optional"> <xs:annotation> <xs:documentation xml:lang="en">Optional information about which version of the application generated these application-specific data.</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence></xs:complexType>

element ApplicationDataType/Application
diagram
attributes
Name  Type  Use  Default  Fixed  Annotation
name  String255  required      
documentation Identifier chosen by the target application for which the current information is intended. The only purpose of this attribute is that the application generating data in the application container recognizes the target identifier as its own, while other applications just pass this through.
version  String255  optional      
documentation Optional information about which version of the application generated these application-specific data.
annotation
documentation The Application element must contain application-defined element content (not further validated by SDD). It is not possible to directly store a text string (content model mixed="false").[ATTR: name, version]
source<xs:element name="Application" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">The Application element must contain application-defined element content (not further validated by SDD). It is not possible to directly store a text string (content model mixed="false").[ATTR: name, version]</xs:documentation> </xs:annotation> <xs:complexType mixed="false"> <xs:sequence> <xs:any namespace="##any" processContents="lax" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="name" type="String255" use="required"> <xs:annotation> <xs:documentation xml:lang="en">Identifier chosen by the target application for which the current information is intended. The only purpose of this attribute is that the application generating data in the application container recognizes the target identifier as its own, while other applications just pass this through.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="version" type="String255" use="optional"> <xs:annotation> <xs:documentation xml:lang="en">Optional information about which version of the application generated these application-specific data.</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType></xs:element>

complexType AudienceRefType
diagram
used by
complexTypes GlossaryEntryRepresentationType ProjectDefRepresentationType ReportedNoteRepresentationType SimpleLabelRepresentationType
attributes
Name  Type  Use  Default  Fixed  Annotation
audience  xs:Name  required      
annotation
documentation Base type; defines an element with a ref attribute pointing to Audience definitions (different data type from generic ref!)
source<xs:complexType name="AudienceRefType"> <xs:annotation> <xs:documentation xml:lang="en">Base type; defines an element with a ref attribute pointing to Audience definitions (different data type from generic ref!)</xs:documentation> </xs:annotation> <xs:attribute name="audience" type="xs:Name" use="required"/></xs:complexType>

complexType AudiencesType
diagram
used by
element ProjectDefinitionSectionType/Audiences
attributes
Name  Type  Use  Default  Fixed  Annotation
defaultaudience  xs:Name  required      
documentation The default audience is used whenever the setup of the consuming application has no other preference specified. The user interface of the application may then allow to choose a different audience/language available.
annotation
documentation An Audience is a combination of language (including dialect) and expertise (pupil, beginner, expert). Multiple audiences can be defined for the same language and expertise, distinguished only by their label.[ATTR: defaultaudience]
source<xs:complexType name="AudiencesType"> <xs:annotation> <xs:documentation xml:lang="en">An Audience is a combination of language (including dialect) and expertise (pupil, beginner, expert). Multiple audiences can be defined for the same language and expertise, distinguished only by their label.[ATTR: defaultaudience]</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Audience" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">The audiencekey attribute of this element is an arbitrary string. It is referenced in all audience specific elements (labels, definitions) to specify the intended audience.Recommendation: audience keys should consist of the language code used in xml:lang plus the expertise level from 1-5 (plus a letter (a, b, ...) if a second audience for the same language and expertise level is defined).[ATTR: audiencekey, lang, dir, ExpertiseLevel]</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="LabelText" type="String255"> <xs:annotation> <xs:documentation xml:lang="en">A concise label for the audience; expressed in the language and ability of the audience.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Description" type="StringN" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Further text beyond a short label; perhaps clarifying the definition of the audience. Expressed in the language of the audience.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="audiencekey" type="xs:Name" use="required"> <xs:annotation> <xs:documentation xml:lang="en">The key value that is referenced whenever an audience="xxx" attribute is used in audience-specific elements.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="lang" type="xs:language" use="required"/> <xs:attribute name="ExpertiseLevel" type="ExpertiseLevelEnum" use="required"> <xs:annotation> <xs:documentation xml:lang="en">ExpertiseLevel is restricted to values from 1-5. These categories allow to communicate expected expertise between different applications using the SDD schema. The recommended interpretation is:1 = elementary school (year 1 to 6);2 = middle school (year 7 to 10);3 = high school (year 11 above) and general public (trying to avoid any specialized terminology or jargon);4 = university students or (partly) trained personnel (using terminology, but avoiding or explaining problematic terminology);5 = experts (using the full range of terminology).</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="defaultaudience" type="xs:Name" use="required"> <xs:annotation> <xs:documentation xml:lang="en">The default audience is used whenever the setup of the consuming application has no other preference specified. The user interface of the application may then allow to choose a different audience/language available.</xs:documentation> </xs:annotation> </xs:attribute></xs:complexType>

element AudiencesType/Audience
diagram
attributes
Name  Type  Use  Default  Fixed  Annotation
audiencekey  xs:Name  required      
documentation The key value that is referenced whenever an audience="xxx" attribute is used in audience-specific elements.
lang  xs:language  required      
ExpertiseLevel  ExpertiseLevelEnum  required      
documentation ExpertiseLevel is restricted to values from 1-5. These categories allow to communicate expected expertise between different applications using the SDD schema. The recommended interpretation is:1 = elementary school (year 1 to 6);2 = middle school (year 7 to 10);3 = high school (year 11 above) and general public (trying to avoid any specialized terminology or jargon);4 = university students or (partly) trained personnel (using terminology, but avoiding or explaining problematic terminology);5 = experts (using the full range of terminology).
annotation
documentation The audiencekey attribute of this element is an arbitrary string. It is referenced in all audience specific elements (labels, definitions) to specify the intended audience.Recommendation: audience keys should consist of the language code used in xml:lang plus the expertise level from 1-5 (plus a letter (a, b, ...) if a second audience for the same language and expertise level is defined).[ATTR: audiencekey, lang, dir, ExpertiseLevel]
source<xs:element name="Audience" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">The audiencekey attribute of this element is an arbitrary string. It is referenced in all audience specific elements (labels, definitions) to specify the intended audience.Recommendation: audience keys should consist of the language code used in xml:lang plus the expertise level from 1-5 (plus a letter (a, b, ...) if a second audience for the same language and expertise level is defined).[ATTR: audiencekey, lang, dir, ExpertiseLevel]</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="LabelText" type="String255"> <xs:annotation> <xs:documentation xml:lang="en">A concise label for the audience; expressed in the language and ability of the audience.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Description" type="StringN" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Further text beyond a short label; perhaps clarifying the definition of the audience. Expressed in the language of the audience.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="audiencekey" type="xs:Name" use="required"> <xs:annotation> <xs:documentation xml:lang="en">The key value that is referenced whenever an audience="xxx" attribute is used in audience-specific elements.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="lang" type="xs:language" use="required"/> <xs:attribute name="ExpertiseLevel" type="ExpertiseLevelEnum" use="required"> <xs:annotation> <xs:documentation xml:lang="en">ExpertiseLevel is restricted to values from 1-5. These categories allow to communicate expected expertise between different applications using the SDD schema. The recommended interpretation is:1 = elementary school (year 1 to 6);2 = middle school (year 7 to 10);3 = high school (year 11 above) and general public (trying to avoid any specialized terminology or jargon);4 = university students or (partly) trained personnel (using terminology, but avoiding or explaining problematic terminology);5 = experts (using the full range of terminology).</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType></xs:element>

element AudiencesType/Audience/LabelText
diagram
typeString255
facets
minLength 1
maxLength 255
whiteSpace collapse
annotation
documentation A concise label for the audience; expressed in the language and ability of the audience.
source<xs:element name="LabelText" type="String255"> <xs:annotation> <xs:documentation xml:lang="en">A concise label for the audience; expressed in the language and ability of the audience.</xs:documentation> </xs:annotation></xs:element>

element AudiencesType/Audience/Description
diagram
typeStringN
facets
minLength 1
whiteSpace collapse
annotation
documentation Further text beyond a short label; perhaps clarifying the definition of the audience. Expressed in the language of the audience.
source<xs:element name="Description" type="StringN" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Further text beyond a short label; perhaps clarifying the definition of the audience. Expressed in the language of the audience.</xs:documentation> </xs:annotation></xs:element>

complexType CharacterCodingStatusDataType
diagram
typeextension of CharacterStateData_BaseType
used by
element CharacterDataType/CodingStatus
complexType CharacterCodingStatusNLDType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
documentation ref refers to a character state key
debugref  xs:string  optional      
documentation 
annotation
documentation Similar to CharacterStateDataType, this one is intended for CodingStatus references. The ref attribute points to the key of Terminology/CodingStatusValues/CodingStatus@@Is it ok to inherit the ref attribute from the state base type, even though it points elsewhere?
source<xs:complexType name="CharacterCodingStatusDataType"> <xs:annotation> <xs:documentation xml:lang="en">Similar to CharacterStateDataType, this one is intended for CodingStatus references. The ref attribute points to the key of Terminology/CodingStatusValues/CodingStatus@@Is it ok to inherit the ref attribute from the state base type, even though it points elsewhere?</xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="CharacterStateData_BaseType"/> </xs:complexContent></xs:complexType>

complexType CharacterCodingStatusNLDType
diagram
typerestriction of CharacterCodingStatusDataType
used by
element CharacterNLDType/CodingStatus
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
documentation ref refers to a character state key
debugref  xs:string  optional      
documentation 
annotation
documentation Variant to be used inside the NaturalLanguageDescription markup container.
source<xs:complexType name="CharacterCodingStatusNLDType"> <xs:annotation> <xs:documentation xml:lang="en">Variant to be used inside the NaturalLanguageDescription markup container.</xs:documentation> </xs:annotation> <xs:complexContent> <xs:restriction base="CharacterCodingStatusDataType"> <xs:choice> <xs:element name="Text" type="MarkupTextType"/> <xs:element name="Note" type="ReportedNoteType"/> <xs:group ref="AnnotationGroup"/> </xs:choice> </xs:restriction> </xs:complexContent></xs:complexType>

element CharacterCodingStatusNLDType/Text
diagram
typeMarkupTextType
attributes
Name  Type  Use  Default  Fixed  Annotation
parsed  xs:boolean  optional      
source<xs:element name="Text" type="MarkupTextType"/>

element CharacterCodingStatusNLDType/Note
diagram
typeReportedNoteType
source<xs:element name="Note" type="ReportedNoteType"/>

complexType CharacterData_BaseType
diagram
typeextension of CharacterRefType
used by
complexTypes CharacterDataType CharacterRawDataType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
documentation ref refers to a character definition key (Terminology/Characters/Character)
debugref  xs:string  optional      
documentation 
annotation
documentation Abstract base type for character data in coded descriptions. It primarily contains a reference to a Character definition key, plus a set of references to character state definition keys.@@This base type may be redundant. Is Sequence really relevant both in coded synthetical data as well as in raw data?@@
source<xs:complexType name="CharacterData_BaseType" abstract="true"> <xs:annotation> <xs:documentation xml:lang="en">Abstract base type for character data in coded descriptions. It primarily contains a reference to a Character definition key, plus a set of references to character state definition keys.@@This base type may be redundant. Is Sequence really relevant both in coded synthetical data as well as in raw data?@@</xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="CharacterRefType"> <xs:sequence> <xs:element name="Sequence" default="terminology" minOccurs="0"> <xs:annotation> <xs:documentation source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_P_DescrScoringSequence.html" xml:lang="en">Constrained to 'description' or 'terminology' (default). If Sequence = description the sequence of states in the xml document is considered to be meaningful and can be used to distinguish between, e. g. 'round or elliptic' and 'elliptic or round'.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:Name"> <xs:enumeration value="description"/> <xs:enumeration value="terminology"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:extension> </xs:complexContent></xs:complexType>

element CharacterData_BaseType/Sequence
diagram
typerestriction of xs:Name
facets
enumeration description
enumeration terminology
annotation
documentation Constrained to 'description' or 'terminology' (default). If Sequence = description the sequence of states in the xml document is considered to be meaningful and can be used to distinguish between, e. g. 'round or elliptic' and 'elliptic or round'.
source<xs:element name="Sequence" default="terminology" minOccurs="0"> <xs:annotation> <xs:documentation source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_P_DescrScoringSequence.html" xml:lang="en">Constrained to 'description' or 'terminology' (default). If Sequence = description the sequence of states in the xml document is considered to be meaningful and can be used to distinguish between, e. g. 'round or elliptic' and 'elliptic or round'.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:Name"> <xs:enumeration value="description"/> <xs:enumeration value="terminology"/> </xs:restriction> </xs:simpleType></xs:element>

complexType CharacterDataType
diagram
typeextension of CharacterData_BaseType
used by
element CodedDescriptionType/CharacterData/Character
complexType CharacterNLDType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
documentation ref refers to a character definition key (Terminology/Characters/Character)
debugref  xs:string  optional      
documentation 
annotation
documentation Used in coded descriptions to make statements covering a single character of a class or object. The type provides a ref to the definition of a character (it is derived from CharacterRefType)
source<xs:complexType name="CharacterDataType"> <xs:annotation> <xs:documentation xml:lang="en">Used in coded descriptions to make statements covering a single character of a class or object. The type provides a ref to the definition of a character (it is derived from CharacterRefType)</xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="CharacterData_BaseType"> <xs:sequence> <xs:choice maxOccurs="unbounded"> <xs:element name="State" type="CharacterStateDataType"> <xs:annotation> <xs:documentation xml:lang="en">States are 'scored' in a description by referring to a state in the character definition. All notes and modifiers are applicable to this element.[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStateKeyref_Coded" refer="CharacterStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> <xs:element name="StatisticalMeasure" type="CharacterMeasureDataType"> <xs:annotation> <xs:documentation xml:lang="en">Statistical measures contain synthetic information like distribution parameters, sample size, etc. Refers to a StatisticalMeasure defined for the current character. It may have associated Notes (public notes) and Probability modifiers, but no general or frequency modifiers.The value is stored in an attribute of type double. [ATTR: ref, Value]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStatMeasureKeyref_Coded" refer="CharacterStatMeasureKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> <xs:element name="CodingStatus" type="CharacterCodingStatusDataType"> <xs:annotation> <xs:documentation xml:lang="en">Inapplicable, unknown, etc. It may have associated Notes, but no modifiers.[ATTR: ref]Note: In an object (= specimen) description only a single indicator may occur per character. However, for a class (e. g. a genus) it is up to the aggregation/generalization process whether to create multiple coding status values or not. For example, an expression "unknown or not applicable" may be useful for analytical purposes.</xs:documentation> </xs:annotation> <xs:keyref name="CodingStatusKeyref_Coded" refer="CodingStatusKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:choice> <xs:element name="MediaResources" type="MediaResourceRefsType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Media specific to the character and the current object or class described.Example: microscopic pictureof spore shape in a specimen.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:extension> </xs:complexContent></xs:complexType>

element CharacterDataType/State
diagram
typeCharacterStateDataType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
documentation ref refers to a character state key
debugref  xs:string  optional      
documentation 
identity constraints
 Name  Refer  Selector  Field(s)  
keyref  CharacterStateKeyref_Coded  CharacterStateKey  .  @ref  
annotation
documentation States are 'scored' in a description by referring to a state in the character definition. All notes and modifiers are applicable to this element.[ATTR: ref]
source<xs:element name="State" type="CharacterStateDataType"> <xs:annotation> <xs:documentation xml:lang="en">States are 'scored' in a description by referring to a state in the character definition. All notes and modifiers are applicable to this element.[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStateKeyref_Coded" refer="CharacterStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref></xs:element>

element CharacterDataType/StatisticalMeasure
diagram
typeCharacterMeasureDataType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
documentation ref refers to a character state key
debugref  xs:string  optional      
documentation 
Value  xs:double  required      
identity constraints
 Name  Refer  Selector  Field(s)  
keyref  CharacterStatMeasureKeyref_Coded  CharacterStatMeasureKey  .  @ref  
annotation
documentation Statistical measures contain synthetic information like distribution parameters, sample size, etc. Refers to a StatisticalMeasure defined for the current character. It may have associated Notes (public notes) and Probability modifiers, but no general or frequency modifiers.The value is stored in an attribute of type double. [ATTR: ref, Value]
source<xs:element name="StatisticalMeasure" type="CharacterMeasureDataType"> <xs:annotation> <xs:documentation xml:lang="en">Statistical measures contain synthetic information like distribution parameters, sample size, etc. Refers to a StatisticalMeasure defined for the current character. It may have associated Notes (public notes) and Probability modifiers, but no general or frequency modifiers.The value is stored in an attribute of type double. [ATTR: ref, Value]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStatMeasureKeyref_Coded" refer="CharacterStatMeasureKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref></xs:element>

element CharacterDataType/CodingStatus
diagram
typeCharacterCodingStatusDataType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
documentation ref refers to a character state key
debugref  xs:string  optional      
documentation 
identity constraints
 Name  Refer  Selector  Field(s)  
keyref  CodingStatusKeyref_Coded  CodingStatusKey  .  @ref  
annotation
documentation Inapplicable, unknown, etc. It may have associated Notes, but no modifiers.[ATTR: ref]Note: In an object (= specimen) description only a single indicator may occur per character. However, for a class (e. g. a genus) it is up to the aggregation/generalization process whether to create multiple coding status values or not. For example, an expression "unknown or not applicable" may be useful for analytical purposes.
source<xs:element name="CodingStatus" type="CharacterCodingStatusDataType"> <xs:annotation> <xs:documentation xml:lang="en">Inapplicable, unknown, etc. It may have associated Notes, but no modifiers.[ATTR: ref]Note: In an object (= specimen) description only a single indicator may occur per character. However, for a class (e. g. a genus) it is up to the aggregation/generalization process whether to create multiple coding status values or not. For example, an expression "unknown or not applicable" may be useful for analytical purposes.</xs:documentation> </xs:annotation> <xs:keyref name="CodingStatusKeyref_Coded" refer="CodingStatusKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref></xs:element>

element CharacterDataType/MediaResources
diagram
typeMediaResourceRefsType
annotation
documentation Media specific to the character and the current object or class described.Example: microscopic pictureof spore shape in a specimen.
source<xs:element name="MediaResources" type="MediaResourceRefsType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Media specific to the character and the current object or class described.Example: microscopic pictureof spore shape in a specimen.</xs:documentation> </xs:annotation></xs:element>

complexType CharacterDefType
diagram
used by
elements TerminologySectionType/__TemplateCharacters/Character TerminologySectionType/Characters/Character
attributes
Name  Type  Use  Default  Fixed  Annotation
key  KeyValue  required      
debugkey  xs:string  optional      
documentation An optional attribute to add a human-readable equivalent to the numeric primary identity key, intended to simplify debugging SDD applications. The attribute can be discarded or updated at any time. Applications should not produce exports containing this attribute, instead it can be generated using xslt (based on labels/abbreviations.
annotation
documentation Defines a character in the terminology
source<xs:complexType name="CharacterDefType"> <xs:annotation> <xs:documentation xml:lang="en">Defines a character in the terminology</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Label" type="LabelPlusAbbreviationType"> <xs:annotation> <xs:documentation xml:lang="en">Label includes abbreviations (e. g. for tabular reports) but no natural language wording.(Natural language wording for characters is available through concept trees!).</xs:documentation> </xs:annotation> <xs:unique name="Char_UniqueLabelRepresentation"> <xs:annotation> <xs:documentation xml:lang="en">The audience values must uniquely identify the Representations within each Label (no duplicate audience allowed). Note that separate uniqueness constraints exist that label representations must be unique for each parent element (e. g. a character) so that the parent element can be uniquely identified in the user interface.</xs:documentation> </xs:annotation> <xs:selector xpath="Representation"/> <xs:field xpath="@audience"/> </xs:unique> </xs:element> <xs:element name="RevisionData" type="RevisionDataType" minOccurs="0"/> <xs:group ref="RichAnnotationGroup"/> <xs:element name="Type" type="CharacterTypeEnum"> <xs:annotation> <xs:documentation xml:lang="en">- cardinal data scale = integer (incl. negative values, although these are extremely rare in descriptive biological data; DELTA: type 'IN')- interval = real numeric = floating point values (DELTA: type 'RN')- nominal = unordered categorical states (DELTA: type 'UM')- ordinal-discrete = ordered categorical states (DELTA: type 'OM')@@ Should we make a distinction between ordinal-discrete and ordinal-interval [= ordered categorical states (DELTA: type 'OM'). Like ordinal-discrete but states can intergrade. Example: no / few / many hairs, ovate / ellipsoid. However, also intergrade without order: - Color @@ introduce a separate datatype for color? Exact value are not very practical, but polygons in color space would be very usefull!</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Numerical" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Only applicable if character type is cardinal or interval (not controlled by schema!)</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="StatisticalMeasures"> <xs:annotation> <xs:documentation xml:lang="en">Constrains which project-wide StatisticalMeasure definitions can appear in descriptions of this character.Note: Some statistical measure definitions (min, median, mode, etc.) could apply also to ordinal or even nominal types. This is, however, not yet supported in SDD.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="StatisticalMeasure" type="CharacterStatMeasureDefType" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">The key attribute must be unique and is referred to in the descriptions. The ref refers to the semantics defined in the project-wide statistical measure definitions.[ATTR: key, ref]</xs:documentation> </xs:annotation> <xs:keyref name="StatisticalMeasureKeyref" refer="StatisticalMeasureKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:sequence> </xs:complexType> <xs:unique name="Char_UniqueStatMeasureRefs"> <xs:annotation> <xs:documentation xml:lang="en">References to project-wide defined generic StatisticalMeasures must be unique within each character. For example, it should not be possible to define a mean twice in a single character. (Different characters may contain the same statistical measure reference).</xs:documentation> </xs:annotation> <xs:selector xpath="StatisticalMeasure"/> <xs:field xpath="@ref"/> </xs:unique> </xs:element> <xs:element name="Mappings" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Mappings of numerical ranges to categories (like DELTA Key States)</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Mapping" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">Each mapping defines a lower and an upper value to map numerical ranges to categorical states in the same character. A CompareWith attribute defines which kind of statistical measure (mean, confidence interval, or min/max) is used for the comparison.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="From"> <xs:annotation> <xs:documentation xml:lang="en">Defines a range through 2 attributes LowerValue and UpperValue (inclusive range)[ATTR: LowerValue, UpperValue, CompareWith]</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="LowerValue" type="xs:double" use="required"/> <xs:attribute name="UpperValue" type="xs:double" use="required"/> <xs:attribute name="CompareWith" type="StatisticalMeasureCompareWithEnum" use="optional" default="central"> <xs:annotation> <xs:documentation xml:lang="en">The type of statistical measure with which the mapping range defined through Lower/UpperValue is compared. This may be a central value (mean, median), the range (quantile, confidence interval, etc.) or the extremes (minimum/maximum). Currently only these three categories are defined.</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="To" type="CharacterStateRefType"> <xs:annotation> <xs:documentation xml:lang="en">[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStateKeyref_NumMapping" refer="CharacterStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> <xs:keyref name="CharacterStateKeyref_NumMapping2" refer="WithinCharacterStateKey"> <xs:annotation> <xs:documentation xml:lang="en">Secondary ref to validate that the state is present in the current character.</xs:documentation> </xs:annotation> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="MeasurementUnit" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Unit like mm, µm, °C. The content allows some xhtml formatting to support e. g. "mm<sup>2</sup>".A Postfix attribute may be set to false to output string before a value (e. g. 'pH 7.0').</xs:documentation> </xs:annotation> <xs:complexType> <xs:complexContent> <xs:extension base="FormattedSimpleTextType"> <xs:attribute name="Postfix" type="xs:boolean" use="optional" default="true"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="__MeasurementMethod" type="GlossaryEntryRefType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">@@ Methods should ideally be defined in Glossary entries. Or should this become free-form text?[ATTR: ref]</xs:documentation> </xs:annotation> </xs:element> <xs:element name="__MeasurementAccuracy" type="String255" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Free-form information about accuracy of measurement. @@ free-form is language and audience dependent and can not be included in analysis. Currently this is rather a specific InternalNote. Any way to improve this? Ideally a numeric value for a confidence interval of measurements would be desirable!</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Categorical" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Applicable to all character types; categorical states can be defined in addition to statistical measures!</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="States"> <xs:annotation> <xs:documentation xml:lang="en">(States are defined outside the type specific tree, since categorical states may be present in addition to numerical data)</xs:documentation> </xs:annotation> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">(the sequence of states in the xml file is significant)</xs:documentation> </xs:annotation> <xs:element name="StateDefinition" type="CharacterStateDefType"> <xs:annotation> <xs:documentation xml:lang="en">Local definition of a state[ATTR: key]</xs:documentation> </xs:annotation> </xs:element> <xs:element name="StateReference"> <xs:annotation> <xs:documentation xml:lang="en">Reference to a single generic state (as defined project-wide at a concept tree node).[ATTR: key, ref]</xs:documentation> </xs:annotation> <xs:complexType> <xs:annotation> <xs:documentation xml:lang="en">Refers to a project-wide definition of a generic categorical state and adds a new key to allow unique references to the generic state in the context of the current character. The key created here is the one referred to in the Descriptions.</xs:documentation> </xs:annotation> <xs:attribute name="ref" type="KeyValue" use="required"> <xs:annotation> <xs:documentation xml:lang="en">Refers to a generic character state (those defined within the concept tree, which may be used in multiple characters)</xs:documentation> </xs:annotation> </xs:attribute> <xs:attributeGroup ref="KeyrefAttrGroup"/> <xs:attributeGroup ref="KeyAttrGroup"/> </xs:complexType> <xs:keyref name="GenericStateKeyref" refer="GenericStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:choice> </xs:complexType> <xs:unique name="Char_UniqueGenericStateRefs"> <xs:annotation> <xs:documentation xml:lang="en">References to project-wide defined GenericStates (defined at the nodes of concept trees) must be unique within each character. This is achieved by a uniqueness constraint (local to each character) on the ref attribute of StateReference. The key attribute is already unique through the general CharacterStateKey.</xs:documentation> </xs:annotation> <xs:selector xpath="StateReference"/> <xs:field xpath="@ref"/> </xs:unique> <xs:unique name="CharState_UniqueLabelText"> <xs:annotation> <xs:documentation xml:lang="en">The labels of character state definitions are required to be unique within each character and audience definition. Note that this includes both the locally defined states and the referenced generic states.</xs:documentation> </xs:annotation> <xs:selector xpath="StateDefinition/Label/Representation"/> <xs:field xpath="Text"/> <xs:field xpath="@audience"/> </xs:unique> </xs:element> <xs:element name="AutoAddStates" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">A collection of references to sets of generic states (i. e. to tree nodes). If a generic state is added to any of these sets, it will be added to the states in the current character (as a StateReference). This occurs not through xml or schema mechanisms, but is a contract with SDD applications. Only applications modifying generic state sets are required to fulfill this contract.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="GenericStateSet" type="CharacterNodeRefType" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">(this refers to a node (= group) in a concept tree, since generic states are defined at nodes)[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="GenericStateKeyref_AutoAdd" refer="ConceptTreeNodeKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:sequence> </xs:complexType> <xs:unique name="Char_UniqueAutoAddRefs"> <xs:annotation> <xs:documentation xml:lang="en">References to project-wide defined GenericStates set (i. e. nodes within concept trees) must be unique within each character.</xs:documentation> </xs:annotation> <xs:selector xpath="StateSet"/> <xs:field xpath="@ref"/> </xs:unique> </xs:element> <xs:element name="Mappings" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Mappings between categorical states (e. g. subovate may be mapped to ovate to simplify identification choices).</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Mapping" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">Each mapping defines a source and a destination state. Both From and To may point multiple times to the same state, but the combination From + To must be unique. Both state must be defined in the current character (validated through identity constraint!)</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="From" type="CharacterStateRefType"> <xs:annotation> <xs:documentation xml:lang="en">[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStateKeyref_CatMapping1" refer="CharacterStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> <xs:keyref name="CharacterStateKeyref_CatMapping2" refer="WithinCharacterStateKey"> <xs:annotation> <xs:documentation xml:lang="en">Secondary ref to validate that the state is present in the current character.</xs:documentation> </xs:annotation> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> <xs:element name="To" type="CharacterStateRefType"> <xs:annotation> <xs:documentation xml:lang="en">[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStateKeyref_CatMapping3" refer="CharacterStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> <xs:keyref name="CharacterStateKeyref_CatMapping4" refer="WithinCharacterStateKey"> <xs:annotation> <xs:documentation xml:lang="en">Secondary ref to validate that the state is present in the current character.</xs:documentation> </xs:annotation> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:unique name="Char_UniqueCategoricalMapping"> <xs:annotation> <xs:documentation xml:lang="en">A state may be mapped to multiple other states in the same character, or multiple states may be mapped to a single state, but the combination of From and To may only occur a single time.</xs:documentation> </xs:annotation> <xs:selector xpath="Mapping"/> <xs:field xpath="From/@ref"/> <xs:field xpath="To/@ref"/> </xs:unique> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ModifierSets" minOccurs="0"> <xs:annotation> <xs:documentation source="http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_P_Modifier_Overview.html" xml:lang="en">The project-wide modifier definitions become applicable to the current character only if a modifier set containing them is referenced here. Modifier usage in descriptions is not controlled by the schema, i. e. modifiers not present in any set may be present in descriptions for this character. Additional validations are, however, possible.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="ModifierSet" type="ModifierSetRefType" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">Multiple modifier sets can be referenced in each character. The applicable modifiers are the union of all modifiers in the referenced sets (duplicates are ignored)[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="ModifierSetKeyref" refer="ModifierSetKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:sequence> </xs:complexType> <xs:unique name="Char_UniqueModifierSetRefs"> <xs:annotation> <xs:documentation xml:lang="en">References to project-wide defined Modifier sets (Terminology/Modifiers/Sets)</xs:documentation> </xs:annotation> <xs:selector xpath="ModifierSet"/> <xs:field xpath="@ref"/> </xs:unique> </xs:element> </xs:sequence> <xs:attributeGroup ref="KeyAttrGroup"/></xs:complexType>

element CharacterDefType/Label
diagram
typeLabelPlusAbbreviationType
identity constraints
 Name  Refer  Selector  Field(s)  
unique  Char_UniqueLabelRepresentation    Representation  @audience  
annotation
documentation Label includes abbreviations (e. g. for tabular reports) but no natural language wording.(Natural language wording for characters is available through concept trees!).
source<xs:element name="Label" type="LabelPlusAbbreviationType"> <xs:annotation> <xs:documentation xml:lang="en">Label includes abbreviations (e. g. for tabular reports) but no natural language wording.(Natural language wording for characters is available through concept trees!).</xs:documentation> </xs:annotation> <xs:unique name="Char_UniqueLabelRepresentation"> <xs:annotation> <xs:documentation xml:lang="en">The audience values must uniquely identify the Representations within each Label (no duplicate audience allowed). Note that separate uniqueness constraints exist that label representations must be unique for each parent element (e. g. a character) so that the parent element can be uniquely identified in the user interface.</xs:documentation> </xs:annotation> <xs:selector xpath="Representation"/> <xs:field xpath="@audience"/> </xs:unique></xs:element>

element CharacterDefType/RevisionData
diagram
typeRevisionDataType
source<xs:element name="RevisionData" type="RevisionDataType" minOccurs="0"/>

element CharacterDefType/Type
diagram
typeCharacterTypeEnum
facets
enumeration nominal
enumeration ordinal
enumeration __ordinal-discrete
enumeration __ordinal-interval
enumeration cardinal
enumeration interval
enumeration color
annotation
documentation - cardinal data scale = integer (incl. negative values, although these are extremely rare in descriptive biological data; DELTA: type 'IN')- interval = real numeric = floating point values (DELTA: type 'RN')- nominal = unordered categorical states (DELTA: type 'UM')- ordinal-discrete = ordered categorical states (DELTA: type 'OM')@@ Should we make a distinction between ordinal-discrete and ordinal-interval [= ordered categorical states (DELTA: type 'OM'). Like ordinal-discrete but states can intergrade. Example: no / few / many hairs, ovate / ellipsoid. However, also intergrade without order: - Color @@ introduce a separate datatype for color? Exact value are not very practical, but polygons in color space would be very usefull!
source<xs:element name="Type" type="CharacterTypeEnum"> <xs:annotation> <xs:documentation xml:lang="en">- cardinal data scale = integer (incl. negative values, although these are extremely rare in descriptive biological data; DELTA: type 'IN')- interval = real numeric = floating point values (DELTA: type 'RN')- nominal = unordered categorical states (DELTA: type 'UM')- ordinal-discrete = ordered categorical states (DELTA: type 'OM')@@ Should we make a distinction between ordinal-discrete and ordinal-interval [= ordered categorical states (DELTA: type 'OM'). Like ordinal-discrete but states can intergrade. Example: no / few / many hairs, ovate / ellipsoid. However, also intergrade without order: - Color @@ introduce a separate datatype for color? Exact value are not very practical, but polygons in color space would be very usefull!</xs:documentation> </xs:annotation></xs:element>

element CharacterDefType/Numerical
diagram
annotation
documentation Only applicable if character type is cardinal or interval (not controlled by schema!)
source<xs:element name="Numerical" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Only applicable if character type is cardinal or interval (not controlled by schema!)</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="StatisticalMeasures"> <xs:annotation> <xs:documentation xml:lang="en">Constrains which project-wide StatisticalMeasure definitions can appear in descriptions of this character.Note: Some statistical measure definitions (min, median, mode, etc.) could apply also to ordinal or even nominal types. This is, however, not yet supported in SDD.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="StatisticalMeasure" type="CharacterStatMeasureDefType" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">The key attribute must be unique and is referred to in the descriptions. The ref refers to the semantics defined in the project-wide statistical measure definitions.[ATTR: key, ref]</xs:documentation> </xs:annotation> <xs:keyref name="StatisticalMeasureKeyref" refer="StatisticalMeasureKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:sequence> </xs:complexType> <xs:unique name="Char_UniqueStatMeasureRefs"> <xs:annotation> <xs:documentation xml:lang="en">References to project-wide defined generic StatisticalMeasures must be unique within each character. For example, it should not be possible to define a mean twice in a single character. (Different characters may contain the same statistical measure reference).</xs:documentation> </xs:annotation> <xs:selector xpath="StatisticalMeasure"/> <xs:field xpath="@ref"/> </xs:unique> </xs:element> <xs:element name="Mappings" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Mappings of numerical ranges to categories (like DELTA Key States)</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Mapping" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">Each mapping defines a lower and an upper value to map numerical ranges to categorical states in the same character. A CompareWith attribute defines which kind of statistical measure (mean, confidence interval, or min/max) is used for the comparison.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="From"> <xs:annotation> <xs:documentation xml:lang="en">Defines a range through 2 attributes LowerValue and UpperValue (inclusive range)[ATTR: LowerValue, UpperValue, CompareWith]</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="LowerValue" type="xs:double" use="required"/> <xs:attribute name="UpperValue" type="xs:double" use="required"/> <xs:attribute name="CompareWith" type="StatisticalMeasureCompareWithEnum" use="optional" default="central"> <xs:annotation> <xs:documentation xml:lang="en">The type of statistical measure with which the mapping range defined through Lower/UpperValue is compared. This may be a central value (mean, median), the range (quantile, confidence interval, etc.) or the extremes (minimum/maximum). Currently only these three categories are defined.</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="To" type="CharacterStateRefType"> <xs:annotation> <xs:documentation xml:lang="en">[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStateKeyref_NumMapping" refer="CharacterStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> <xs:keyref name="CharacterStateKeyref_NumMapping2" refer="WithinCharacterStateKey"> <xs:annotation> <xs:documentation xml:lang="en">Secondary ref to validate that the state is present in the current character.</xs:documentation> </xs:annotation> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="MeasurementUnit" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Unit like mm, µm, °C. The content allows some xhtml formatting to support e. g. "mm<sup>2</sup>".A Postfix attribute may be set to false to output string before a value (e. g. 'pH 7.0').</xs:documentation> </xs:annotation> <xs:complexType> <xs:complexContent> <xs:extension base="FormattedSimpleTextType"> <xs:attribute name="Postfix" type="xs:boolean" use="optional" default="true"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="__MeasurementMethod" type="GlossaryEntryRefType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">@@ Methods should ideally be defined in Glossary entries. Or should this become free-form text?[ATTR: ref]</xs:documentation> </xs:annotation> </xs:element> <xs:element name="__MeasurementAccuracy" type="String255" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Free-form information about accuracy of measurement. @@ free-form is language and audience dependent and can not be included in analysis. Currently this is rather a specific InternalNote. Any way to improve this? Ideally a numeric value for a confidence interval of measurements would be desirable!</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType></xs:element>

element CharacterDefType/Numerical/StatisticalMeasures
diagram
identity constraints
 Name  Refer  Selector  Field(s)  
unique  Char_UniqueStatMeasureRefs    StatisticalMeasure  @ref  
annotation
documentation Constrains which project-wide StatisticalMeasure definitions can appear in descriptions of this character.Note: Some statistical measure definitions (min, median, mode, etc.) could apply also to ordinal or even nominal types. This is, however, not yet supported in SDD.
source<xs:element name="StatisticalMeasures"> <xs:annotation> <xs:documentation xml:lang="en">Constrains which project-wide StatisticalMeasure definitions can appear in descriptions of this character.Note: Some statistical measure definitions (min, median, mode, etc.) could apply also to ordinal or even nominal types. This is, however, not yet supported in SDD.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="StatisticalMeasure" type="CharacterStatMeasureDefType" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">The key attribute must be unique and is referred to in the descriptions. The ref refers to the semantics defined in the project-wide statistical measure definitions.[ATTR: key, ref]</xs:documentation> </xs:annotation> <xs:keyref name="StatisticalMeasureKeyref" refer="StatisticalMeasureKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:sequence> </xs:complexType> <xs:unique name="Char_UniqueStatMeasureRefs"> <xs:annotation> <xs:documentation xml:lang="en">References to project-wide defined generic StatisticalMeasures must be unique within each character. For example, it should not be possible to define a mean twice in a single character. (Different characters may contain the same statistical measure reference).</xs:documentation> </xs:annotation> <xs:selector xpath="StatisticalMeasure"/> <xs:field xpath="@ref"/> </xs:unique></xs:element>

element CharacterDefType/Numerical/StatisticalMeasures/StatisticalMeasure
diagram
typeCharacterStatMeasureDefType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
documentation Refers to a generic statistical measure
debugref  xs:string  optional      
documentation 
key  KeyValue  required      
debugkey  xs:string  optional      
documentation An optional attribute to add a human-readable equivalent to the numeric primary identity key, intended to simplify debugging SDD applications. The attribute can be discarded or updated at any time. Applications should not produce exports containing this attribute, instead it can be generated using xslt (based on labels/abbreviations.
identity constraints
 Name  Refer  Selector  Field(s)  
keyref  StatisticalMeasureKeyref  StatisticalMeasureKey  .  @ref  
annotation
documentation The key attribute must be unique and is referred to in the descriptions. The ref refers to the semantics defined in the project-wide statistical measure definitions.[ATTR: key, ref]
source<xs:element name="StatisticalMeasure" type="CharacterStatMeasureDefType" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">The key attribute must be unique and is referred to in the descriptions. The ref refers to the semantics defined in the project-wide statistical measure definitions.[ATTR: key, ref]</xs:documentation> </xs:annotation> <xs:keyref name="StatisticalMeasureKeyref" refer="StatisticalMeasureKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref></xs:element>

element CharacterDefType/Numerical/Mappings
diagram
annotation
documentation Mappings of numerical ranges to categories (like DELTA Key States)
source<xs:element name="Mappings" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Mappings of numerical ranges to categories (like DELTA Key States)</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Mapping" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">Each mapping defines a lower and an upper value to map numerical ranges to categorical states in the same character. A CompareWith attribute defines which kind of statistical measure (mean, confidence interval, or min/max) is used for the comparison.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="From"> <xs:annotation> <xs:documentation xml:lang="en">Defines a range through 2 attributes LowerValue and UpperValue (inclusive range)[ATTR: LowerValue, UpperValue, CompareWith]</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="LowerValue" type="xs:double" use="required"/> <xs:attribute name="UpperValue" type="xs:double" use="required"/> <xs:attribute name="CompareWith" type="StatisticalMeasureCompareWithEnum" use="optional" default="central"> <xs:annotation> <xs:documentation xml:lang="en">The type of statistical measure with which the mapping range defined through Lower/UpperValue is compared. This may be a central value (mean, median), the range (quantile, confidence interval, etc.) or the extremes (minimum/maximum). Currently only these three categories are defined.</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="To" type="CharacterStateRefType"> <xs:annotation> <xs:documentation xml:lang="en">[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStateKeyref_NumMapping" refer="CharacterStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> <xs:keyref name="CharacterStateKeyref_NumMapping2" refer="WithinCharacterStateKey"> <xs:annotation> <xs:documentation xml:lang="en">Secondary ref to validate that the state is present in the current character.</xs:documentation> </xs:annotation> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType></xs:element>

element CharacterDefType/Numerical/Mappings/Mapping
diagram
annotation
documentation Each mapping defines a lower and an upper value to map numerical ranges to categorical states in the same character. A CompareWith attribute defines which kind of statistical measure (mean, confidence interval, or min/max) is used for the comparison.
source<xs:element name="Mapping" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">Each mapping defines a lower and an upper value to map numerical ranges to categorical states in the same character. A CompareWith attribute defines which kind of statistical measure (mean, confidence interval, or min/max) is used for the comparison.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="From"> <xs:annotation> <xs:documentation xml:lang="en">Defines a range through 2 attributes LowerValue and UpperValue (inclusive range)[ATTR: LowerValue, UpperValue, CompareWith]</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="LowerValue" type="xs:double" use="required"/> <xs:attribute name="UpperValue" type="xs:double" use="required"/> <xs:attribute name="CompareWith" type="StatisticalMeasureCompareWithEnum" use="optional" default="central"> <xs:annotation> <xs:documentation xml:lang="en">The type of statistical measure with which the mapping range defined through Lower/UpperValue is compared. This may be a central value (mean, median), the range (quantile, confidence interval, etc.) or the extremes (minimum/maximum). Currently only these three categories are defined.</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="To" type="CharacterStateRefType"> <xs:annotation> <xs:documentation xml:lang="en">[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStateKeyref_NumMapping" refer="CharacterStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> <xs:keyref name="CharacterStateKeyref_NumMapping2" refer="WithinCharacterStateKey"> <xs:annotation> <xs:documentation xml:lang="en">Secondary ref to validate that the state is present in the current character.</xs:documentation> </xs:annotation> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:sequence> </xs:complexType></xs:element>

element CharacterDefType/Numerical/Mappings/Mapping/From
diagram
attributes
Name  Type  Use  Default  Fixed  Annotation
LowerValue  xs:double  required      
UpperValue  xs:double  required      
CompareWith  StatisticalMeasureCompareWithEnum  optional  central    
documentation The type of statistical measure with which the mapping range defined through Lower/UpperValue is compared. This may be a central value (mean, median), the range (quantile, confidence interval, etc.) or the extremes (minimum/maximum). Currently only these three categories are defined.
annotation
documentation Defines a range through 2 attributes LowerValue and UpperValue (inclusive range)[ATTR: LowerValue, UpperValue, CompareWith]
source<xs:element name="From"> <xs:annotation> <xs:documentation xml:lang="en">Defines a range through 2 attributes LowerValue and UpperValue (inclusive range)[ATTR: LowerValue, UpperValue, CompareWith]</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="LowerValue" type="xs:double" use="required"/> <xs:attribute name="UpperValue" type="xs:double" use="required"/> <xs:attribute name="CompareWith" type="StatisticalMeasureCompareWithEnum" use="optional" default="central"> <xs:annotation> <xs:documentation xml:lang="en">The type of statistical measure with which the mapping range defined through Lower/UpperValue is compared. This may be a central value (mean, median), the range (quantile, confidence interval, etc.) or the extremes (minimum/maximum). Currently only these three categories are defined.</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType></xs:element>

element CharacterDefType/Numerical/Mappings/Mapping/To
diagram
typeCharacterStateRefType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
documentation ref refers to a character state key
debugref  xs:string  optional      
documentation 
identity constraints
 Name  Refer  Selector  Field(s)  
keyref  CharacterStateKeyref_NumMapping  CharacterStateKey  .  @ref  
keyref  CharacterStateKeyref_NumMapping2  WithinCharacterStateKey  .  @ref  
annotation
documentation [ATTR: ref]
source<xs:element name="To" type="CharacterStateRefType"> <xs:annotation> <xs:documentation xml:lang="en">[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStateKeyref_NumMapping" refer="CharacterStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> <xs:keyref name="CharacterStateKeyref_NumMapping2" refer="WithinCharacterStateKey"> <xs:annotation> <xs:documentation xml:lang="en">Secondary ref to validate that the state is present in the current character.</xs:documentation> </xs:annotation> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref></xs:element>

element CharacterDefType/Numerical/MeasurementUnit
diagram
typeextension of FormattedSimpleTextType
attributes
Name  Type  Use  Default  Fixed  Annotation
Postfix  xs:boolean  optional  true    
annotation
documentation Unit like mm, µm, °C. The content allows some xhtml formatting to support e. g. "mm<sup>2</sup>".A Postfix attribute may be set to false to output string before a value (e. g. 'pH 7.0').
source<xs:element name="MeasurementUnit" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Unit like mm, µm, °C. The content allows some xhtml formatting to support e. g. "mm<sup>2</sup>".A Postfix attribute may be set to false to output string before a value (e. g. 'pH 7.0').</xs:documentation> </xs:annotation> <xs:complexType> <xs:complexContent> <xs:extension base="FormattedSimpleTextType"> <xs:attribute name="Postfix" type="xs:boolean" use="optional" default="true"/> </xs:extension> </xs:complexContent> </xs:complexType></xs:element>

element CharacterDefType/Numerical/__MeasurementMethod
diagram
typeGlossaryEntryRefType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
documentation Refers to a GlossaryEntry (Terminology/Glossary/GlossaryEntry)
debugref  xs:string  optional      
documentation 
annotation
documentation @@ Methods should ideally be defined in Glossary entries. Or should this become free-form text?[ATTR: ref]
source<xs:element name="__MeasurementMethod" type="GlossaryEntryRefType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">@@ Methods should ideally be defined in Glossary entries. Or should this become free-form text?[ATTR: ref]</xs:documentation> </xs:annotation></xs:element>

element CharacterDefType/Numerical/__MeasurementAccuracy
diagram
typeString255
facets
minLength 1
maxLength 255
whiteSpace collapse
annotation
documentation Free-form information about accuracy of measurement. @@ free-form is language and audience dependent and can not be included in analysis. Currently this is rather a specific InternalNote. Any way to improve this? Ideally a numeric value for a confidence interval of measurements would be desirable!
source<xs:element name="__MeasurementAccuracy" type="String255" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Free-form information about accuracy of measurement. @@ free-form is language and audience dependent and can not be included in analysis. Currently this is rather a specific InternalNote. Any way to improve this? Ideally a numeric value for a confidence interval of measurements would be desirable!</xs:documentation> </xs:annotation></xs:element>

element CharacterDefType/Categorical
diagram
annotation
documentation Applicable to all character types; categorical states can be defined in addition to statistical measures!
source<xs:element name="Categorical" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Applicable to all character types; categorical states can be defined in addition to statistical measures!</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="States"> <xs:annotation> <xs:documentation xml:lang="en">(States are defined outside the type specific tree, since categorical states may be present in addition to numerical data)</xs:documentation> </xs:annotation> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">(the sequence of states in the xml file is significant)</xs:documentation> </xs:annotation> <xs:element name="StateDefinition" type="CharacterStateDefType"> <xs:annotation> <xs:documentation xml:lang="en">Local definition of a state[ATTR: key]</xs:documentation> </xs:annotation> </xs:element> <xs:element name="StateReference"> <xs:annotation> <xs:documentation xml:lang="en">Reference to a single generic state (as defined project-wide at a concept tree node).[ATTR: key, ref]</xs:documentation> </xs:annotation> <xs:complexType> <xs:annotation> <xs:documentation xml:lang="en">Refers to a project-wide definition of a generic categorical state and adds a new key to allow unique references to the generic state in the context of the current character. The key created here is the one referred to in the Descriptions.</xs:documentation> </xs:annotation> <xs:attribute name="ref" type="KeyValue" use="required"> <xs:annotation> <xs:documentation xml:lang="en">Refers to a generic character state (those defined within the concept tree, which may be used in multiple characters)</xs:documentation> </xs:annotation> </xs:attribute> <xs:attributeGroup ref="KeyrefAttrGroup"/> <xs:attributeGroup ref="KeyAttrGroup"/> </xs:complexType> <xs:keyref name="GenericStateKeyref" refer="GenericStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:choice> </xs:complexType> <xs:unique name="Char_UniqueGenericStateRefs"> <xs:annotation> <xs:documentation xml:lang="en">References to project-wide defined GenericStates (defined at the nodes of concept trees) must be unique within each character. This is achieved by a uniqueness constraint (local to each character) on the ref attribute of StateReference. The key attribute is already unique through the general CharacterStateKey.</xs:documentation> </xs:annotation> <xs:selector xpath="StateReference"/> <xs:field xpath="@ref"/> </xs:unique> <xs:unique name="CharState_UniqueLabelText"> <xs:annotation> <xs:documentation xml:lang="en">The labels of character state definitions are required to be unique within each character and audience definition. Note that this includes both the locally defined states and the referenced generic states.</xs:documentation> </xs:annotation> <xs:selector xpath="StateDefinition/Label/Representation"/> <xs:field xpath="Text"/> <xs:field xpath="@audience"/> </xs:unique> </xs:element> <xs:element name="AutoAddStates" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">A collection of references to sets of generic states (i. e. to tree nodes). If a generic state is added to any of these sets, it will be added to the states in the current character (as a StateReference). This occurs not through xml or schema mechanisms, but is a contract with SDD applications. Only applications modifying generic state sets are required to fulfill this contract.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="GenericStateSet" type="CharacterNodeRefType" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">(this refers to a node (= group) in a concept tree, since generic states are defined at nodes)[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="GenericStateKeyref_AutoAdd" refer="ConceptTreeNodeKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:sequence> </xs:complexType> <xs:unique name="Char_UniqueAutoAddRefs"> <xs:annotation> <xs:documentation xml:lang="en">References to project-wide defined GenericStates set (i. e. nodes within concept trees) must be unique within each character.</xs:documentation> </xs:annotation> <xs:selector xpath="StateSet"/> <xs:field xpath="@ref"/> </xs:unique> </xs:element> <xs:element name="Mappings" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Mappings between categorical states (e. g. subovate may be mapped to ovate to simplify identification choices).</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Mapping" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">Each mapping defines a source and a destination state. Both From and To may point multiple times to the same state, but the combination From + To must be unique. Both state must be defined in the current character (validated through identity constraint!)</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="From" type="CharacterStateRefType"> <xs:annotation> <xs:documentation xml:lang="en">[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStateKeyref_CatMapping1" refer="CharacterStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> <xs:keyref name="CharacterStateKeyref_CatMapping2" refer="WithinCharacterStateKey"> <xs:annotation> <xs:documentation xml:lang="en">Secondary ref to validate that the state is present in the current character.</xs:documentation> </xs:annotation> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> <xs:element name="To" type="CharacterStateRefType"> <xs:annotation> <xs:documentation xml:lang="en">[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStateKeyref_CatMapping3" refer="CharacterStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> <xs:keyref name="CharacterStateKeyref_CatMapping4" refer="WithinCharacterStateKey"> <xs:annotation> <xs:documentation xml:lang="en">Secondary ref to validate that the state is present in the current character.</xs:documentation> </xs:annotation> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:unique name="Char_UniqueCategoricalMapping"> <xs:annotation> <xs:documentation xml:lang="en">A state may be mapped to multiple other states in the same character, or multiple states may be mapped to a single state, but the combination of From and To may only occur a single time.</xs:documentation> </xs:annotation> <xs:selector xpath="Mapping"/> <xs:field xpath="From/@ref"/> <xs:field xpath="To/@ref"/> </xs:unique> </xs:element> </xs:sequence> </xs:complexType></xs:element>

element CharacterDefType/Categorical/States
diagram
identity constraints
 Name  Refer  Selector  Field(s)  
unique  Char_UniqueGenericStateRefs    StateReference  @ref  
unique  CharState_UniqueLabelText    StateDefinition/Label/Representation  Text  
@audience  
annotation
documentation (States are defined outside the type specific tree, since categorical states may be present in addition to numerical data)
source<xs:element name="States"> <xs:annotation> <xs:documentation xml:lang="en">(States are defined outside the type specific tree, since categorical states may be present in addition to numerical data)</xs:documentation> </xs:annotation> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">(the sequence of states in the xml file is significant)</xs:documentation> </xs:annotation> <xs:element name="StateDefinition" type="CharacterStateDefType"> <xs:annotation> <xs:documentation xml:lang="en">Local definition of a state[ATTR: key]</xs:documentation> </xs:annotation> </xs:element> <xs:element name="StateReference"> <xs:annotation> <xs:documentation xml:lang="en">Reference to a single generic state (as defined project-wide at a concept tree node).[ATTR: key, ref]</xs:documentation> </xs:annotation> <xs:complexType> <xs:annotation> <xs:documentation xml:lang="en">Refers to a project-wide definition of a generic categorical state and adds a new key to allow unique references to the generic state in the context of the current character. The key created here is the one referred to in the Descriptions.</xs:documentation> </xs:annotation> <xs:attribute name="ref" type="KeyValue" use="required"> <xs:annotation> <xs:documentation xml:lang="en">Refers to a generic character state (those defined within the concept tree, which may be used in multiple characters)</xs:documentation> </xs:annotation> </xs:attribute> <xs:attributeGroup ref="KeyrefAttrGroup"/> <xs:attributeGroup ref="KeyAttrGroup"/> </xs:complexType> <xs:keyref name="GenericStateKeyref" refer="GenericStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:choice> </xs:complexType> <xs:unique name="Char_UniqueGenericStateRefs"> <xs:annotation> <xs:documentation xml:lang="en">References to project-wide defined GenericStates (defined at the nodes of concept trees) must be unique within each character. This is achieved by a uniqueness constraint (local to each character) on the ref attribute of StateReference. The key attribute is already unique through the general CharacterStateKey.</xs:documentation> </xs:annotation> <xs:selector xpath="StateReference"/> <xs:field xpath="@ref"/> </xs:unique> <xs:unique name="CharState_UniqueLabelText"> <xs:annotation> <xs:documentation xml:lang="en">The labels of character state definitions are required to be unique within each character and audience definition. Note that this includes both the locally defined states and the referenced generic states.</xs:documentation> </xs:annotation> <xs:selector xpath="StateDefinition/Label/Representation"/> <xs:field xpath="Text"/> <xs:field xpath="@audience"/> </xs:unique></xs:element>

element CharacterDefType/Categorical/States/StateDefinition
diagram
typeCharacterStateDefType
attributes
Name  Type  Use  Default  Fixed  Annotation
key  KeyValue  required      
debugkey  xs:string  optional      
documentation An optional attribute to add a human-readable equivalent to the numeric primary identity key, intended to simplify debugging SDD applications. The attribute can be discarded or updated at any time. Applications should not produce exports containing this attribute, instead it can be generated using xslt (based on labels/abbreviations.
annotation
documentation Local definition of a state[ATTR: key]
source<xs:element name="StateDefinition" type="CharacterStateDefType"> <xs:annotation> <xs:documentation xml:lang="en">Local definition of a state[ATTR: key]</xs:documentation> </xs:annotation></xs:element>

element CharacterDefType/Categorical/States/StateReference
diagram
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
documentation Refers to a generic character state (those defined within the concept tree, which may be used in multiple characters)
debugref  xs:string  optional      
documentation 
key  KeyValue  required      
debugkey  xs:string  optional      
documentation An optional attribute to add a human-readable equivalent to the numeric primary identity key, intended to simplify debugging SDD applications. The attribute can be discarded or updated at any time. Applications should not produce exports containing this attribute, instead it can be generated using xslt (based on labels/abbreviations.
identity constraints
 Name  Refer  Selector  Field(s)  
keyref  GenericStateKeyref  GenericStateKey  .  @ref  
annotation
documentation Reference to a single generic state (as defined project-wide at a concept tree node).[ATTR: key, ref]
source<xs:element name="StateReference"> <xs:annotation> <xs:documentation xml:lang="en">Reference to a single generic state (as defined project-wide at a concept tree node).[ATTR: key, ref]</xs:documentation> </xs:annotation> <xs:complexType> <xs:annotation> <xs:documentation xml:lang="en">Refers to a project-wide definition of a generic categorical state and adds a new key to allow unique references to the generic state in the context of the current character. The key created here is the one referred to in the Descriptions.</xs:documentation> </xs:annotation> <xs:attribute name="ref" type="KeyValue" use="required"> <xs:annotation> <xs:documentation xml:lang="en">Refers to a generic character state (those defined within the concept tree, which may be used in multiple characters)</xs:documentation> </xs:annotation> </xs:attribute> <xs:attributeGroup ref="KeyrefAttrGroup"/> <xs:attributeGroup ref="KeyAttrGroup"/> </xs:complexType> <xs:keyref name="GenericStateKeyref" refer="GenericStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref></xs:element>

element CharacterDefType/Categorical/AutoAddStates
diagram
identity constraints
 Name  Refer  Selector  Field(s)  
unique  Char_UniqueAutoAddRefs    StateSet  @ref  
annotation
documentation A collection of references to sets of generic states (i. e. to tree nodes). If a generic state is added to any of these sets, it will be added to the states in the current character (as a StateReference). This occurs not through xml or schema mechanisms, but is a contract with SDD applications. Only applications modifying generic state sets are required to fulfill this contract.
source<xs:element name="AutoAddStates" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">A collection of references to sets of generic states (i. e. to tree nodes). If a generic state is added to any of these sets, it will be added to the states in the current character (as a StateReference). This occurs not through xml or schema mechanisms, but is a contract with SDD applications. Only applications modifying generic state sets are required to fulfill this contract.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="GenericStateSet" type="CharacterNodeRefType" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">(this refers to a node (= group) in a concept tree, since generic states are defined at nodes)[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="GenericStateKeyref_AutoAdd" refer="ConceptTreeNodeKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:sequence> </xs:complexType> <xs:unique name="Char_UniqueAutoAddRefs"> <xs:annotation> <xs:documentation xml:lang="en">References to project-wide defined GenericStates set (i. e. nodes within concept trees) must be unique within each character.</xs:documentation> </xs:annotation> <xs:selector xpath="StateSet"/> <xs:field xpath="@ref"/> </xs:unique></xs:element>

element CharacterDefType/Categorical/AutoAddStates/GenericStateSet
diagram
typeCharacterNodeRefType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
documentation Refers to a node in a concept tree (Terminology/ConceptTrees/ConceptTree/...)
debugref  xs:string  optional      
documentation 
identity constraints
 Name  Refer  Selector  Field(s)  
keyref  GenericStateKeyref_AutoAdd  ConceptTreeNodeKey  .  @ref  
annotation
documentation (this refers to a node (= group) in a concept tree, since generic states are defined at nodes)[ATTR: ref]
source<xs:element name="GenericStateSet" type="CharacterNodeRefType" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">(this refers to a node (= group) in a concept tree, since generic states are defined at nodes)[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="GenericStateKeyref_AutoAdd" refer="ConceptTreeNodeKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref></xs:element>

element CharacterDefType/Categorical/Mappings
diagram
identity constraints
 Name  Refer  Selector  Field(s)  
unique  Char_UniqueCategoricalMapping    Mapping  From/@ref  
To/@ref  
annotation
documentation Mappings between categorical states (e. g. subovate may be mapped to ovate to simplify identification choices).
source<xs:element name="Mappings" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="en">Mappings between categorical states (e. g. subovate may be mapped to ovate to simplify identification choices).</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Mapping" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">Each mapping defines a source and a destination state. Both From and To may point multiple times to the same state, but the combination From + To must be unique. Both state must be defined in the current character (validated through identity constraint!)</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="From" type="CharacterStateRefType"> <xs:annotation> <xs:documentation xml:lang="en">[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStateKeyref_CatMapping1" refer="CharacterStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> <xs:keyref name="CharacterStateKeyref_CatMapping2" refer="WithinCharacterStateKey"> <xs:annotation> <xs:documentation xml:lang="en">Secondary ref to validate that the state is present in the current character.</xs:documentation> </xs:annotation> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> <xs:element name="To" type="CharacterStateRefType"> <xs:annotation> <xs:documentation xml:lang="en">[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStateKeyref_CatMapping3" refer="CharacterStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> <xs:keyref name="CharacterStateKeyref_CatMapping4" refer="WithinCharacterStateKey"> <xs:annotation> <xs:documentation xml:lang="en">Secondary ref to validate that the state is present in the current character.</xs:documentation> </xs:annotation> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:unique name="Char_UniqueCategoricalMapping"> <xs:annotation> <xs:documentation xml:lang="en">A state may be mapped to multiple other states in the same character, or multiple states may be mapped to a single state, but the combination of From and To may only occur a single time.</xs:documentation> </xs:annotation> <xs:selector xpath="Mapping"/> <xs:field xpath="From/@ref"/> <xs:field xpath="To/@ref"/> </xs:unique></xs:element>

element CharacterDefType/Categorical/Mappings/Mapping
diagram
annotation
documentation Each mapping defines a source and a destination state. Both From and To may point multiple times to the same state, but the combination From + To must be unique. Both state must be defined in the current character (validated through identity constraint!)
source<xs:element name="Mapping" maxOccurs="unbounded"> <xs:annotation> <xs:documentation xml:lang="en">Each mapping defines a source and a destination state. Both From and To may point multiple times to the same state, but the combination From + To must be unique. Both state must be defined in the current character (validated through identity constraint!)</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="From" type="CharacterStateRefType"> <xs:annotation> <xs:documentation xml:lang="en">[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStateKeyref_CatMapping1" refer="CharacterStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> <xs:keyref name="CharacterStateKeyref_CatMapping2" refer="WithinCharacterStateKey"> <xs:annotation> <xs:documentation xml:lang="en">Secondary ref to validate that the state is present in the current character.</xs:documentation> </xs:annotation> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> <xs:element name="To" type="CharacterStateRefType"> <xs:annotation> <xs:documentation xml:lang="en">[ATTR: ref]</xs:documentation> </xs:annotation> <xs:keyref name="CharacterStateKeyref_CatMapping3" refer="CharacterStateKey"> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> <xs:keyref name="CharacterStateKeyref_CatMapping4" refer="WithinCharacterStateKey"> <xs:annotation> <xs:documentation xml:lang="en">Secondary ref to validate that the state is present in the current character.</xs:documentation> </xs:annotation> <xs:selector xpath="."/> <xs:field xpath="@ref"/> </xs:keyref> </xs:element> </xs:sequence> </xs:complexType></xs:element>

element CharacterDefType/Categorical/Mappings/Mapping/From
diagram
typeCharacterStateRefType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue