[This local archive copy mirrored from the canonical site: http://www.manta.ieee.org/p1484/xml/dtdAttrib.htm; links may not have complete integrity, so use the canonical document at this URL if possible.]
<?xml version="1.0" encoding='UTF-8'?> <!-- ************** Experimental DTD for LTSC Metadata *************** Initial Draft: July 20, 1998 Author: Tyde Richards trichards@macromedia.com Comments: This is an XML DTD for the v2.1 Learning Object Metadata (LOM) draft under development in the IEEE Learning Technology Standards Committee (LTSC). It models the data type, obligation and list(occurrence) properties defined in the specificaiton with the following attributes. 1) DType to model data type; 2) List to model occurrence; 3) Obligation to model obligation. --> <!-- ************* Declarations to Support LTSC Data Types ************** NOTATION declarations are used to make known the LOM data types. The URL is a hypothetical reference to somewhere on the IEEE LTSC site where these data types are defined. --> <!NOTATION DBoolean SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DBoolean.html"> <!NOTATION DCoverage SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DCoverage.html"> <!NOTATION DDate SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DDate.html"> <!NOTATION DDecimal SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DDecimal.html"> <!NOTATION DEntry SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DEntry.html"> <!NOTATION DFormat SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DFormat.html"> <!NOTATION DIdentifier SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DIdentifier.html"> <!NOTATION DInteger SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DInteger.html"> <!NOTATION DLangString SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DLangString.html"> <!NOTATION DLocSpec SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DLocSpec.html"> <!NOTATION DLocale SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DLocale.html"> <!NOTATION DOrganization SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DOrganization.html"> <!NOTATION DPerson SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DPerson.html"> <!NOTATION DSource SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DSource.html"> <!NOTATION DSourceString SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DSourceString.html"> <!NOTATION DTimespan SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DTimespan.html"> <!NOTATION DVocabulary SYSTEM "http://www.x3.ieee.org/somewhere/LOM/DVocabulary.html"> <!-- ********** Parameter entities to simplify DType attribute authoring ********* --> <!ENTITY % DBoolean 'DType NOTATION (DBoolean) #FIXED "DBoolean"'> <!ENTITY % DCoverage 'DType NOTATION (DCoverage) #FIXED "DCoverage"'> <!ENTITY % DDate 'DType NOTATION (DDate) #FIXED "DDate"'> <!ENTITY % DDecimal 'DType NOTATION (DDecimal) #FIXED "DDecimal"'> <!ENTITY % DEntry 'DType NOTATION (DEntry) #FIXED "DEntry"'> <!ENTITY % DFormat 'DType NOTATION (DFormat) #FIXED "DFormat"'> <!ENTITY % DIdentifier 'DType NOTATION (DIdentifier) #FIXED "DIdentifier"'> <!ENTITY % DInteger 'DType NOTATION (DInteger) #FIXED "DInteger"'> <!ENTITY % DLangString 'DType NOTATION (DLangString) #FIXED "DLangString"'> <!ENTITY % DLocSpec 'DType NOTATION (DLocSpec) #FIXED "DLocSpec"'> <!ENTITY % DLocale 'DType NOTATION (DLocale) #FIXED "DLocale"'> <!ENTITY % DOrganization 'DType NOTATION (DOrganization) #FIXED "DOrganization"'> <!ENTITY % DPerson 'DType NOTATION (DPerson) #FIXED "DPerson"'> <!ENTITY % DSource 'DType NOTATION (DSource) #FIXED "DSource"'> <!ENTITY % DSourceString 'DType NOTATION (DSourceString) #FIXED "DSourceString"'> <!ENTITY % DTimespan 'DType NOTATION (DTimespan) #FIXED "DTimespan"'> <!ENTITY % DVocabulary 'DType NOTATION (DVocabulary) #FIXED "DVocabulary"'> <!-- ********** Parameter entities to simplify Obligation attribute authoring ********* --> <!ENTITY % OMandatory 'Obligation (OMandatory|OOptional|OConditional|ONotAllowed) #FIXED "OMandatory"'> <!ENTITY % OOptional 'Obligation (OMandatory|OOptional|OConditional|ONotAllowed) #FIXED "OOptional"'> <!ENTITY % OConditional 'Obligation (OMandatory|OOptional|OConditional|ONotAllowed) #FIXED "OConditional"'> <!ENTITY % ONotAllowed 'Obligation (OMandatory|OOptional|OConditional|ONotAllowed) #FIXED "ONotAllowed"'> <!ENTITY % ORequired 'Obligation (OMandatory|OOptional|OConditional|ONotAllowed) #REQUIRED'> <!-- ********** Parameter entities to simplify List attribute authoring ********* --> <!ENTITY % LSingle 'List (LSingle|LOrdered|LUnordered) #FIXED "LSingle"'> <!ENTITY % LOrdered 'List (LSingle|LOrdered|LUnordered) #FIXED "LOrdered"'> <!ENTITY % LUnordered 'List (LSingle|LOrdered|LUnordered) #FIXED "LUnordered"'> <!ENTITY % LRequired 'List (LSingle|LOrdered|LUnordered) #REQUIRED'> <!-- ******************** Common Element Types ********************* The following element types occur in multiple contexts within the metadata structure. They often have different obligation and occurence values depending on context. They are declared once because contextual differences can be represented by attribute values. The exception is the "Create" data element. It this case, contextual usage differences have to do with the the element types it can contain and not merely differences in attribute values. Create has been split into two element types: LifeCycle.Create named LCCreate Meta-metadata.Create named MMCreate --> <!-- Date used in: LifeCycle.Create.Date (LSingle, OMandatory) LifeCycle.Publish.Date (LSingle, OOptional) LifeCycle.Terminate.Date (LSingle, OOptional) Meta-metadata.Create.Date (LSingle, OMandatory) Meta-metadata.Validate.Date (LUnordered, OOptional) Annotation.Date (LSingle, OMandatory) --> <!ELEMENT Date (#PCDATA)> <!ATTLIST Date %DDate; %LRequired; %ORequired;> <!-- Description used in: Characteristics.Description (LUnordered, OOptional) Characteristics.Discipline.Description (LUnordered, OOptional) EducationalUseDependent.Description (LUnordered, OOptional) EducationalUseDependent.Prerequisite.Description (LUnodered, OMandatory) RightsManagement.Description (LUnordered, OOptional) Relation.Resource.Description (LUordered, OOptional) Annotation.Description (LUnordered, OMandatory) --> <!ELEMENT Description (#PCDATA)> <!ATTLIST Description %DLangString; %LUnordered; %ORequired;> <!-- Duration used in: Technical.Duration (LSingle, OOptional) EducationalUseDependent.Duration (LSingle, OOptional) --> <!ELEMENT Duration (#PCDATA)> <!ATTLIST Duration %DTimespan; %LSingle; %OOptional;> <!-- Identifier used in: General.Identifier (LSingle, OMandatory) EducationalUseDependent.Prerequisite.Identifier (LSingle, OOptional) EducationalUseDependent.EducationalObjective.Identifier (LSingle, OOptional) Relation.Resource.Identifier (LSingle, OOptional) --> <!ELEMENT Identifier (#PCDATA)> <!ATTLIST Identifier %DIdentifier; %LSingle; %ORequired;> <!-- Organization used in: LifeCycle.Publish.Organization (LSingle, OOptional) LifeCycle.InitiatedBy.Organization (LSingle, OOptional) Meta-metadata.Create.Organization (LSingle, OMandatory) Meta-metadata.Validate.Organization (LSingle, OOptional) --> <!ELEMENT Organization (#PCDATA)> <!ATTLIST Organization %DOrganization; %LSingle; %ORequired;> <!-- Person used in: LifeCycle.Create.Contribute.Person (LOrdered, OMandatory) LifeCycle.InitiatedBy.Person (LSingle, OOptional) Meta-metadata.Create.Person (LUnordered, OMandatory) Meta-metadata.Validate.Person (LUnordered, OOptional) Annotation.Person (LSingle, OMandatory) --> <!ELEMENT Person (#PCDATA)> <!ATTLIST Person %DPerson; %LRequired; %ORequired;> <!-- Role used in: LifeCycle.Create.Contribute.Role (LSingle, OMandatory) EducationalUseDependent.Role (LSingle, OConditional) RightsManagement.Role (LSingle, OMandatory) --> <!ELEMENT Role (#PCDATA)> <!ATTLIST Role %DVocabulary; %LSingle; %ORequired;> <!-- Source used in: Characteristics.TaxonPath.Source (LSingle, OMandatory) EducationalUseDependent.Prerequisite.Source (LSingle, OOptional) EducationalUseDependent.EducationalObjective.Source (LSingle, OOptional) --> <!ELEMENT Source (#PCDATA)> <!ATTLIST Source %DSource; %LSingle; %ORequired;> <!-- ***************** LTSCMetadata Document Type ******************* This is the top level container for the document. It contains element types representing the categories into which LTSC metadata is divided --> <!ELEMENT LTSCMetadata (General, Characteristics, LifeCycle, Meta-metadata, Technical, EducationalUseDependent*, RightsManagement+, Relation*, Annotation*)> <!-- ***************** General Category Element Types ****************** --> <!ELEMENT General (Identifier, Title+, CatalogEntry*)> <!ELEMENT Title (#PCDATA)> <!ATTLIST Title %DLangString; %LSingle; %OMandatory;> <!ELEMENT CatalogEntry (#PCDATA)> <!ATTLIST CatalogEntry %DSourceString; %LUnordered; %OMandatory;> <!-- *************** Characteristics Category Element Types **************** --> <!ELEMENT Characteristics (Language+, Description*, Discipline+, Coverage*, Concept*, Type+, Approach*, Granularity?, Structure?, InteractionQuality?, SemanticDensity?)> <!ELEMENT Language (#PCDATA)> <!ATTLIST Language %DLocale; %LUnordered; %OMandatory;> <!ELEMENT Discipline (TaxonPath+, Description*, Keywords*)> <!ATTLIST Discipline %LOrdered; %OMandatory;> <!ELEMENT TaxonPath (Source, Taxon+)> <!ATTLIST TaxonPath %LUnordered; %OMandatory;> <!ELEMENT Taxon (#PCDATA)> <!ATTLIST Taxon %DEntry; %LOrdered; %OMandatory;> <!ELEMENT Keywords (#PCDATA)> <!ATTLIST Keywords %DLangString; %LOrdered; %OOptional;> <!ELEMENT Coverage (#PCDATA)> <!ATTLIST Coverage %DCoverage; %LUnordered; %OOptional;> <!-- Data type for concept not clear in draft, DLangString assumed --> <!ELEMENT Concept (#PCDATA)> <!ATTLIST Concept %DLangString; %LOrdered; %OOptional;> <!ELEMENT Type (#PCDATA)> <!ATTLIST Type %DVocabulary; %LOrdered; %OMandatory;> <!ELEMENT Approach (#PCDATA)> <!ATTLIST Approach %DVocabulary; %LOrdered; %OOptional;> <!ELEMENT Granularity (#PCDATA)> <!ATTLIST Granularity %DVocabulary; %LSingle; %OOptional;> <!ELEMENT Structure (#PCDATA)> <!ATTLIST Strucuture %DVocabulary; %LSingle; %OOptional;> <!ELEMENT InteractionQuality (#PCDATA)> <!ATTLIST InteractionQuality %DVocabulary; %LSingle; %OOptional;> <!ELEMENT SemanticDensity (#PCDATA)> <!ATTLIST SemanticDensity %DSourceString; %LSingle; %OOptional;> <!-- ***************** LifeCycle Category Element Types ****************** --> <!ELEMENT LifeCycle (Version?, Status?, LCCreate+, Publish*, Terminate?, InitiatedBy?)> <!ELEMENT Version (#PCDATA)> <!ATTLIST Version %DDecimal; %LSingle; %OOptional;> <!ELEMENT Status (#PCDATA)> <!ATTLIST Status %DVocabulary; %LSingle; %OOptional;> <!ELEMENT LCCreate (Date, Contribute+)> <!ATTLIST LCCreate %LUnordered; %OMandatory;> <!ELEMENT Contribute (Role, Person+)> <!ATTLIST Contribute %LUnordered; %OMandatory;> <!ELEMENT Publish (Organization?, Date?)> <!ATTLIST Publish %LUnordered; %OOptional;> <!ELEMENT Terminate (Date?)> <!ATTLIST Terminate %LSingle; %OOptional;> <!ELEMENT InitiatedBy (Person?, Organization?)> <!ATTLIST InitiatedBy %LSingle; %OOptional;> <!-- **************** Meta-metadata Category Element Types ***************** --> <!ELEMENT Meta-metadata (MMCreate+, Scheme, Validate*)> <!ELEMENT MMCreate (Date, Person+, Organization)> <!ATTLIST MMCreate %LOrdered; %OMandatory;> <!ELEMENT Scheme (#PCDATA)> <!ATTLIST Scheme %DVocabulary; %LSingle; %OMandatory;> <!ELEMENT Validate (Date?, Person*, Organization?)> <!ATTLIST Validate %LUnordered; %OOptional;> <!-- ***************** Technical Category Element Types ****************** --> <!ELEMENT Technical (Format, Size?, LocSpec+, OSRequirements, OtherPlatformRequirements*, InstallationRemarks*, Duration?)> <!ELEMENT Format (#PCDATA)> <!ATTLIST Format %DFormat; %LSingle; %OMandatory;> <!ELEMENT Size (#PCDATA)> <!ATTLIST Size %DInteger; %LSingle; %OOptional;> <!ELEMENT LocSpec (#PCDATA)> <!ATTLIST LocSpec %DLocSpec; %LOrdered; %OMandatory;> <!ELEMENT OSRequirements (OperatingSystem+, MinimumVersion?, MaximumVersion?)> <!ATTLIST OSRequirements %LSingle; %OMandatory;> <!ELEMENT OperatingSystem (#PCDATA)> <!ATTLIST OperatingSystem %DVocabulary; %LUnordered; %OMandatory;> <!ELEMENT MinimumVersion (#PCDATA)> <!ATTLIST MinimumVersion %DDecimal; %LSingle; %OOptional;> <!ELEMENT MaximumVersion (#PCDATA)> <!ATTLIST MaximumVersion %DDecimal; %LSingle; %OOptional;> <!ELEMENT OtherPlatformRequirements (#PCDATA)> <!ATTLIST OtherPlatformRequirements %DLangString; %LUnordered; %OOptional;> <!ELEMENT InstallationRemarks (#PCDATA)> <!ATTLIST InstallationRemarks %DLangString; %LUnordered; %OOptional;> <!-- ************ EducationalUseDependent Category Element Types ************* --> <!ELEMENT EducationalUseDependent (Role?, Description*, Prerequisite*, EducationalObjective*, Level?, Difficulty?, Duration?)> <!ELEMENT Prerequisite (Description+, Source?, Identifier?)> <!ATTLIST Prerequisite %LUnordered; %OOptional;> <!ELEMENT EducationalObjective (Description+, Source?, Identifier?)> <!ATTLIST EducationalObjective %LUnordered; %OOptional;> <!ELEMENT Level (#PCDATA)> <!ATTLIST Level %DVocabulary; %LSingle; %OConditional;> <!ELEMENT Difficulty (#PCDATA)> <!ATTLIST Difficulty %DVocabulary; %LSingle; %OOptional;> <!-- *************** RightsManagement Category Element Types **************** --> <!ELEMENT RightsManagement (Role, Description*, Contact?, Support?, Conditions)> <!ELEMENT Contact (#PCDATA)> <!ATTLIST Contact %DLocSpec; %LSingle; %OOptional;> <!ELEMENT Support (#PCDATA)> <!ATTLIST Support %DBoolean; %LSingle; %OOptional;> <!-- Note: the obligation of Price not given in spec, optional assumed --> <!ELEMENT Conditions (Reciprocity?, Attribution?, Price?)> <!ATTLIST Conditions %LSingle; %OMandatory;> <!ELEMENT Reciprocity (#PCDATA)> <!ATTLIST Reciprocity %DBoolean; %LSingle; %OOptional;> <!ELEMENT Attribution (#PCDATA)> <!ATTLIST Attribution %DBoolean; %LSingle; %OOptional;> <!-- Obligation not specified in draft, optional assumed --> <!ELEMENT Price (MonetaryUnit?, Amount, UnitOfPricing?)> <!ATTLIST Price %LUnordered; %OOptional;> <!ELEMENT MonetaryUnit (#PCDATA)> <!ATTLIST MonetaryUnit %DVocabulary; %LSingle; %OConditional;> <!ELEMENT Amount (#PCDATA)> <!ATTLIST Amount %DDecimal; %LSingle; %OMandatory;> <!ELEMENT UnitOfPricing (#PCDATA)> <!ATTLIST UnitOfPricing %DVocabulary; %LSingle; %OOptional;> <!-- ***************** Relation Category Element Types ****************** --> <!ELEMENT Relation (Kind, Resource)> <!ELEMENT Kind (#PCDATA)> <!ATTLIST Kind %DVocabulary; %LSingle; %OMandatory;> <!ELEMENT Resource (Identifier?, Description*)> <!ATTLIST Resource %LSingle; %OMandatory;> <!-- ***************** Annotation Category Element Types ****************** --> <!ELEMENT Annotation (Person, Date, Description+)>