SDD (Structure of Descriptive Data) XML Schema Documentation

Table of Contents

top

Schema Document Properties

Target Namespace http://www.tdwg.org/2003/SDD_09
Version SDD 0.9.030
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.
Documentation

Contains only infrastructure: GenerationMetadata, ProjectDefinition, Resources! This version has been created only for the purpose of focussing the discussion of the SDD working group. It is NOT a functional schema!



Should audiences become a root section? Would a predefined set of audiences be included in multiple projects?

ResourceConnectors and references to these objects:

Metadata (application, revision, IPR; Creators and RevisionData are closely related to the AgentRefsType defined above):

Annotations of objects occur together with labels or similar identifying objects. However, are not audience-specific and separate from the Label collection:

Key/ref infrastructure:

Basic simple types:

Declared Namespaces

Prefix Namespace
Default namespace http://www.tdwg.org/2003/SDD_09
xml http://www.w3.org/XML/1998/namespace
xs http://www.w3.org/2001/XMLSchema
Schema Component Representation
<xs:schema targetNamespace="http://www.tdwg.org/2003/SDD_09" elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all" version="SDD 0.9.030">
...
</xs:schema>
top

Global Declarations

Element: Document

Name Document
Type Locally-defined complex type
Nillable no
Abstract no
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!
XML Instance Representation
<Document>
<GenerationMetadata> GenerationMetadataSectionType </GenerationMetadata> [1] ?
<ProjectDefinition> ProjectDefinitionSectionType </ProjectDefinition> [1] ?
<Resources> ResourcesSectionType </Resources> [0..1] ?
</Document>
Schema Component Representation
<xs:element name="Document">
<xs:complexType>
<xs:sequence>
<xs:element name="GenerationMetadata" type="GenerationMetadataSectionType"/>
<xs:element name="ProjectDefinition" type="ProjectDefinitionSectionType"/>
<xs:element name="Resources" type="ResourcesSectionType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
top

Global Definitions

Attribute Group: KeyAttrGroup

Name KeyAttrGroup
Documentation Contains a key and a generic debugkey attribute.
XML Instance Representation
key="KeyValue [1]"
debugkey="xs:string [0..1] ?"
Schema Component Representation
<xs:attributeGroup name="KeyAttrGroup">
<xs:attribute name="key" type="KeyValue" use="required"/>
<xs:attribute name="debugkey" type="xs:string" use="optional"/>
</xs:attributeGroup>
top

Attribute Group: KeyrefAttrGroup

Name KeyrefAttrGroup
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!
XML Instance Representation
debugref="xs:string [0..1] ?"
Schema Component Representation
<xs:attributeGroup name="KeyrefAttrGroup">
<xs:attribute name="debugref" type="xs:string" use="optional"/>
</xs:attributeGroup>
top

Complex Type: AgentConnectorType

Super-types: ResourceConnectorBaseType < AgentConnectorType (by extension)
Sub-types: None
Name AgentConnectorType
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.
XML Instance Representation
<...
key="KeyValue [1]"
debugkey="xs:string [0..1] ?">
<ServiceProvider> String255 </ServiceProvider> [0..1] ?
<ExternalID> String255 </ExternalID> [0..1] ?
<FreeFormDescription> String255 </FreeFormDescription> [1] ?
<Annotation> StringN </Annotation> [0..1] ?
<ApplicationData> ApplicationDataType </ApplicationData> [0..1] ?
<LastName> String255 </LastName> [1] ?
<FirstNames> String255 </FirstNames> [0..1] ?
<Homepage> xs:anyURI </Homepage> [0..1] ?
<__OtherElements_ToBeDefined> ... </__OtherElements_ToBeDefined> [0..1]
</...>
Schema Component Representation
<xs:complexType name="AgentConnectorType">
<xs:complexContent>
<xs:extension base="ResourceConnectorBaseType">
<xs:sequence>
<xs:element name="LastName" type="String255"/>
<xs:element name="FirstNames" type="String255" minOccurs="0"/>
<xs:element name="Homepage" type="xs:anyURI" minOccurs="0"/>
<xs:element name="__OtherElements_ToBeDefined" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: AgentRefsType

