(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 |
| diagram | ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| identity constraints |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| type | GenerationMetadataSectionType | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||
| type | ProjectDefinitionSectionType | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||
| type | TerminologySectionType | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||
| type | EntitiesSectionType | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||
| type | ResourcesSectionType | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||
| type | DescriptionsSectionType | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||
| type | KeysSectionType | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||
| used by | |||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||||
| type | StringN | ||||
| facets |
| ||||
| annotation |
| ||||
| 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> |
| diagram | ![]() | ||
| type | ApplicationDataType | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||||
| used by |
| ||||
| annotation |
| ||||
| 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> |
| diagram | ![]() | ||
| type | NatLangWordingType | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||
| type | NatLangWordingType | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||
| type | NatLangWordingType | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||
| used by |
| ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||
| type | GlossaryEntryRefType | ||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||
| identity constraints |
| ||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||
| type | StringN | ||||
| facets |
| ||||
| annotation |
| ||||
| 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> |
| diagram | ![]() | ||
| type | ApplicationDataType | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||
| type | extension of FormattedSimpleTextType | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||
| type | FormattedSimpleTextType | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||
| type | extension of FormattedSimpleTextType | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||||
| type | extension of FormattedSimpleTextType | ||||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||||||||||
| type | AgentRefsType | ||||||||||
| identity constraints |
| ||||||||||
| annotation |
| ||||||||||
| 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> |
| diagram | ![]() | ||||||||||
| type | AgentRefsType | ||||||||||
| identity constraints |
| ||||||||||
| annotation |
| ||||||||||
| 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> |
| diagram | ![]() | ||||||||||
| type | AgentRefsType | ||||||||||
| identity constraints |
| ||||||||||
| annotation |
| ||||||||||
| 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> |
| diagram | ![]() | ||||||||||
| type | AgentRefsType | ||||||||||
| identity constraints |
| ||||||||||
| annotation |
| ||||||||||
| 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> |
| diagram | ![]() | ||||||||||||||||||||
| type | extension of ResourceConnectorBaseType | ||||||||||||||||||||
| used by |
| ||||||||||||||||||||
| attributes |
| ||||||||||||||||||||
| annotation |
| ||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||
| type | String255 | ||||||
| facets |
| ||||||
| annotation |
| ||||||
| 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> |
| diagram | ![]() | ||||||
| type | String255 | ||||||
| facets |
| ||||||
| annotation |
| ||||||
| 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> |
| diagram | ![]() | ||
| type | xs:anyURI | ||
| annotation |
| ||
| 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> |
| diagram | |
| source | <xs:element name="__OtherElements_ToBeDefined" minOccurs="0"/> |
| diagram | ![]() | ||
| used by |
| ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||||||||||||||||
| type | AgentRefType | ||||||||||||||||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||||||||||||||||
| identity constraints |
| ||||||||||||||||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||||||||||||||||
| used by |
| ||||||||||||||||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||
| used by |
| ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||||||||
| used by |
| ||||||||||||
| attributes |
| ||||||||||||
| annotation |
| ||||||||||||
| 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> |
| diagram | ![]() | ||||||||||||||
| used by |
| ||||||||||||||
| attributes |
| ||||||||||||||
| annotation |
| ||||||||||||||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||
| type | String255 | ||||||
| facets |
| ||||||
| annotation |
| ||||||
| 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> |
| diagram | ![]() | ||||
| type | StringN | ||||
| facets |
| ||||
| annotation |
| ||||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||
| type | extension of CharacterStateData_BaseType | ||||||||||||||||||||||
| used by |
| ||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||
| type | restriction of CharacterCodingStatusDataType | ||||||||||||||||||||||
| used by |
| ||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||||||||
| type | MarkupTextType | ||||||||||||
| attributes |
| ||||||||||||
| source | <xs:element name="Text" type="MarkupTextType"/> |
| diagram | ![]() |
| type | ReportedNoteType |
| source | <xs:element name="Note" type="ReportedNoteType"/> |
| diagram | ![]() | ||||||||||||||||||||||
| type | extension of CharacterRefType | ||||||||||||||||||||||
| used by |
| ||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||
| type | restriction of xs:Name | ||||
| facets |
| ||||
| annotation |
| ||||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||
| type | extension of CharacterData_BaseType | ||||||||||||||||||||||
| used by |
| ||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||
| type | CharacterStateDataType | ||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||
| identity constraints |
| ||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||||||||
| type | CharacterMeasureDataType | ||||||||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||||||||
| identity constraints |
| ||||||||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||
| type | CharacterCodingStatusDataType | ||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||
| identity constraints |
| ||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||
| type | MediaResourceRefsType | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||||||||||||||||||||
| used by |
| ||||||||||||||||||||
| attributes |
| ||||||||||||||||||||
| annotation |
| ||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||||||
| type | LabelPlusAbbreviationType | ||||||||||
| identity constraints |
| ||||||||||
| annotation |
| ||||||||||
| 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> |
| diagram | ![]() |
| type | RevisionDataType |
| source | <xs:element name="RevisionData" type="RevisionDataType" minOccurs="0"/> |
| diagram | ![]() | ||||||||||||||
| type | CharacterTypeEnum | ||||||||||||||
| facets |
| ||||||||||||||
| annotation |
| ||||||||||||||
| 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> |
| diagram | ![]() | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||||||||||
| identity constraints |
| ||||||||||
| annotation |
| ||||||||||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||||||||||||||||
| type | CharacterStatMeasureDefType | ||||||||||||||||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||||||||||||||||
| identity constraints |
| ||||||||||||||||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||
| type | CharacterStateRefType | ||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||
| identity constraints |
| ||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||||||||
| type | extension of FormattedSimpleTextType | ||||||||||||
| attributes |
| ||||||||||||
| annotation |
| ||||||||||||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||
| type | GlossaryEntryRefType | ||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||
| type | String255 | ||||||
| facets |
| ||||||
| annotation |
| ||||||
| 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> |
| diagram | ![]() | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | |||||||||||||||
| identity constraints |
| |||||||||||||||
| annotation |
| |||||||||||||||
| 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> |
| diagram | ![]() | ||||||||||||||||||||
| type | CharacterStateDefType | ||||||||||||||||||||
| attributes |
| ||||||||||||||||||||
| annotation |
| ||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||||||||||||||||
| identity constraints |
| ||||||||||||||||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||||||
| identity constraints |
| ||||||||||
| annotation |
| ||||||||||
| 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> |
| diagram | ![]() | ||||||||||||||||||||||
| type | CharacterNodeRefType | ||||||||||||||||||||||
| attributes |
| ||||||||||||||||||||||
| identity constraints |
| ||||||||||||||||||||||
| annotation |
| ||||||||||||||||||||||
| 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> |
| diagram | ![]() | ||||||||||
| identity constraints |
| ||||||||||
| annotation |
| ||||||||||
| 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> |
| diagram | ![]() | ||
| annotation |
| ||
| 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> |
| diagram | ![]() | |||||||||
| type | CharacterStateRefType | |||||||||
| attributes |
|