You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

783 lines
23 KiB

<xs:schema targetNamespace="http://ltsc.ieee.org/xsd/imscc/LOM"
xmlns="http://ltsc.ieee.org/xsd/imscc/LOM"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
version="IEEE LTSC LOM XML 1.0">
<xs:annotation>
<xs:documentation>
This work is licensed under the Creative Commons Attribution-ShareAlike
License. To view a copy of this license, see the file license.txt,
visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to
Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
</xs:documentation>
<xs:documentation>
This component schema defintion defines global element declarations for
each of the data elements defined in the LOMv1.0 base schema. This component
schema definition is used to check for the uniqueness of elements declared
to be unique within their parent elements by the presence of the
"uniqueElementName" attribute. The XML Schema constraint "unique" is used
to enforce uniqueness constraints.
Duplicate declarations are included as comments for completeness. These
declarations should remain commented out or they can be removed completely.
</xs:documentation>
<xs:documentation>
This file has been modified by the Knowledge Media Institute of the
University Koblenz-Landau (http://iwm.uni-koblenz.de). It contains the
following changes:
1) Instead of "unique/strict.xsd" the schema "unique/loose.xsd" is imported
because this reflects what is said in 1484.12.3-2005, page 35 (section C.1.3)
2) In all component XSDs the schemaLocation attribute was amended to the
xs:import and xs:include statements. This enables the usage of the schemas
with tools which don't deal well with missing schemaLocation informations.
This file is available at "http://iwm.uni-koblenz.de/xsd/IEEE-LOM/loose"
</xs:documentation>
</xs:annotation>
<!-- Element declarations -->
<!-- Duplicate declarations are included as comments. -->
<!-- 1 General -->
<xs:group name="general">
<xs:sequence>
<xs:element name="general" type="general">
<xs:unique name="generalUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 1.1 Identifier -->
<xs:group name="identifier">
<xs:sequence>
<xs:element name="identifier" type="identifier">
<xs:unique name="identifierUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 1.1.1 Catalog -->
<xs:group name="catalog">
<xs:sequence>
<xs:element name="catalog" type="catalog"/>
</xs:sequence>
</xs:group>
<!-- 1.1.2 Entry -->
<xs:group name="entry">
<xs:sequence>
<xs:element name="entry" type="entry"/>
</xs:sequence>
</xs:group>
<!-- 1.2 Title -->
<xs:group name="title">
<xs:sequence>
<xs:element name="title" type="title"/>
</xs:sequence>
</xs:group>
<!-- 1.3 Language-->
<xs:group name="language">
<xs:sequence>
<xs:element name="language" type="LanguageId"/>
</xs:sequence>
</xs:group>
<!-- 1.4 Description -->
<xs:group name="descriptionUnbounded">
<xs:sequence>
<xs:element name="description" type="LanguageString"/>
</xs:sequence>
</xs:group>
<!-- 1.5 Keyword -->
<xs:group name="keyword">
<xs:sequence>
<xs:element name="keyword" type="keyword"/>
</xs:sequence>
</xs:group>
<!-- 1.6 Coverage -->
<xs:group name="coverage">
<xs:sequence>
<xs:element name="coverage" type="coverage"/>
</xs:sequence>
</xs:group>
<!-- 1.7 Structure -->
<xs:group name="structure">
<xs:sequence>
<xs:element name="structure" type="structure">
<xs:unique name="structureUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 1.8 Aggregation Level -->
<xs:group name="aggregationLevel">
<xs:sequence>
<xs:element name="aggregationLevel" type="aggregationLevel">
<xs:unique name="aggregationLevelUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 2 Life Cycle -->
<xs:group name="lifeCycle">
<xs:sequence>
<xs:element name="lifeCycle" type="lifeCycle">
<xs:unique name="lifeCycleUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 2.1 Version -->
<xs:group name="version">
<xs:sequence>
<xs:element name="version" type="version"/>
</xs:sequence>
</xs:group>
<!-- 2.2 Status -->
<xs:group name="status">
<xs:sequence>
<xs:element name="status" type="status">
<xs:unique name="statusUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 2.3 Contribute -->
<xs:group name="contribute">
<xs:sequence>
<xs:element name="contribute" type="contribute">
<xs:unique name="contributeUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 2.3.1 Role -->
<xs:group name="role">
<xs:sequence>
<xs:element name="role" type="role">
<xs:unique name="roleUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 2.3.2 Entity -->
<xs:group name="entityUnbounded">
<xs:sequence>
<xs:element name="entity" type="VCard"/>
</xs:sequence>
</xs:group>
<!-- 2.3.3 Date -->
<xs:group name="date">
<xs:sequence>
<xs:element name="date" type="date">
<xs:unique name="dateUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 3 Meta-Metadata -->
<xs:group name="metaMetadata">
<xs:sequence>
<xs:element name="metaMetadata" type="metaMetadata">
<xs:unique name="metaMetadataUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 3.1 Identifier
<xs:group name="identifier">
<xs:sequence>
<xs:element name="identifier" type="identifier">
<xs:unique name="identifierUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group> -->
<!-- 3.1.1 Catalog
<xs:group name="catalog">
<xs:sequence>
<xs:element name="catalog" type="catalog"/>
</xs:sequence>
</xs:group> -->
<!-- 3.1.2 Entry
<xs:group name="entry">
<xs:sequence>
<xs:element name="entry" type="entry"/>
</xs:sequence>
</xs:group> -->
<!-- 3.2 Contribute -->
<xs:group name="contributeMeta">
<xs:sequence>
<xs:element name="contribute" type="contributeMeta">
<xs:unique name="contributeMetaUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 3.2.1 Role -->
<xs:group name="roleMeta">
<xs:sequence>
<xs:element name="role" type="roleMeta">
<xs:unique name="roleMetaUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 3.2.2 Entity
<xs:group name="entityUnbounded">
<xs:sequence>
<xs:element name="entity" type="VCard"/>
</xs:sequence>
</xs:group> -->
<!-- 3.2.3 Date
<xs:group name="date">
<xs:sequence>
<xs:element name="date" type="date">
<xs:unique name="dateUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group> -->
<!-- 3.3 Metadata Schema -->
<xs:group name="metadataSchema">
<xs:sequence>
<xs:element name="metadataSchema" type="metadataSchema"/>
</xs:sequence>
</xs:group>
<!-- 3.4 Language
<xs:group name="language">
<xs:sequence>
<xs:element name="language" type="LanguageId"/>
</xs:sequence>
</xs:group> -->
<!-- 4 Technical -->
<xs:group name="technical">
<xs:sequence>
<xs:element name="technical" type="technical">
<xs:unique name="technicalUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 4.1 Format -->
<xs:group name="format">
<xs:sequence>
<xs:element name="format" type="format"/>
</xs:sequence>
</xs:group>
<!-- 4.2 Size -->
<xs:group name="size">
<xs:sequence>
<xs:element name="size" type="size"/>
</xs:sequence>
</xs:group>
<!-- 4.3 Location -->
<xs:group name="location">
<xs:sequence>
<xs:element name="location" type="location"/>
</xs:sequence>
</xs:group>
<!-- 4.4 Requirement -->
<xs:group name="requirement">
<xs:sequence>
<xs:element name="requirement" type="requirement"/>
</xs:sequence>
</xs:group>
<!-- 4.4.1 OrComposite -->
<xs:group name="orComposite">
<xs:sequence>
<xs:element name="orComposite" type="orComposite">
<xs:unique name="orCompositeUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 4.4.1.1 Type -->
<xs:group name="type">
<xs:sequence>
<xs:element name="type" type="type">
<xs:unique name="typeUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 4.4.1.2 Name -->
<xs:group name="name">
<xs:sequence>
<xs:element name="name" type="name">
<xs:unique name="nameUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 4.4.1.3 Minimum Version -->
<xs:group name="minimumVersion">
<xs:sequence>
<xs:element name="minimumVersion" type="minimumVersion"/>
</xs:sequence>
</xs:group>
<!-- 4.4.1.4 Maximum Version -->
<xs:group name="maximumVersion">
<xs:sequence>
<xs:element name="maximumVersion" type="maximumVersion"/>
</xs:sequence>
</xs:group>
<!-- 4.5 Installation Remarks -->
<xs:group name="installationRemarks">
<xs:sequence>
<xs:element name="installationRemarks" type="installationRemarks"/>
</xs:sequence>
</xs:group>
<!-- 4.6 Other Platform Requirements -->
<xs:group name="otherPlatformRequirements">
<xs:sequence>
<xs:element name="otherPlatformRequirements" type="otherPlatformRequirements"/>
</xs:sequence>
</xs:group>
<!-- 4.7 Duration -->
<xs:group name="duration">
<xs:sequence>
<xs:element name="duration" type="duration">
<xs:unique name="durationUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 5 Educational -->
<xs:group name="educational">
<xs:sequence>
<xs:element name="educational" type="educational">
<xs:unique name="educationalUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 5.1 Interactivity Type -->
<xs:group name="interactivityType">
<xs:sequence>
<xs:element name="interactivityType" type="interactivityType">
<xs:unique name="interactivityTypeUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 5.2 Learning Resource Type -->
<xs:group name="learningResourceType">
<xs:sequence>
<xs:element name="learningResourceType" type="learningResourceType">
<xs:unique name="learningResourceTypeUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 5.3 Interactivity Level -->
<xs:group name="interactivityLevel">
<xs:sequence>
<xs:element name="interactivityLevel" type="interactivityLevel">
<xs:unique name="interactivityLevelUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 5.4 Semantic Density -->
<xs:group name="semanticDensity">
<xs:sequence>
<xs:element name="semanticDensity" type="semanticDensity">
<xs:unique name="semanticDensityUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 5.5 Intended End User Role -->
<xs:group name="intendedEndUserRole">
<xs:sequence>
<xs:element name="intendedEndUserRole" type="intendedEndUserRole">
<xs:unique name="intendedEndUserRoleUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 5.6 Context -->
<xs:group name="context">
<xs:sequence>
<xs:element name="context" type="context">
<xs:unique name="contextUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 5.7 Typical Age Range -->
<xs:group name="typicalAgeRange">
<xs:sequence>
<xs:element name="typicalAgeRange" type="typicalAgeRange"/>
</xs:sequence>
</xs:group>
<!-- 5.8 Difficulty -->
<xs:group name="difficulty">
<xs:sequence>
<xs:element name="difficulty" type="difficulty">
<xs:unique name="difficultyUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 5.9 Typical Learning Time -->
<xs:group name="typicalLearningTime">
<xs:sequence>
<xs:element name="typicalLearningTime" type="typicalLearningTime">
<xs:unique name="typicalLearningTimeUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 5.10 Description
<xs:group name="descriptionUnbounded">
<xs:sequence>
<xs:element name="description" type="LanguageString"/>
</xs:sequence>
</xs:group> -->
<!-- 5.11 Language
<xs:group name="language">
<xs:sequence>
<xs:element name="language" type="LanguageId"/>
</xs:sequence>
</xs:group>-->
<!-- 6 Rights -->
<xs:group name="rights">
<xs:sequence>
<xs:element name="rights" type="rights">
<xs:unique name="rightsUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 6.1 Cost -->
<xs:group name="cost">
<xs:sequence>
<xs:element name="cost" type="cost">
<xs:unique name="costUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 6.2 Copyright and Other Restrictions -->
<xs:group name="copyrightAndOtherRestrictions">
<xs:sequence>
<xs:element name="copyrightAndOtherRestrictions" type="copyrightAndOtherRestrictions">
<xs:unique name="copyrightAndOtherRestrictionsUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 6.3 Description -->
<xs:group name="description">
<xs:sequence>
<xs:element name="description" type="description"/>
</xs:sequence>
</xs:group>
<!-- 7 Relation -->
<xs:group name="relation">
<xs:sequence>
<xs:element name="relation" type="relation">
<xs:unique name="relationUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 7.1 Kind -->
<xs:group name="kind">
<xs:sequence>
<xs:element name="kind" type="kind">
<xs:unique name="kindUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 7.2 Resource -->
<xs:group name="resource">
<xs:sequence>
<xs:element name="resource" type="resource"/>
</xs:sequence>
</xs:group>
<!-- 7.2.1 Identifier
<xs:group name="identifier">
<xs:sequence>
<xs:element name="identifier" type="identifier">
<xs:unique name="identifierUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group> -->
<!-- 7.2.1.1 Catalog
<xs:group name="catalog">
<xs:sequence>
<xs:element name="catalog" type="catalog"/>
</xs:sequence>
</xs:group> -->
<!-- 7.2.1.2 Entry
<xs:group name="entry">
<xs:sequence>
<xs:element name="entry" type="entry"/>
</xs:sequence>
</xs:group> -->
<!-- 7.2.2 Description
<xs:group name="description">
<xs:sequence>
<xs:element name="description" type="description"/>
</xs:sequence>
</xs:group> -->
<!-- 8 Annotation -->
<xs:group name="annotation">
<xs:sequence>
<xs:element name="annotation" type="annotation">
<xs:unique name="annotationUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 8.1 Entity -->
<xs:group name="entity">
<xs:sequence>
<xs:element name="entity" type="entity"/>
</xs:sequence>
</xs:group>
<!-- 8.2 Date
<xs:group name="date">
<xs:sequence>
<xs:element name="date" type="date">
<xs:unique name="dateUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group> -->
<!-- 8.3 Description
<xs:group name="description">
<xs:sequence>
<xs:element name="description" type="description"/>
</xs:sequence>
</xs:group> -->
<!-- 9 Classification -->
<xs:group name="classification">
<xs:sequence>
<xs:element name="classification" type="classification">
<xs:unique name="classificationUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 9.1 Purpose -->
<xs:group name="purpose">
<xs:sequence>
<xs:element name="purpose" type="purpose">
<xs:unique name="purposeUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 9.2 Taxon Path -->
<xs:group name="taxonPath">
<xs:sequence>
<xs:element name="taxonPath" type="taxonPath">
<xs:unique name="taxonPathUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 9.2.1 Source -->
<xs:group name="source">
<xs:sequence>
<xs:element name="source" type="source"/>
</xs:sequence>
</xs:group>
<!-- 9.2.2 Taxon -->
<xs:group name="taxon">
<xs:sequence>
<xs:element name="taxon" type="taxon">
<xs:unique name="taxonUnique">
<xs:selector xpath="*"/>
<xs:field xpath="@uniqueElementName"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:group>
<!-- 9.2.2.1 Id -->
<xs:group name="id">
<xs:sequence>
<xs:element name="id" type="id"/>
</xs:sequence>
</xs:group>
<!-- 9.2.2.2 Entry -->
<xs:group name="entryTaxon">
<xs:sequence>
<xs:element name="entry" type="entryTaxon"/>
</xs:sequence>
</xs:group>
<!-- 9.3 Description
<xs:group name="description">
<xs:sequence>
<xs:element name="description" type="description"/>
</xs:sequence>
</xs:group> -->
<!-- 9.4 Keyword
<xs:group name="keyword">
<xs:sequence>
<xs:element name="keyword" type="keyword"/>
</xs:sequence>
</xs:group> -->
</xs:schema>