Super-types: None
Sub-types: None
Name AgentRefsType
Documentation A collection of AgentRefType elements, i. e. Agents forming a team like an author team.
XML Instance Representation
<...>
<Agent> AgentRefType </Agent> [1..*] ?
</...>
Schema Component Representation
<xs:complexType name="AgentRefsType">
<xs:sequence>
<xs:element name="Agent" type="AgentRefType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
top

Complex Type: AgentRefType

Super-types: None
Sub-types: None
Name AgentRefType
Documentation Defines an element with a ref attribute pointing to an Agent (Resources/Agents/Agent)
XML Instance Representation
<...
ref="KeyValue [1] ?"
debugref="xs:string [0..1] ?"
FirstContributionDate="xs:dateTime [0..1] ?"
LastContributionDate="xs:dateTime [0..1]"/>
Schema Component Representation
<xs:complexType name="AgentRefType">
<xs:attribute name="ref" type="KeyValue" use="required"/>
<xs:attributeGroup ref="KeyrefAttrGroup"/>
<xs:attribute name="FirstContributionDate" type="xs:dateTime" use="optional"/>
<xs:attribute name="LastContributionDate" type="xs:dateTime" use="optional"/>
</xs:complexType>
top

Complex Type: ApplicationDataType

Super-types: None
Sub-types: None
Name ApplicationDataType
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.
XML Instance Representation
<...>
<Application
name="String255 [1] ?"
version="String255 [0..1] ?"> [1..*] ?
Allow any elements from any namespace (lax validation). [1..*]
</Application>
</...>
Schema Component Representation
<xs:complexType name="ApplicationDataType">
<xs:sequence>
<xs:element name="Application" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:any namespace="##any" processContents="lax" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="String255" use="required"/>
<xs:attribute name="version" type="String255" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
top

Complex Type: AudienceRefType

Super-types: None
Sub-types:
Name AudienceRefType
Documentation Base type; defines an element with a ref attribute pointing to Audience definitions (different data type from generic ref!)
XML Instance Representation
<...
audience="xs:Name [1]"/>
Schema Component Representation
<xs:complexType name="AudienceRefType">
<xs:attribute name="audience" type="xs:Name" use="required"/>
</xs:complexType>
top

Complex Type: AudiencesType

Super-types: None
Sub-types: None
Name AudiencesType
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]
XML Instance Representation
<...
defaultaudience="xs:Name [1] ?">
<Audience
audiencekey="xs:Name [1] ?"
lang="xs:language [1]"
ExpertiseLevel="ExpertiseLevelEnum [1] ?"> [1..*] ?
<LabelText> String255 </LabelText> [1] ?
<Description> StringN </Description> [0..1] ?
</Audience>
</...>
Schema Component Representation
<xs:complexType name="AudiencesType">
<xs:sequence>
<xs:element name="Audience" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="LabelText" type="String255"/>
<xs:element name="Description" type="StringN" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="audiencekey" type="xs:Name" use="required"/>
<xs:attribute name="lang" type="xs:language" use="required"/>
<xs:attribute name="ExpertiseLevel" type="ExpertiseLevelEnum" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="defaultaudience" type="xs:Name" use="required"/>
</xs:complexType>
top

Complex Type: CitationType

Super-types: None
Sub-types: None
Name CitationType
Documentation Combines a publication resource reference with a detail location within that reference (esp. page number)
XML Instance Representation
<...>
<Publication> PublicationRefType </Publication> [0..1] ?
<Location> String255 </Location> [0..1] ?
<__TaxonNameInSource> String255 </__TaxonNameInSource> [0..1] ?
</...>
Schema Component Representation
<xs:complexType name="CitationType">
<xs:sequence>
<xs:element name="Publication" type="PublicationRefType" minOccurs="0"/>
<xs:element name="Location" type="String255" minOccurs="0"/>
<xs:element name="__TaxonNameInSource" type="String255" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
top

Complex Type: CreatorsType

