<!-- LOMv1.dtd -->
<!-- DTD for IEEE LTSC LOM draft 6 http://ltsc.ieee.org -->
<!-- Please send comments to LTSC-LOM@ieee.org maillist -->

<!-- VERSION HISTORY -->
<!-- 2001-02-11: Erik Duval: initial release. -->
<!-- 2001-03-31: Mikael Nilsson: minor cleanups. -->

<!-- ACKNOWLEDGEMENTS -->
<!-- Based on work by ARIADNE http://www.ariadne-eu.org/ -->
<!--                  and IMS http://www.imsproject.org/ -->

<!ELEMENT lom (general?, lifecycle?, metametadata?, technical?, educational?,
               rights?, relation*, annotation*, classification*)>
  <!ELEMENT general (title?, catalogentry*, language*, description*, keyword*,
                     coverage*, structure?, aggregationlevel?)>
    <!ELEMENT title (langstring)>
      <!ELEMENT langstring (string+)>
        <!ELEMENT string (#PCDATA)>
	<!ATTLIST string xml:lang NMTOKEN #IMPLIED>
    <!ELEMENT catalogentry (catalog, entry)>
      <!ELEMENT catalog (#PCDATA)>
      <!ELEMENT entry (langstring)>
    <!ELEMENT language (#PCDATA)>
    <!ELEMENT description (langstring)>
    <!ELEMENT keyword (langstring)>
    <!ELEMENT coverage (langstring)>
    <!ELEMENT structure (vocabulary)>
      <!ELEMENT vocabulary (source, value)>
        <!ELEMENT source (langstring)>
        <!ELEMENT value (langstring)>
    <!ELEMENT aggregationlevel (vocabulary)>
  <!ELEMENT lifecycle (version?, status?, contribute*)>
    <!ELEMENT version (langstring)>
    <!ELEMENT status (vocabulary)>
    <!ELEMENT contribute (role, centity*, date?)>
      <!ELEMENT role (vocabulary)>
      <!-- centity: The is the ENTITY element.  The word ENTITY is reserved within XML, so the name has been changed to centity to stand for "Contributing Entity".   -->
      <!ELEMENT centity (vcard)>
        <!ELEMENT vcard (#PCDATA)>
      <!ELEMENT date (datestructure)>
        <!ELEMENT datestructure (datetime?, description?)>
          <!ELEMENT datetime (#PCDATA)>
  <!ELEMENT metametadata (catalogentry*, contribute*, metadatascheme*,
                          language?)>
    <!ELEMENT metadatascheme (#PCDATA)>
  <!ELEMENT technical (format*, size?, location*, requirement*,
                       installationremarks?, otherplatformrequirements?,
                       duration?)>
    <!ELEMENT format (#PCDATA)>
    <!ELEMENT size (#PCDATA)>
    <!ELEMENT location (#PCDATA)>
    <!ATTLIST location type (URI|TEXT) "URI">
    <!ELEMENT requirement (type?, name?, minimumversion?, maximumversion?)>
      <!ELEMENT type (vocabulary)>
      <!ELEMENT name (vocabulary)>
      <!ELEMENT minimumversion (#PCDATA)>
      <!ELEMENT maximumversion (#PCDATA)>
    <!ELEMENT installationremarks (langstring)>
    <!ELEMENT otherplatformrequirements (langstring)>
    <!ELEMENT duration (datestructure)>
  <!ELEMENT educational (interactivitytype?, learningresourcetype*,
                         interactivitylevel?, semanticdensity?,
                         intendedenduserrole*, context*,
                         typicalagerange*, difficulty?, typicallearningtime?,
                         description?, language*)>
    <!ELEMENT interactivitytype (vocabulary)>
    <!ELEMENT learningresourcetype (vocabulary)>
    <!ELEMENT interactivitylevel (vocabulary)>
    <!ELEMENT semanticdensity (vocabulary)>
    <!ELEMENT intendedenduserrole (vocabulary)>
    <!ELEMENT context (vocabulary)>
    <!ELEMENT typicalagerange (langstring)>
    <!ELEMENT difficulty (vocabulary)>
    <!ELEMENT typicallearningtime (datestructure)>
  <!ELEMENT rights (cost?, copyrightandotherrestrictions?, description?)>
    <!ELEMENT cost (vocabulary)>
    <!ELEMENT copyrightandotherrestrictions (vocabulary)>
  <!ELEMENT relation (kind?, resource?)>
    <!ELEMENT kind (vocabulary)>
    <!ELEMENT resource (description?,catalogentry*)>
  <!ELEMENT annotation (person?, date?, description?)>
    <!ELEMENT person (vcard)>
  <!ELEMENT classification (purpose?, taxonpath*, description?, keyword*)>
    <!ELEMENT purpose (vocabulary)>
    <!ELEMENT taxonpath (source?, taxon*)>
    <!ELEMENT taxon (id?, entry?)>
      <!ELEMENT id (#PCDATA)>
