Schema SDD_09.xsd

(Documentation of the SDD schema version 0.9, released 1. Dec. 2003. This is the recommended version of the schema documentation. 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 code has then been modified by G. Hagedorn to make it more compact and more readable.

schema location:  SDD_09_Infrastructure.xsd
targetNamespace:  http://www.tdwg.org/2003/SDD_09
 
Elements  Groups  Complex types  Simple types  Attr. groups 
Document  AnnotationGroup  AgentConnectorType  ExpertiseLevelEnum  KeyAttrGroup 
AgentRefsType  KeyValue  KeyrefAttrGroup 
AgentRefType  MediaResourceTypeEnum 
ApplicationDataType  RevisionStatusEnum 
AudienceRefType  String255 
AudiencesType  StringN 
CitationType 
CreatorsType 
FormattedSimpleTextType 
GenerationMetadataSectionType 
LocalityConnectorType 
LocalityRefsType 
LocalityRefType 
MediaResourceConnectorType 
MediaResourceRefsType 
MediaResourceRefType 
ProjectDefinitionSectionType 
ProjectDefRepresentationType 
PublicationConnectorType 
PublicationRefType 
ResourceConnectorBaseType 
ResourcesSectionType 
RevisionDataType 
SimpleLabelRepresentationType 
SimpleLabelType 


element Document
diagram
annotation
documentation 
Provides root element. Note that the version of the SDD standard used is defined in the namespace declaration and needs no separate data element.

Note: until xInclude is sufficiently widespread implemented to combine data from different documents, terminology, descriptions, and resources must be in the same document!

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

element Document/ProjectDefinition
diagram
type ProjectDefinitionSectionType
annotation
documentation 
Required information defining the project itself. Refers to the entire document, (terminology, descriptions, keys, etc.)

element Document/Resources
diagram
type ResourcesSectionType
annotation
documentation 
Lists of external resources used in terminology or descriptions (persons, publications, media resources). This provides an interface as well as a cache.

group AnnotationGroup
diagram
used by
element ProjectDefinitionSectionType/__LanguageRules/LanguageRule
complexTypes ProjectDefinitionSectionType ResourceConnectorBaseType
annotation
documentation 
= reuse of Annotation 
and ApplicationData, 
i. e. designer and 
application 'annotations'

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

element AnnotationGroup/ApplicationData
diagram
type ApplicationDataType
annotation
documentation 
Application-specific data
(= extension mechanism)

complexType AgentConnectorType
diagram
type extension of ResourceConnectorBaseType
used by
element ResourcesSectionType/Agents/Agent
attributes
Name  Type  Use  Default  Fixed  Annotation
key  KeyValue  required      
debugkey  xs:string  optional      
documentation 
An optional attribute to add a human-readable equivalent to the numeric primary identity key, intended to simplify debugging SDD applications. The attribute can be discarded or updated at any time. Applications should not produce exports containing this attribute, instead it can be generated using xslt (based on labels/abbreviations.
annotation
documentation 
Used for Agent documentation (an Agent is a person, project, organisation, or software agent). Currently used for authors, editors, contributors, and translators. Ideally it connects to an outside definition or documentation of the Agent.

element AgentConnectorType/LastName
diagram
type String255
facets
minLength 1
maxLength 255
whiteSpace collapse
annotation
documentation 
This may be a person as 
well as an organisation name

element AgentConnectorType/FirstNames
diagram
type String255
facets
minLength 1
maxLength 255
whiteSpace collapse
annotation
documentation 
Applicable only to persons

element AgentConnectorType/Homepage
diagram
type xs:anyURI
annotation
documentation 
This is an information URL pointing to a homepage with further information. If the person has a truly global URN representing its name, it is expected that this is used as the ExternalID above.

element AgentConnectorType/__OtherElements_ToBeDefined
diagram

complexType AgentRefsType
diagram
used by
elements CreatorsType/Authors CreatorsType/Contributors CreatorsType/Editors CreatorsType/Editors CreatorsType/Translators
annotation
documentation 
A collection of AgentRefType elements, i. e. Agents forming a team like an author team.

element AgentRefsType/Agent
diagram
type AgentRefType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
documentation 
Reference to a Agents (Resources/Agents/Agent)
debugref  xs:string  optional      
documentation 
FirstContributionDate  xs:dateTime  optional      
documentation 
The first time a creator-agent has made a contribution to the object to which it was added by reference. The first/last contribution records are specific to the role of a creator-agent. If a creator has contributed both as an author and later as an editor of data, two references in two role containers will exist. Consequently, the dates for the two roles are recorded separately.
LastContributionDate  xs:dateTime  optional      
annotation
documentation 
(The xml sequence of 
elements in this collection 
is informative!)
[ATTR: ref]

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

complexType ApplicationDataType
diagram
used by
element AnnotationGroup/ApplicationData
annotation
documentation 
Application specific data, providing an extension mechanism to the SDD model.

SDD conforming editing applications are expected to preserve the information of other applications when importing and later exporting data to support lossless round tripping.

Recommendation: Each application may read out its own information. Any other target information present should be preserved and output when a new document is generated. This is designed to support item potent round tripping data between two applications. This implies that no dependency between the settings and the descriptions and the terminology setting should be relied upon.

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

complexType AudienceRefType
diagram
used by
complexTypes ProjectDefRepresentationType SimpleLabelRepresentationType
attributes
Name  Type  Use  Default  Fixed  Annotation
audience  xs:Name  required      
annotation
documentation 
Base type; defines an element with a ref attribute pointing to Audience definitions (different data type from generic ref!)

complexType AudiencesType
diagram
used by
element ProjectDefinitionSectionType/Audiences
attributes
Name  Type  Use  Default  Fixed  Annotation
defaultaudience  xs:Name  required      
documentation 
The default audience is used whenever the setup of the consuming application has no other preference specified. The user interface of the application may then allow to choose a different audience/language available.
annotation
documentation 
An Audience is a combination of language (including dialect) and expertise (pupil, beginner, expert). Multiple audiences can be defined for the same language and expertise, distinguished only by their label.
[ATTR: defaultaudience]

element AudiencesType/Audience
diagram
attributes
Name  Type  Use  Default  Fixed  Annotation
audiencekey  xs:Name  required      
documentation 
The key value that is referenced whenever an audience="xxx" attribute is used in audience-specific elements.
lang  xs:language  required      
ExpertiseLevel  ExpertiseLevelEnum  required      
documentation 
ExpertiseLevel is restricted to values from 1-5. These categories allow to communicate expected expertise between different applications using the SDD schema. The recommended interpretation is:
1 = elementary school (year 1 to 6);
2 = middle school (year 7 to 10);
3 = high school (year 11 above) and general public (trying to avoid any specialized terminology or jargon);
4 = university students or (partly) trained personnel (using terminology, but avoiding or explaining problematic terminology);
5 = experts (using the full range of terminology).
annotation
documentation 
The audiencekey attribute of this element is an arbitrary string. It is referenced in all audience specific elements (labels, definitions) to 
specify the intended audience.

Recommendation: audience keys should consist of the language code used in xml:lang plus the expertise level from 1-5 (plus a letter (a, b, ...) if a second audience for the same language and expertise level is defined).

[ATTR: audiencekey, lang, dir, ExpertiseLevel]

element AudiencesType/Audience/LabelText
diagram
type String255
facets
minLength 1
maxLength 255
whiteSpace collapse
annotation
documentation 
A concise label for the audience; expressed in the language and ability of the audience.

element AudiencesType/Audience/Description
diagram
type StringN
facets
minLength 1
whiteSpace collapse
annotation
documentation 
Further text beyond a short label; perhaps clarifying the definition of the audience. Expressed in the language of the audience.

complexType CitationType
diagram
annotation
documentation 
Combines a publication resource reference with a detail location within that reference (esp. page number)

element CitationType/Publication
diagram
type PublicationRefType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
debugref  xs:string  optional      
documentation 
annotation
documentation 
Refers to a publication as defined under Resources/Publications
[ATTR: ref]

element CitationType/Location
diagram
type String255
facets
minLength 1
maxLength 255
whiteSpace collapse
annotation
documentation 
Location within publication where the cited data can be found : Page, table, figure number, database record, html document bookmark, etc. (not the inclusive pages of the article).

element CitationType/__TaxonNameInSource
diagram
type String255
facets
minLength 1
maxLength 255
whiteSpace collapse
annotation
documentation 
Verbatim name as it appears in citation.
@@ Do we need this? @@

complexType CreatorsType
diagram
used by
complexType RevisionDataType
annotation
documentation 
Creators = authors, editors or contributors. At least one of Authors/Editors is required.

element CreatorsType/Authors
diagram
type AgentRefsType
annotation
documentation 
Authors that have originated the content; in the sequence of importance.

element CreatorsType/Editors
diagram
type AgentRefsType
annotation
documentation 
Editors (see below) if present in addition to Authors.

element CreatorsType/Editors
diagram
type AgentRefsType
annotation
documentation 
Editors that have revised content generated by multiple authors or contributors; in the sequence of importance. In general Editors should co-occur with Authors or Contributors (which is, however, not enforced).

element CreatorsType/Contributors
diagram
type AgentRefsType
annotation
documentation 
The sequence of Contributor Agents must be preserved during processing, but the semantics of it are defined by the authors or editors of the project: either importance or alphabetical sequence.

element CreatorsType/Translators
diagram
type AgentRefsType
annotation
documentation 
In addition to authors/editors, several people may have translated audience-
specific texts. 
@@Request for discussion: Translators are currently not listed on individual Representation elements. Only a general  general statement about all translations together can be made. Should this be changed? Also: should one Representation be marked as 'Original/SourceForTranslation'? Will we have something like a 'normative' version? @@

complexType FormattedSimpleTextType
diagram
used by
elements ProjectDefRepresentationType/Acknowledgement FormattedSimpleTextType/del ProjectDefRepresentationType/Description ProjectDefRepresentationType/Disclaimer FormattedSimpleTextType/em FormattedSimpleTextType/i FormattedSimpleTextType/ins FormattedSimpleTextType/strong FormattedSimpleTextType/sub FormattedSimpleTextType/sup SimpleLabelRepresentationType/Text
annotation
documentation 
Allows basic character formatting using xhtml elements plus three semantic elements (citationauthor, taxonauthor, taxon; intended to be rendered formatted and for analysis). Note that no further formatting is supported within the semantic elements (taxon etc.).

element FormattedSimpleTextType/em
diagram
type FormattedSimpleTextType
annotation
documentation 
'Emphasis' logical markup (phrase):
usually rendered italic.

element FormattedSimpleTextType/strong
diagram
type FormattedSimpleTextType
annotation
documentation 
'Strong' logical markup (phrase):
usually rendered bold.

element FormattedSimpleTextType/sub
diagram
type FormattedSimpleTextType
annotation
documentation 
Logical markup: subscript

element FormattedSimpleTextType/sup
diagram
type FormattedSimpleTextType
annotation
documentation 
Logical markup: superscript

element FormattedSimpleTextType/i
diagram
type FormattedSimpleTextType
annotation
documentation 
Font style markup: italic markup that could not be interpreted as (preferred) either emphasis or taxon.

element FormattedSimpleTextType/br
diagram
annotation
documentation 
line break (empty element)

element FormattedSimpleTextType/ins
diagram
type extension of FormattedSimpleTextType
attributes
Name  Type  Use  Default  Fixed  Annotation
cite  xs:anyURI  optional      
datetime  xs:dateTime        

element FormattedSimpleTextType/del
diagram
type extension of FormattedSimpleTextType
attributes
Name  Type  Use  Default  Fixed  Annotation
cite  xs:anyURI  optional      
datetime  xs:dateTime        
annotation
documentation 
markup for inserted/deleted text

element FormattedSimpleTextType/taxon
diagram
type StringN
facets
minLength 1
whiteSpace collapse
annotation
documentation 
Recommended report rendering: italics

element FormattedSimpleTextType/citationauthor
diagram
type StringN
facets
minLength 1
whiteSpace collapse
annotation
documentation 
Author of a referenced citation. Recommended report rendering: may be either ignored or rendered as small caps

element FormattedSimpleTextType/taxonauthor
diagram
type StringN
facets
minLength 1
whiteSpace collapse
annotation
documentation 
Author of a taxon. Recommended report rendering: see citationauthor 

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

The information is transient (it 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). 

Furthermore, attributes describe whether the data contained in the document are complete or an excerpt of a larger data set.

complexType LocalityConnectorType
diagram
type extension of ResourceConnectorBaseType
used by
element ResourcesSectionType/Geography/Locality
attributes
Name  Type  Use  Default  Fixed  Annotation
key  KeyValue  required      
debugkey  xs:string  optional      
documentation 
An optional attribute to add a human-readable equivalent to the numeric primary identity key, intended to simplify debugging SDD applications. The attribute can be discarded or updated at any time. Applications should not produce exports containing this attribute, instead it can be generated using xslt (based on labels/abbreviations.
annotation
documentation 
Used for resources like geographical names or places. Provides either 
a simple free-form text, or a 
connection to an external resource.

complexType LocalityRefsType
diagram
used by
element ProjectDefinitionSectionType/GeographicalScope
annotation
documentation 
A collection of LocalityRefType elements

element LocalityRefsType/Locality
diagram
type LocalityRefType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
debugref  xs:string  optional      
documentation 
annotation
documentation 
Reference to a locality defined
in Resources/Geography
[ATTR: ref]

complexType LocalityRefType
diagram
used by
element LocalityRefsType/Locality
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
debugref  xs:string  optional      
documentation 
annotation
documentation 
Defines an element with a ref attribute pointing to a Locality in Resources (Resources/Geography/Locality)

complexType MediaResourceConnectorType
diagram
type extension of ResourceConnectorBaseType
used by
element ResourcesSectionType/MediaResources/MediaResource
attributes
Name  Type  Use  Default  Fixed  Annotation
key  KeyValue  required      
debugkey  xs:string  optional      
documentation 
An optional attribute to add a human-readable equivalent to the numeric primary identity key, intended to simplify debugging SDD applications. The attribute can be discarded or updated at any time. Applications should not produce exports containing this attribute, instead it can be generated using xslt (based on labels/abbreviations.
annotation
documentation 
Extends resource connector type with optional encoded data content (esp. images embedded in xml document) and with a Type (Image/Audio/Video, etc.).

element MediaResourceConnectorType/Type
diagram
type MediaResourceTypeEnum
facets
enumeration Image
enumeration Audio
enumeration Video
enumeration FormattedDocument
enumeration __Other
annotation
documentation 
Type of medium @ To be discussed! @

element MediaResourceConnectorType/Caption
diagram
type SimpleLabelType
annotation
documentation 
An optional caption for a resource, esp. if it will be presented embedded in another document. Captions can be provided for multiple audiences.

@@ Issue: captions, even in multiple languages, may be obtained from the service provider. Even then it may be desirable to override them! Do we need two collections: InheritedCaption and CaptionOverride? This seems to be awkward whenever there is no ServiceProvider! Also, FreeFormDescription can contain a "title" only in a single language! @@

element MediaResourceConnectorType/EncodedData
diagram
type xs:base64Binary
annotation
documentation 
Optionally the full resource data may be embedded (as an alternative or in addition to defining a URI)

complexType MediaResourceRefsType
diagram
annotation
documentation 
A collection of MediaResourceRef elements.

element MediaResourceRefsType/MediaResource
diagram
type MediaResourceRefType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
debugref  xs:string  optional      
documentation 
annotation
documentation 
(the sequence in instance
is not informative!)
[ATTR: ref]

complexType MediaResourceRefType
diagram
used by
elements ProjectDefinitionSectionType/Icon MediaResourceRefsType/MediaResource
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
debugref  xs:string  optional      
documentation 
annotation
documentation 
Defines an element with a ref attribute pointing to a MediaResource defined in Resources (Resources/MediaResources/MediaResource)

complexType ProjectDefinitionSectionType
diagram
used by
element Document/ProjectDefinition
annotation
documentation 
Required information defining 
the project itself.

element ProjectDefinitionSectionType/GloballyUniqueName
diagram
type xs:anyURI
annotation
documentation 
A globally unique ID-string, distinguishing this project from all others. The value should never be changed once it has been introduced. To refer, e. g., to a character across projects, this value is combined with the key of the character. If you don't have this, it will be difficult to compare versions of projects 

Recommendation: Avoid choosing simple names that are likely to be created multiple times ('plants', 'French bees', etc.). Authors working at research institutions and expect to continue to do so, may use institutional-URI/personal or team name/project label (example: http://bba.de/hagedorn/coelomycetes). Note that this is only an identifier and does NOT help to locate any real resource on the web.

element ProjectDefinitionSectionType/Version
diagram
annotation
documentation 
Number and date of current version

element ProjectDefinitionSectionType/Version/Major
diagram
type xs:nonNegativeInteger
annotation
documentation 
The major version number as defined by the project creators

element ProjectDefinitionSectionType/Version/Minor
diagram
type xs:nonNegativeInteger
annotation
documentation 
An optional minor version number ('2' in 1.2)

element ProjectDefinitionSectionType/Version/Increment
diagram
type xs:nonNegativeInteger
annotation
documentation 
An optional incremental version number to distinguish each successive revision of a project.

element ProjectDefinitionSectionType/Version/PublicationDate
diagram
type xs:date
annotation
documentation 
Publication of the current version (compare RevisionData/ InitiationDate for date of first version). PublicationDate should be missing if the current version is not yet published. 

element ProjectDefinitionSectionType/RevisionData
diagram
type RevisionDataType
annotation
documentation 
Creators, Revision 
status, and dates of 
the entire project. 
The revision status 
refers to both 
terminology and 
descriptions.

Note: Creators 
are optional, but 
within Audience-
SpecificData at 
least a copyright 
statement for the 
project is required.

element ProjectDefinitionSectionType/AudienceSpecificData
diagram
annotation
documentation 
Audience-specific project 
header information

element ProjectDefinitionSectionType/AudienceSpecificData/Representation
diagram
type ProjectDefRepresentationType
attributes
Name  Type  Use  Default  Fixed  Annotation
audience  xs:Name  required      
annotation
documentation 
[ATTR: audience]

element ProjectDefinitionSectionType/GeographicalScope
diagram
type LocalityRefsType
annotation
documentation 
Many projects will have a limited geographical scope (or coverage).

element ProjectDefinitionSectionType/SourcePublication
diagram
type PublicationRefType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
debugref  xs:string  optional      
documentation 
annotation
documentation 
Defines reference if information in the entire project came from one publication (printed or digital).
[ATTR: ref]

element ProjectDefinitionSectionType/WebAddress
diagram
type xs:anyURI
annotation
documentation 
URL pointing to the online source for the terminology or descriptive data contained in the current xml document. WebAddress may serve an updated version of the data.

element ProjectDefinitionSectionType/HistoryWebAddress
diagram
type xs:anyURI
annotation
documentation 
@@ To be discussed. The idea is that a project may point to a web resource that informs about details about the history of the data (previous versions or a detailed log of changes).

element ProjectDefinitionSectionType/Icon
diagram
type MediaResourceRefType
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
debugref  xs:string  optional      
documentation 
annotation
documentation 
Optionally an image media resource containing an icon/logo symbolizing the project.
[ATTR: ref]

element ProjectDefinitionSectionType/Audiences
diagram
type AudiencesType
attributes
Name  Type  Use  Default  Fixed  Annotation
defaultaudience  xs:Name  required      
documentation 
The default audience is used whenever the setup of the consuming application has no other preference specified. The user interface of the application may then allow to choose a different audience/language available.
annotation
documentation 
A list of audiences addressed in the project. An Audience is a combination of language (including dialect) and expertise (pupil, beginner, expert).
[ATTR: defaultaudience]

element ProjectDefinitionSectionType/__LanguageRules
diagram
annotation
documentation 
For natural language reporting some rules can be defined per language rather than per audience. If a rule for a language used in an audience definition is missing, applications may add a default language rule to the project data.

element ProjectDefinitionSectionType/__LanguageRules/LanguageRule
diagram
attributes
Name  Type  Use  Default  Fixed  Annotation
lang  xs:language  required      
dir  xs:token  optional  ltr    
annotation
documentation 
[ATTR: lang, dir]

complexType ProjectDefRepresentationType
diagram
type extension of AudienceRefType
used by
element ProjectDefinitionSectionType/AudienceSpecificData/Representation
attributes
Name  Type  Use  Default  Fixed  Annotation
audience  xs:Name  required      
annotation
documentation 
Audience-specific 
project header 
information

element ProjectDefRepresentationType/Title
diagram
type String255
facets
minLength 1
maxLength 255
whiteSpace collapse
annotation
documentation 
A short, concise title. 
This does not support any formatting!

element ProjectDefRepresentationType/Description
diagram
type FormattedSimpleTextType
annotation
documentation 
Free-form text containing a longer description of the project.

element ProjectDefRepresentationType/Acknowledgement
diagram
type FormattedSimpleTextType
annotation
documentation 
A free form text acknowledging support (e. g. grant money, help, permission to reuse published material, etc.)

element ProjectDefRepresentationType/Disclaimer
diagram
type FormattedSimpleTextType
annotation
documentation 
Disclaimer statement, e. g. concerning responsibility for data quality or legal implications.

element ProjectDefRepresentationType/Rights
diagram
annotation
documentation 
Not optional! At least 
a copyright statement 
is required!

element ProjectDefRepresentationType/Rights/CopyrightStatement
diagram
type String255
facets
minLength 1
maxLength 255
whiteSpace collapse
annotation
documentation 
A concise copyright statement

element ProjectDefRepresentationType/Rights/CopyrightStatementLong
diagram
type StringN
facets
minLength 1
whiteSpace collapse
annotation
documentation 
Optionally, an expanded copyright
statement may include more detailed
copyright information

element ProjectDefRepresentationType/Rights/UsageConditions
diagram
type StringN
facets
minLength 1
whiteSpace collapse
annotation
documentation 
Free-form text defining conditions under which the data may be distributed or changed.

element ProjectDefRepresentationType/Rights/License
diagram
type String255
facets
minLength 1
maxLength 255
whiteSpace collapse
annotation
documentation 
To be used if data are placed under a public license (GPL, GFDL). Placing data under a public license is recommended.

element ProjectDefRepresentationType/GeographicalCoverage
diagram
type StringN
facets
minLength 1
whiteSpace collapse
annotation
documentation 
Free-form description of geographic coverage of descriptions available in the current project.

element ProjectDefRepresentationType/TaxonomicCoverage
diagram
type StringN
facets
minLength 1
whiteSpace collapse
annotation
documentation 
Free-form text describing taxonomic groups covered by the project.

complexType PublicationConnectorType
diagram
type extension of ResourceConnectorBaseType
used by
element ResourcesSectionType/Publications/Publication
attributes
Name  Type  Use  Default  Fixed  Annotation
key  KeyValue  required      
debugkey  xs:string  optional      
documentation 
An optional attribute to add a human-readable equivalent to the numeric primary identity key, intended to simplify debugging SDD applications. The attribute can be discarded or updated at any time. Applications should not produce exports containing this attribute, instead it can be generated using xslt (based on labels/abbreviations.
annotation
documentation 
Used for resources like publications, laboratory notes, speeches, etc. Provides either a simple free-form text, or a connection to an external resource.

complexType PublicationRefType
diagram
used by
elements CitationType/Publication ProjectDefinitionSectionType/SourcePublication
attributes
Name  Type  Use  Default  Fixed  Annotation
ref  KeyValue  required      
debugref  xs:string  optional      
documentation 
annotation
documentation 
Defines an element with a ref attribute pointing to a Publication in Resources (Resources/Publications/Publication)

complexType ResourceConnectorBaseType
diagram
used by
complexTypes AgentConnectorType LocalityConnectorType MediaResourceConnectorType PublicationConnectorType
attributes
Name  Type  Use  Default  Fixed  Annotation
key  KeyValue  required      
debugkey  xs:string  optional      
documentation 
An optional attribute to add a human-readable equivalent to the numeric primary identity key, intended to simplify debugging SDD applications. The attribute can be discarded or updated at any time. Applications should not produce exports containing this attribute, instead it can be generated using xslt (based on labels/abbreviations.
annotation
documentation 
Abstract base type for connectors to resources (publications, class names, specimens, etc.). Provides either a simple free-form text, or a connection to an external resource.

element ResourceConnectorBaseType/ServiceProvider
diagram
type String255
facets
minLength 1
maxLength 255
whiteSpace collapse
annotation
documentation 
Defines a service used to resolve ExternalID. This could be the URI of a wsdl-file of a web service.

element ResourceConnectorBaseType/ExternalID
diagram
type String255
facets
minLength 1
maxLength 255
whiteSpace collapse
annotation
documentation 
Can be URI, but does not have to. Examples: "ref://x.y.fr/floras/smith/1998", "432787632", "SMI1998_DZT"

element ResourceConnectorBaseType/FreeFormDescription
diagram
type String255
facets
minLength 1
maxLength 255
whiteSpace collapse
annotation
documentation 
Human readable representation; this may be the only data item if no machine readable ID exists. Example in the case of a publication resource: "Smith 1998. Flora of Erehwon, Fingers Publishers." If an external ID exists, this is considered cached information and required to be present.
@@ Should this be multilingual? Difficult if external source does not inform about language! @@ Should this be called Label instead?

complexType ResourcesSectionType
diagram
used by
element Document/Resources
annotation
documentation 
Global resource definitions containing URIs or actually embedded resources (e. g. encoded images).

element ResourcesSectionType/Agents
diagram
annotation
documentation 
Documentation of all persons or organisations that where involved in authoring, compiling, or editing the document.

element ResourcesSectionType/Agents/Agent
diagram
type AgentConnectorType
attributes
Name  Type  Use  Default  Fixed  Annotation
key  KeyValue  required      
debugkey  xs:string  optional      
documentation 
An optional attribute to add a human-readable equivalent to the numeric primary identity key, intended to simplify debugging SDD applications. The attribute can be discarded or updated at any time. Applications should not produce exports containing this attribute, instead it can be generated using xslt (based on labels/abbreviations.
annotation
documentation 
@@@ This is just a preliminary sketch that should probably be synchronized with TDWG ABCD!
[ATTR: key]

element ResourcesSectionType/Publications
diagram
annotation
documentation 
Internal list of publication used in the project. Each publication is either described in free form text, or refers to an external data source.

element ResourcesSectionType/Publications/Publication
diagram
type PublicationConnectorType
attributes
Name  Type  Use  Default  Fixed  Annotation
key  KeyValue  required      
debugkey  xs:string  optional      
documentation 
An optional attribute to add a human-readable equivalent to the numeric primary identity key, intended to simplify debugging SDD applications. The attribute can be discarded or updated at any time. Applications should not produce exports containing this attribute, instead it can be generated using xslt (based on labels/abbreviations.
annotation
documentation 
Printed or digital publication
(including database source)
[ATTR: key]

element ResourcesSectionType/Geography
diagram
annotation
documentation 
Internal list of geographical locations (usually country names, but this may be on any level). Each one is either described in free form text, or refers to an external data source. The external gazetteer referred to may be the TDWG Geography standard.

element ResourcesSectionType/Geography/Locality
diagram
type LocalityConnectorType
attributes
Name  Type  Use  Default  Fixed  Annotation
key  KeyValue  required      
debugkey  xs:string  optional      
documentation 
An optional attribute to add a human-readable equivalent to the numeric primary identity key, intended to simplify debugging SDD applications. The attribute can be discarded or updated at any time. Applications should not produce exports containing this attribute, instead it can be generated using xslt (based on labels/abbreviations.
annotation
documentation 
[ATTR: key]

element ResourcesSectionType/MediaResources
diagram
annotation
documentation 
Global resource definitions containing URIs or actually embedded resources (e. g. encoded images).

element ResourcesSectionType/MediaResources/MediaResource
diagram
type MediaResourceConnectorType
attributes
Name  Type  Use  Default  Fixed  Annotation
key  KeyValue  required      
debugkey  xs:string  optional      
documentation 
An optional attribute to add a human-readable equivalent to the numeric primary identity key, intended to simplify debugging SDD applications. The attribute can be discarded or updated at any time. Applications should not produce exports containing this attribute, instead it can be generated using xslt (based on labels/abbreviations.
annotation
documentation 
[ATTR: key]

complexType RevisionDataType
diagram
type extension of CreatorsType
used by
element ProjectDefinitionSectionType/RevisionData
annotation
documentation 
RevisionData (creators, dates, revision) for project, character, glossary entry, and description data.

element RevisionDataType/InitiationDate
diagram
type xs:dateTime
annotation
documentation 
Date/time when the object (project/
terminological definition/description) was initiated. Applications may initially set this to the system date, but the project authors must be able to change it to an earlier date if necessary.

element RevisionDataType/LastRevisionDate
diagram
type xs:dateTime
annotation
documentation 
Date/time when the last change was made (either in terminology or in descriptions)

element RevisionDataType/RevisionStatus
diagram
type RevisionStatusEnum
facets
enumeration Unrevised
enumeration RevisionLevel1
enumeration RevisionLevel2
enumeration RevisionLevel3
enumeration RevisionLevel4
enumeration RevisionLevel5
enumeration FullyRevised
annotation
documentation 
Enumerated categories, which are intended to be rough estimates by the authors/editors, not exact statements. RevisionStatus refers primarily to the correctness of existing data. This includes an estimate of completeness relative to the stated scope (e. g. taxonomic or geographic scopes in the project definition). However, if the project goal is to describe the frequent species of a taxon, the project status may be 'FullyRevised' even if many species are still missing.

complexType SimpleLabelRepresentationType
diagram
type extension of AudienceRefType
used by
element SimpleLabelType/Representation
attributes
Name  Type  Use  Default  Fixed  Annotation
audience  xs:Name  required      
annotation
documentation 
Audience-specific label representations (without abbreviations or natural language reporting wordings); used e. g. for concept trees or modifier sets.

element SimpleLabelRepresentationType/Text
diagram
type FormattedSimpleTextType
annotation
documentation 
Text of the normal label, 
intended for screen display 
or reports that accommodate
unabbreviated labels.

complexType SimpleLabelType
diagram
used by
element MediaResourceConnectorType/Caption
annotation
documentation 
A label = collection of audience-specific label representations (without abbreviations or natural language reporting wordings), used e. g. for concept trees or modifier sets.

element SimpleLabelType/Representation
diagram
type SimpleLabelRepresentationType
attributes
Name  Type  Use  Default  Fixed  Annotation
audience  xs:Name  required      
annotation
documentation 
Audience-specific simple label representation (= without 
abbreviations or natural 
language reporting wordings)
[ATTR: audience]

simpleType ExpertiseLevelEnum
type restriction of xs:byte
used by
attribute AudiencesType/Audience/@ExpertiseLevel
facets
enumeration 0
enumeration 1
enumeration 2
enumeration 3
enumeration 4
enumeration 5
annotation
documentation 
Restricted to integer values from 0 to 5, indicating expertise from schoolchildren to taxonomic expert. Recommendations for interpreting and choosing the expert level:
0 = unspecified

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)

simpleType KeyValue
type xs:nonNegativeInteger
used by
attributes KeyAttrGroup/@key PublicationRefType/@ref LocalityRefType/@ref MediaResourceRefType/@ref AgentRefType/@ref
annotation
documentation 
This allows to define (and redefine) the value type for keys and keyrefs (except for audience keys, which are xs:Name)

simpleType MediaResourceTypeEnum
type restriction of xs:Name
used by
element MediaResourceConnectorType/Type
facets
enumeration Image
enumeration Audio
enumeration Video
enumeration FormattedDocument
enumeration __Other
annotation
documentation 
Enumerated list to improve application interoperability. It is unclear whether a simple SDD list(as presented here ), or a generic MIME type support is more desirable.

simpleType RevisionStatusEnum
type restriction of xs:Name
used by
element RevisionDataType/RevisionStatus
facets
enumeration Unrevised
enumeration RevisionLevel1
enumeration RevisionLevel2
enumeration RevisionLevel3
enumeration RevisionLevel4
enumeration RevisionLevel5
enumeration FullyRevised
annotation
documentation 
RevisionStatus is applied to the project as a whole as well as to individual descriptions.

simpleType String255
type restriction of xs:normalizedString
used by
elements CitationType/__TaxonNameInSource ProjectDefRepresentationType/Rights/CopyrightStatement ResourceConnectorBaseType/ExternalID AgentConnectorType/FirstNames ResourceConnectorBaseType/FreeFormDescription AudiencesType/Audience/LabelText AgentConnectorType/LastName ProjectDefRepresentationType/Rights/License CitationType/Location ResourceConnectorBaseType/ServiceProvider ProjectDefRepresentationType/Title
attributes GenerationMetadataSectionType/@GeneratorName GenerationMetadataSectionType/@GeneratorNotes GenerationMetadataSectionType/@GeneratorVersion ApplicationDataType/Application/@name GenerationMetadataSectionType/@Routine GenerationMetadataSectionType/@TransformingScripts ApplicationDataType/Application/@version
facets
minLength 1
maxLength 255
whiteSpace collapse
annotation
documentation 
normalized string restricted to 1..255 character length (i. e. required, may not be empty string)

simpleType StringN
type restriction of xs:normalizedString
used by
elements AnnotationGroup/Annotation FormattedSimpleTextType/citationauthor ProjectDefRepresentationType/Rights/CopyrightStatementLong AudiencesType/Audience/Description ProjectDefRepresentationType/GeographicalCoverage FormattedSimpleTextType/taxon FormattedSimpleTextType/taxonauthor ProjectDefRepresentationType/TaxonomicCoverage ProjectDefRepresentationType/Rights/UsageConditions
facets
minLength 1
whiteSpace collapse
annotation
documentation 
normalized string required to be at least 1 character long (i. e. either element/attribute may be optional, but if they are required the content must not be an empty string)

attributeGroup KeyAttrGroup
used by
complexType ResourceConnectorBaseType
attributes
Name  Type  Use  Default  Fixed  Annotation
key  KeyValue  required      
debugkey  xs:string  optional      
documentation 
An optional attribute to add a human-readable equivalent to the numeric primary identity key, intended to simplify debugging SDD applications. The attribute can be discarded or updated at any time. Applications should not produce exports containing this attribute, instead it can be generated using xslt (based on labels/abbreviations.
annotation
documentation 
Contains a key and a generic debugkey attribute. 

attributeGroup KeyrefAttrGroup
used by
complexTypes AgentRefType LocalityRefType MediaResourceRefType PublicationRefType
attributes
Name  Type  Use  Default  Fixed  Annotation
debugref  xs:string  optional      
documentation 
annotation
documentation 
Currently contains only the generic debugref attribute. The ref attribute could be defined here as well, but this would prevent adding annotations to clarify which key a ref is pointing to!