Super-types: None
Sub-types:
Name CreatorsType
Documentation Creators = authors, editors or contributors. At least one of Authors/Editors is required.
XML Instance Representation
<...>
Start Choice [1] ?
<Authors> AgentRefsType </Authors> [1] ?
<Editors> AgentRefsType </Editors> [0..1] ?
<Editors> AgentRefsType </Editors> [1] ?
End Choice
<Contributors> AgentRefsType </Contributors> [0..1] ?
<Translators> AgentRefsType </Translators> [0..1] ?
</...>
Schema Component Representation
<xs:complexType name="CreatorsType">
<xs:sequence>
<xs:choice>
<xs:sequence>
<xs:element name="Authors" type="AgentRefsType"/>
<xs:element name="Editors" type="AgentRefsType" minOccurs="0"/>
</xs:sequence>
<xs:element name="Editors" type="AgentRefsType"/>
</xs:choice>
<xs:element name="Contributors" type="AgentRefsType" minOccurs="0"/>
<xs:element name="Translators" type="AgentRefsType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
top

Complex Type: FormattedSimpleTextType

Super-types: None
Sub-types: None
Name FormattedSimpleTextType
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.).
XML Instance Representation
<...>
<!-- Mixed content -->
Start Choice [0..*] ?
<em> FormattedSimpleTextType </em> [1] ?
<strong> FormattedSimpleTextType </strong> [1] ?
<sub> FormattedSimpleTextType </sub> [1] ?
<sup> FormattedSimpleTextType </sup> [1] ?
<i> FormattedSimpleTextType </i> [1] ?
<br> ... </br> [1] ?
<ins
cite="xs:anyURI [0..1]"
datetime="xs:dateTime [0..1]"> [1]
<-- Extends: FormattedSimpleTextType (Circular type hierarchy) -->
</ins>
<del
cite="xs:anyURI [0..1]"
datetime="xs:dateTime [0..1]"> [1] ?
<-- Extends: FormattedSimpleTextType (Circular type hierarchy) -->
</del>
<taxon> StringN </taxon> [1] ?
<citationauthor> StringN </citationauthor> [1] ?
<taxonauthor> StringN </taxonauthor> [1] ?
End Choice
</...>
Schema Component Representation
<xs:complexType name="FormattedSimpleTextType" mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="em" type="FormattedSimpleTextType"/>
<xs:element name="strong" type="FormattedSimpleTextType"/>
<xs:element name="sub" type="FormattedSimpleTextType"/>
<xs:element name="sup" type="FormattedSimpleTextType"/>
<xs:element name="i" type="FormattedSimpleTextType"/>
<xs:element name="br"/>
<xs:element name="ins">
<xs:complexType>
<xs:complexContent>
<xs:extension base="FormattedSimpleTextType">
<xs:attribute name="cite" type="xs:anyURI" use="optional"/>
<xs:attribute name="datetime" type="xs:dateTime"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="del">
<xs:complexType>
<xs:complexContent>
<xs:extension base="FormattedSimpleTextType">
<xs:attribute name="cite" type="xs:anyURI" use="optional"/>
<xs:attribute name="datetime" type="xs:dateTime"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="taxon" type="StringN"/>
<xs:element name="citationauthor" type="StringN"/>
<xs:element name="taxonauthor" type="StringN"/>
</xs:choice>
</xs:complexType>
top

Complex Type: GenerationMetadataSectionType

Super-types: None
Sub-types: None
Name GenerationMetadataSectionType
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.
More information at: http://160.45.63.11/Projects/TDWG-SDD/docs/SDD_S1_GenerationMetadata.html.
XML Instance Representation
<...
GeneratorName="String255 [1] ?"
GeneratorVersion="String255 [1] ?"
GeneratorNotes="String255 [0..1] ?"
Routine="String255 [0..1] ?"
TransformingScripts="String255 [0..1] ?"
TimeStamp="xs:dateTime [1] ?"
TerminologyIsExcerpt="xs:boolean [0..1] ?"
DescriptionIsExcerpt="xs:boolean [0..1] ?"
UpdateQueryURI="xs:anyURI [0..1] ?"/>
Schema Component Representation
<xs:complexType name="GenerationMetadataSectionType">
<xs:attribute name="GeneratorName" type="String255" use="required"/>
<xs:attribute name="GeneratorVersion" type="String255" use="required"/>
<xs:attribute name="GeneratorNotes" type="String255" use="optional"/>
<xs:attribute name="Routine" type="String255" use="optional"/>
<xs:attribute name="TransformingScripts" type="String255" use="optional"/>
<xs:attribute name="TimeStamp" type="xs:dateTime" use="required"/>
<xs:attribute name="TerminologyIsExcerpt" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="DescriptionIsExcerpt" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="UpdateQueryURI" type="xs:anyURI" use="optional"/>
</xs:complexType>
top

