elementNames.xsd
elementNames.xsd — XML document, 24 kB (25558 bytes)
Contenu du fichier
<xs:schema targetNamespace="http://ltsc.ieee.org/xsd/LOM" xmlns="http://ltsc.ieee.org/xsd/LOM" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="LOMFR NF Z 76-040 12/2006"> <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> ***************************************************************************** ** ** ** NOTE THIS CHANGE HISTORY IS USED TO DOCUMENT CHANGES TO THE XML SCHEMA ** ** DEFINITION DURING THE BALLOTING PROCESS. THIS CHANGE HISTORY WILL BE ** ** REMOVED ONCE THE FINAL VERSION OF THE STANDARD IS PUBLISHED. A NEW ** ** CHANGE HISTORY WILL BE INCLUDED TO INDICATE THE INITIAL RELEASE THAT ** ** MAPS TO THE FINAL STANDARD. ** ** ** ***************************************************************************** ** CHANGE HISTORY ** ***************************************************************************** ** 08/24/2004: 1) Updated those complexTypes that referenced exteding the ** ** LangString complexType to map to the new name for that ** ** complexType - LanguageString: ** ** 1.4 Description ** ** 5.10 Description ** ** 2)Updated the Creative Commons Licensing agreement to ** ** reference the Attribution-ShareAlike 2.0 ** ** 3)Updated annotation describing file to include language ** ** updates found in Draft 2 Working Draft 2 ** ** ** ** 09/27/2004 1)Updated file documentation to correspond with working ** ** draft 3. ** ** 2)Updated "language" elements to remove reference to ** ** types that were removed (e.g, languageIdOrNone). ** ***************************************************************************** </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>