Complex Type: LocalityConnectorType

Super-types: ResourceConnectorBaseType < LocalityConnectorType (by extension)
Sub-types: None
Name LocalityConnectorType
Documentation Used for resources like geographical names or places. Provides either a simple free-form text, or a connection to an external resource.
XML Instance Representation
<...
key="KeyValue [1]"
debugkey="xs:string [0..1] ?">
<ServiceProvider> String255 </ServiceProvider> [0..1] ?
<ExternalID> String255 </ExternalID> [0..1] ?
<FreeFormDescription> String255 </FreeFormDescription> [1] ?
<Annotation> StringN </Annotation> [0..1] ?
<ApplicationData> ApplicationDataType </ApplicationData> [0..1] ?
</...>
Schema Component Representation
<xs:complexType name="LocalityConnectorType">
<xs:complexContent>
<xs:extension base="ResourceConnectorBaseType"/>
</xs:complexContent>
</xs:complexType>
top

Complex Type: LocalityRefsType

Super-types: None
Sub-types: None
Name LocalityRefsType
Documentation A collection of LocalityRefType elements
XML Instance Representation
<...>
<Locality> LocalityRefType </Locality> [1..*] ?
</...>
Schema Component Representation
<xs:complexType name="LocalityRefsType">
<xs:sequence>
<xs:element name="Locality" type="LocalityRefType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
top

Complex Type: LocalityRefType

Super-types: None
Sub-types: None
Name LocalityRefType
Documentation Defines an element with a ref attribute pointing to a Locality in Resources (Resources/Geography/Locality)
XML Instance Representation
<...
ref="KeyValue [1]"
debugref="xs:string [0..1] ?"/>
Schema Component Representation
<xs:complexType name="LocalityRefType">
<xs:attribute name="ref" type="KeyValue" use="required"/>
<xs:attributeGroup ref="KeyrefAttrGroup"/>
</xs:complexType>
top

Complex Type: MediaResourceConnectorType

Super-types: ResourceConnectorBaseType < MediaResourceConnectorType (by extension)
Sub-types: None
Name MediaResourceConnectorType
Documentation Extends resource connector type with optional encoded data content (esp. images embedded in xml document) and with a Type (Image/Audio/Video, etc.).
XML Instance Representation
<...
key="KeyValue [1]"
debugkey="xs:string [0..1] ?">
<ServiceProvider> String255 </ServiceProvider> [0..1] ?
<ExternalID> String255 </ExternalID> [0..1] ?
<FreeFormDescription> String255 </FreeFormDescription> [1] ?
<Annotation> StringN </Annotation> [0..1] ?
<ApplicationData> ApplicationDataType </ApplicationData> [0..1] ?
Start Sequence [0..1]
<Type> MediaResourceTypeEnum </Type> [1] ?
<Caption> SimpleLabelType </Caption> [0..1] ?
<EncodedData> xs:base64Binary </EncodedData> [0..1] ?
End Sequence
</...>
Schema Component Representation
<xs:complexType name="MediaResourceConnectorType">
<xs:complexContent>
<xs:extension base="ResourceConnectorBaseType">
<xs:sequence minOccurs="0">
<xs:element name="Type" type="MediaResourceTypeEnum"/>
<xs:element name="Caption" type="SimpleLabelType" minOccurs="0"/>
<xs:element name="EncodedData" type="xs:base64Binary" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: MediaResourceRefsType

Super-types: None
Sub-types: None
Name MediaResourceRefsType
Documentation A collection of MediaResourceRef elements.
XML Instance Representation
<...>
<MediaResource> MediaResourceRefType </MediaResource> [1..*] ?
</...>
Schema Component Representation
<xs:complexType name="MediaResourceRefsType">
<xs:sequence>
<xs:element name="MediaResource" type="MediaResourceRefType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
top

Complex Type: MediaResourceRefType

Super-types: None
Sub-types: None
Name MediaResourceRefType
Documentation Defines an element with a ref attribute pointing to a MediaResource defined in Resources (Resources/MediaResources/MediaResource)
XML Instance Representation
<...
ref="KeyValue [1]"
debugref="xs:string [0..1] ?"/>
Schema Component Representation
<xs:complexType name="MediaResourceRefType">
<xs:attribute name="ref" type="KeyValue" use="required"/>
<xs:attributeGroup ref="KeyrefAttrGroup"/>
</xs:complexType>
top

Complex Type: ProjectDefinitionSectionType

Super-types: None
Sub-types: None
Name ProjectDefinitionSectionType
Documentation Required information defining the project itself.
XML Instance Representation
<...>
<GloballyUniqueName> xs:anyURI </GloballyUniqueName> [0..1] ?
<Version> [1] ?
<Major> xs:nonNegativeInteger </Major> [1] ?
<Minor> xs:nonNegativeInteger </Minor> [0..1] ?
<Increment> xs:nonNegativeInteger </Increment> [0..1] ?
<PublicationDate> xs:date </PublicationDate> [0..1] ?
</Version>
<RevisionData> RevisionDataType </RevisionData> [1] ?
<AudienceSpecificData> [1] ?
<Representation> ProjectDefRepresentationType </Representation> [1..*] ?
</AudienceSpecificData>
<Annotation> StringN </Annotation> [0..1] ?
<ApplicationData> ApplicationDataType </ApplicationData> [0..1] ?
<GeographicalScope> LocalityRefsType </GeographicalScope> [0..1] ?
<SourcePublication> PublicationRefType </SourcePublication> [0..1] ?
<WebAddress> xs:anyURI </WebAddress> [0..1] ?
<HistoryWebAddress> xs:anyURI </HistoryWebAddress> [0..1] ?
<Icon> MediaResourceRefType </Icon> [0..1] ?
<Audiences> AudiencesType </Audiences> [1] ?
<__LanguageRules> [0..1] ?
<LanguageRule
lang="xs:language [1]"
dir="xs:token (value comes from list: {'ltr'|'rtl'}) [0..1]"> [1..*] ?
<Annotation> StringN </Annotation> [0..1] ?
<ApplicationData> ApplicationDataType </ApplicationData> [0..1] ?
</LanguageRule>
</__LanguageRules>
</...>
Schema Component Representation
<xs:complexType name="ProjectDefinitionSectionType">
<xs:sequence>
<xs:element name="GloballyUniqueName" type="xs:anyURI" minOccurs="0"/>
<xs:element name="Version">
<xs:complexType>
<xs:sequence>
<xs:element name="Major" type="xs:nonNegativeInteger"/>
<xs:element name="Minor" type="xs:nonNegativeInteger" default="0" minOccurs="0"/>
<xs:element name="Increment" type="xs:nonNegativeInteger" default="0" minOccurs="0"/>
<xs:element name="PublicationDate" type="xs:date" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="RevisionData" type="RevisionDataType"/>
<xs:element name="AudienceSpecificData">
<xs:complexType>
<xs:sequence>
<xs:element name="Representation" type="ProjectDefRepresentationType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:group ref="AnnotationGroup"/>
<xs:element name="GeographicalScope" type="LocalityRefsType" minOccurs="0"/>
<xs:element name="SourcePublication" type="PublicationRefType" minOccurs="0"/>
<xs:element name="WebAddress" type="xs:anyURI" minOccurs="0"/>
<xs:element name="HistoryWebAddress" type="xs:anyURI" minOccurs="0"/>
<xs:element name="Icon" type="MediaResourceRefType" minOccurs="0"/>
<xs:element name="Audiences" type="AudiencesType"/>
<xs:element name="__LanguageRules" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="LanguageRule" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:group ref="AnnotationGroup"/>
</xs:sequence>
<xs:attribute name="lang" type="xs:language" use="required"/>
<xs:attribute name="dir" use="optional" default="ltr">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="ltr"/>
<xs:enumeration value="rtl"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
top

Complex Type: ProjectDefRepresentationType

Super-types: AudienceRefType < ProjectDefRepresentationType (by extension)
Sub-types: None
Name ProjectDefRepresentationType
Documentation Audience-specific project header information
XML Instance Representation
<...
audience="xs:Name [1]">
<Title> String255 </Title> [1] ?
<Description> FormattedSimpleTextType </Description> [0..1] ?
<Acknowledgement> FormattedSimpleTextType </Acknowledgement> [0..1] ?
<Disclaimer> FormattedSimpleTextType </Disclaimer> [0..1] ?
<Rights> [1] ?
<CopyrightStatement> String255 </CopyrightStatement> [1] ?
<CopyrightStatementLong> StringN </CopyrightStatementLong> [0..1] ?
<UsageConditions> StringN </UsageConditions> [0..1] ?
<License> String255 </License> [0..1] ?
</Rights>
<GeographicalCoverage> StringN </GeographicalCoverage> [0..1] ?
<TaxonomicCoverage> StringN </TaxonomicCoverage> [0..1] ?
</...>
Schema Component Representation
<xs:complexType name="ProjectDefRepresentationType">
<xs:complexContent>
<xs:extension base="AudienceRefType">
<xs:sequence>
<xs:element name="Title" type="String255"/>
<xs:element name="Description" type="FormattedSimpleTextType" minOccurs="0"/>
<xs:element name="Acknowledgement" type="FormattedSimpleTextType" minOccurs="0"/>
<xs:element name="Disclaimer" type="FormattedSimpleTextType" minOccurs="0"/>
<xs:element name="Rights">
<xs:complexType>
<xs:sequence>
<xs:element name="CopyrightStatement" type="String255"/>
<xs:element name="CopyrightStatementLong" type="StringN" minOccurs="0"/>
<xs:element name="UsageConditions" type="StringN" minOccurs="0"/>
<xs:element name="License" type="String255" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GeographicalCoverage" type="StringN" minOccurs="0"/>
<xs:element name="TaxonomicCoverage" type="StringN" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: PublicationConnectorType

Super-types: ResourceConnectorBaseType < PublicationConnectorType (by extension)
Sub-types: None
Name PublicationConnectorType
Documentation Used for resources like publications, laboratory notes, speeches, etc. Provides either a simple free-form text, or a connection to an external resource.
XML Instance Representation
<...
key="KeyValue [1]"
debugkey="xs:string [0..1] ?">
<ServiceProvider> String255 </ServiceProvider> [0..1] ?
<ExternalID> String255 </ExternalID> [0..1] ?
<FreeFormDescription> String255 </FreeFormDescription> [1] ?
<Annotation> StringN </Annotation> [0..1] ?
<ApplicationData> ApplicationDataType </ApplicationData> [0..1] ?
</...>
Schema Component Representation
<xs:complexType name="PublicationConnectorType">
<xs:complexContent>
<xs:extension base="ResourceConnectorBaseType"/>
</xs:complexContent>
</xs:complexType>
top

Complex Type: PublicationRefType

Super-types: None
Sub-types: None
Name PublicationRefType
Documentation Defines an element with a ref attribute pointing to a Publication in Resources (Resources/Publications/Publication)
XML Instance Representation
<...
ref="KeyValue [1]"
debugref="xs:string [0..1] ?"/>
Schema Component Representation
<xs:complexType name="PublicationRefType">
<xs:attribute name="ref" type="KeyValue" use="required"/>
<xs:attributeGroup ref="KeyrefAttrGroup"/>
</xs:complexType>
top

Complex Type: ResourceConnectorBaseType

Super-types: None
Sub-types:
Name ResourceConnectorBaseType
Abstract yes
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.
XML Instance Representation
<...
key="KeyValue [1]"
debugkey="xs:string [0..1] ?">
<ServiceProvider> String255 </ServiceProvider> [0..1] ?
<ExternalID> String255 </ExternalID> [0..1] ?
<FreeFormDescription> String255 </FreeFormDescription> [1] ?
<Annotation> StringN </Annotation> [0..1] ?
<ApplicationData> ApplicationDataType </ApplicationData> [0..1] ?
</...>
Schema Component Representation
<xs:complexType name="ResourceConnectorBaseType" abstract="true">
<xs:sequence>
<xs:element name="ServiceProvider" type="String255" minOccurs="0"/>
<xs:element name="ExternalID" type="String255" minOccurs="0"/>
<xs:element name="FreeFormDescription" type="String255"/>
<xs:group ref="AnnotationGroup"/>
</xs:sequence>
<xs:attributeGroup ref="KeyAttrGroup"/>
</xs:complexType>
top

Complex Type: ResourcesSectionType

Super-types: None
Sub-types: None
Name ResourcesSectionType
Documentation Global resource definitions containing URIs or actually embedded resources (e. g. encoded images).
XML Instance Representation
<...>
<Agents> [0..1] ?
<Agent> AgentConnectorType </Agent> [1..*] ?
</Agents>
<Publications> [0..1] ?
<Publication> PublicationConnectorType </Publication> [1..*] ?
</Publications>
<Geography> [0..1] ?
<Locality> LocalityConnectorType </Locality> [1..*] ?
</Geography>
<MediaResources> [0..1] ?
<MediaResource> MediaResourceConnectorType </MediaResource> [1..*] ?
</MediaResources>
</...>
Schema Component Representation
<xs:complexType name="ResourcesSectionType">
<xs:sequence>
<xs:element name="Agents" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Agent" type="AgentConnectorType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Publications" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Publication" type="PublicationConnectorType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Geography" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Locality" type="LocalityConnectorType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MediaResources" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="MediaResource" type="MediaResourceConnectorType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
top

Complex Type: RevisionDataType

Super-types: CreatorsType < RevisionDataType (by extension)
Sub-types: None
Name RevisionDataType
Documentation RevisionData (creators, dates, revision) for project, character, glossary entry, and description data.
XML Instance Representation
<...>
Start Choice [1] ?
<Authors> AgentRefsType </Authors> [1] ?
<Editors> AgentRefsType </Editors> [0..1] ?
<Editors> AgentRefsType </Editors> [1] ?
End Choice
<Contributors> AgentRefsType </Contributors> [0..1] ?
<Translators> AgentRefsType </Translators> [0..1] ?
<InitiationDate> xs:dateTime </InitiationDate> [1] ?
<LastRevisionDate> xs:dateTime </LastRevisionDate> [1] ?
<RevisionStatus> RevisionStatusEnum </RevisionStatus> [0..1] ?
</...>
Schema Component Representation
<xs:complexType name="RevisionDataType">
<xs:complexContent>
<xs:extension base="CreatorsType">
<xs:sequence>
<xs:element name="InitiationDate" type="xs:dateTime"/>
<xs:element name="LastRevisionDate" type="xs:dateTime"/>
<xs:element name="RevisionStatus" type="RevisionStatusEnum" default="Unrevised" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: SimpleLabelRepresentationType

Super-types: AudienceRefType < SimpleLabelRepresentationType (by extension)
Sub-types: None
Name SimpleLabelRepresentationType
Documentation Audience-specific label representations (without abbreviations or natural language reporting wordings); used e. g. for concept trees or modifier sets.
XML Instance Representation
<...
audience="xs:Name [1]">
<Text> FormattedSimpleTextType </Text> [1] ?
</...>
Schema Component Representation
<xs:complexType name="SimpleLabelRepresentationType">
<xs:complexContent>
<xs:extension base="AudienceRefType">
<xs:sequence>
<xs:element name="Text" type="FormattedSimpleTextType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: SimpleLabelType

Super-types: None
Sub-types: None
Name SimpleLabelType
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.
XML Instance Representation
<...>
<Representation> SimpleLabelRepresentationType </Representation> [1..*] ?
</...>
Schema Component Representation
<xs:complexType name="SimpleLabelType">
<xs:sequence>
<xs:element name="Representation" type="SimpleLabelRepresentationType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
top

Model Group: AnnotationGroup

Name AnnotationGroup
Documentation = reuse of Annotation and ApplicationData, i. e. designer and application 'annotations'
XML Instance Representation
<Annotation> StringN </Annotation> [0..1] ?
<ApplicationData> ApplicationDataType </ApplicationData> [0..1] ?
Schema Component Representation
<xs:group name="AnnotationGroup">
<xs:sequence>
<xs:element name="Annotation" type="StringN" minOccurs="0"/>
<xs:element name="ApplicationData" type="ApplicationDataType" minOccurs="0"/>
</xs:sequence>
</xs:group>
top

Simple Type: ExpertiseLevelEnum

Super-types: xs:byte < ExpertiseLevelEnum (by restriction)
Sub-types: None
Name ExpertiseLevelEnum
Content
  • Base XSD Type: byte
  • value comes from list: {'0'|'1'|'2'|'3'|'4'|'5'}
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)
Schema Component Representation
<xs:simpleType name="ExpertiseLevelEnum">
<xs:restriction base="xs:byte">
<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
<xs:enumeration value="5"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: KeyValue

Super-types: xs:nonNegativeInteger < KeyValue (by restriction)
Sub-types: None
Name KeyValue
Content
  • Base XSD Type: nonNegativeInteger
Documentation This allows to define (and redefine) the value type for keys and keyrefs (except for audience keys, which are xs:Name)
Schema Component Representation
<xs:simpleType name="KeyValue">
<xs:restriction base="xs:nonNegativeInteger"/>
</xs:simpleType>
top

Simple Type: MediaResourceTypeEnum

Super-types: xs:Name < MediaResourceTypeEnum (by restriction)
Sub-types: None
Name MediaResourceTypeEnum
Content
  • Base XSD Type: Name
  • value comes from list: {'Image'|'Audio'|'Video'|'FormattedDocument'|'__Other'}
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.
Schema Component Representation
<xs:simpleType name="MediaResourceTypeEnum">
<xs:restriction base="xs:Name">
<xs:enumeration value="Image"/>
<xs:enumeration value="Audio"/>
<xs:enumeration value="Video"/>
<xs:enumeration value="FormattedDocument"/>
<xs:enumeration value="__Other"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: RevisionStatusEnum

Super-types: xs:Name < RevisionStatusEnum (by restriction)
Sub-types: None
Name RevisionStatusEnum
Content
  • Base XSD Type: Name
  • value comes from list: {'Unrevised'|'RevisionLevel1'|'RevisionLevel2'|'RevisionLevel3'|'RevisionLevel4'|'RevisionLevel5'|'FullyRevised'}
Documentation RevisionStatus is applied to the project as a whole as well as to individual descriptions.
Schema Component Representation
<xs:simpleType name="RevisionStatusEnum">
<xs:restriction base="xs:Name">
<xs:enumeration value="Unrevised"/>
<xs:enumeration value="RevisionLevel1"/>
<xs:enumeration value="RevisionLevel2"/>
<xs:enumeration value="RevisionLevel3"/>
<xs:enumeration value="RevisionLevel4"/>
<xs:enumeration value="RevisionLevel5"/>
<xs:enumeration value="FullyRevised"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: String255

Super-types: xs:normalizedString < String255 (by restriction)
Sub-types: None
Name String255
Content
  • Base XSD Type: normalizedString
  • length >= 1
  • Whitespace policy: collapse
Documentation normalized string restricted to 1..255 character length (i. e. required, may not be empty string)
Schema Component Representation
<xs:simpleType name="String255">
<xs:restriction base="xs:normalizedString">
<xs:minLength value="1" fixed="true"/>
<xs:maxLength value="255" fixed="true"/>
<xs:whiteSpace value="collapse" fixed="false"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: StringN

Super-types: xs:normalizedString < StringN (by restriction)
Sub-types: None
Name StringN
Content
  • Base XSD Type: normalizedString
  • length >= 1
  • Whitespace policy: collapse
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)
Schema Component Representation
<xs:simpleType name="StringN">
<xs:restriction base="xs:normalizedString">
<xs:minLength value="1" fixed="false"/>
<xs:whiteSpace value="collapse" fixed="false"/>
</xs:restriction>
</xs:simpleType>
top

Glossary

Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.

All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.

Choice Model Group Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice.

Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.

Key Constraint Like Uniqueness Constraint, but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.

Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.

Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.

Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.

Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).

Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.

Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.

Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.

Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.

Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

top