TOC 3 eLML XML Schema

eLML uses W3C XML-Schema to define all the elements and attributes that are allowed within an eLML eLearning lesson. To some extent also the content of elements and attributes is defined (e.g. enumerations). eLML consists of three XML Schemas named elml.xsd, biblio_harvard.xsd, metadata_elml.xsd and config.xsd (not in the structure folder but in the config folder to help easy configuration, see section '7.1 The eLML folder structure and file hierarchy' for more information about the folder structure). The latter two are included into the first via reference. Referencing the elml.xsd from a XML document (see in chapter 7.2 how to do this) allows to validate the document against the eLML structure defined in the XML Schema.

TOC UP 3.1 The elml.xsd file

The elml.xsd file is the heart of the eLML structure. All the main elements are defined within this XML Schema. Some explanations about this schema can be found in the schema itself when opened in a simple text editor or with a xml editor like XMLSpy (http://www.xmlspy.com/).
In order to be part of the “eLML community” it is absolutely imperative that everyone is using the same XML-Schema. XML documents that can be validated against the standard defined in the eLML XML-Schema will be able to share XSL, XSP etc. files.

TOC UP 3.2 The biblio_harvard.xsd file

The elml.xsd file includes the biblio_harvard.xsd file. In the latter all the bibliography elements are defined according to the Harvard standard. The creation of this XML Schema was roughly guided by the referencing guide of the Bournemouth University which can be found at http://www.bournemouth.ac.uk / academic_services / documents / Library / Citing_References.pdf.
If you want to use another referencing style you will have to create a new XML Schema defining the needed elements. Call this new XML schema "biblio_yourstylename.xsd" and save into the structure folder (for more information see chapter 7.1 about the eLML folder structure).
To replace the biblio_harvard.xsl file you will need to change the following line in the elml.xsd

<xs:include schemaLocation="biblio_harvard.xsd"/>
with

<xs:include schemaLocation="biblio_yourstylename.xsd"/>.
Note that then you will also need to change the layout files to include the new bibliography elements. For more information about the layout files see chapter 7.4.

TOC UP 3.3 The metadata_elml.xsd file

The elml.xsd file includes the metadata_elml.xsd file. In the latter all the metadata elements are defined. Those metadata elements were adapted from GITTA and do not directly comply with an official metadata standard such as LOM (Learning Object Metadata).
If you want to use another set of metadata (e.g. an official metadata standard) then you will have to take the xsd file of the selected metadata standard and include it in the elml.xsd file replacing the current reference to the metadata_elml.xsd (see below). Save the xsd file of the selected metadata standard into the structure folder or in a subfolder (to be created) of the structure folder (for more information see chapter 7.1 about the eLML folder structure).
To replace the metadata_elml.xsl file you will need to change the following line in the elml.xsd

<xs:include schemaLocation="metadata_elml.xsd"/>
with

<xs:include schemaLocation="pathIfNeeded/filenameOfYourStandard.xsd"/>.
Note that then you will also need to change the layout files to include the new metadata elements. For more information about the layout files see chapter 7.4.

TOC UP 3.4 The config.xsd file

Even though it is recommended that all use the unchanged elml.xsd file there are some possibilities to adapt the structure to the needs of your project. Most of these possibilities are united in the config.xsd file (in the config folder not in the structure folder). Like the name says this is a configuration file in which some changes for the needs of your own project can be made. The parameters that can be changed are:

  • the levels of the lessons
  • the module names (shortcuts)
  • the icons used for the layout
  • the institutions and departments
  • the lesson labels
  • the language shortcuts available
  • the copyright statement
TOC UP 3.4.1 Change the levels of the lessons
For changing the levels of the lessons you need to replace the values Basic, Intermediate and Advanced within the following part of the config.xsd with the values you need. If you do not have levels write None instead of Basic and delete the other two lines (see example below).
<xs:attribute name="level" use="required">
<xs:annotation>
<xs:documentation>
The attribute level describes the level on which the current lesson is positioned. It can contain one of the three values Basic, Intermediate or Advanced.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction
base="
xs:string">
<xs:enumeration
value="
Basic"/>
<xs:enumeration
value="
Intermediate"/>
<xs:enumeration
value="
Advanced"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

Example: No levels

<xs:attribute name="level" use="required">
<xs:annotation>
<xs:documentation>
The attribute level describes the level on which the current lesson is positioned. It can contain one of the three values Basic, Intermediate or Advanced.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction
base="
xs:string">
<xs:enumeration
value="
none"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>


TOC UP 3.4.2 Change the module names
For changing the names of the modules you need to replace the values DC, SM, DM, etc within the following part of the config.xsd with the values you need. If you do not have modules write None instead of DC and delete the other seven lines.
<xs:attribute name="module" use="required">
<xs:annotation>
<xs:documentation>
The attribute module contains the name of the module to which the current lesson belongs to.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction
base="
xs:string">
<xs:enumeration
value="
DC"/>
<xs:enumeration
value="
SM"/>
<xs:enumeration
value="
DM"/>
<xs:enumeration
value="
SY"/>
<xs:enumeration
value="
PR"/>
<xs:enumeration
value="
AN"/>
<xs:enumeration
value="
SD"/>
<xs:enumeration
value="
CS"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>


TOC UP 3.4.3 Change the icons used for the layout
For changing the icons used in the layout you need to replace all or some of the values important, question and remark within the following part of the config.xsd with the values you need. You can also just add additional icons by adding an additional line. Note that you will need icons that are named correspondingly (e.g. hint.gif if you add/rename a hint icon) stored in the layout folder.
<xs:attribute name="icon">
<xs:annotation>
<xs:documentation>
The icon attribute allows to specify which icon is used to mark a paragraph as special. The value important displays an exclamation mark, the value question displays a question mark and the value remark displays an arrow to the left. It needs an icon gif in the layout section.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction
base="
xs:string">
<xs:enumeration
value="
important"/>
<xs:enumeration
value="
question"/>
<xs:enumeration
value="
remark"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>


TOC UP 3.4.4 Change the institutions
For changing the institutions you need to replace all or some of the values FHBB, ETHZ, etc. within the following part of the config.xsd with the values you need.
<xs:simpleType name="InstitutionType">
<xs:restriction
base="
xs:string">
<xs:enumeration
value="
FHBB"/>
<xs:enumeration
value="
ETHZ"/>
<xs:enumeration
value="
UNIZH"/>
<xs:enumeration
value="
EPFL"/>
<xs:enumeration
value="
HSR"/>
<xs:enumeration
value="
KOGIS"/>
<xs:enumeration
value="
SUPSI"/>
<xs:enumeration
value="
UNIFR"/>
</xs:restriction>
</xs:simpleType>


TOC UP 3.4.5 Change the departments
For changing the departments you need to replace all or some of the values VGI, GIUZ, etc. within the following part of the config.xsd with the values you need.
<xs:simpleType name="DepartementType">
<xs:restriction
base="
xs:string">
<xs:enumeration
value="
VGI"/>
<xs:enumeration
value="
GIUZ"/>
<xs:enumeration
value="
IFI"/>
<xs:enumeration
value="
PIW"/>
<xs:enumeration
value="
IGP"/>
<xs:enumeration
value="
IKA"/>
<xs:enumeration
value="
ICIMSI"/>
<xs:enumeration
value="
IGUF"/>
<xs:enumeration
value="
SIRS"/>
</xs:restriction>
</xs:simpleType>


TOC UP 3.4.6 Change the lesson labels
For changing the lesson labels you need to replace all or some of the values AnalyConcept, DiscrSpatVar, etc. within the following part of the config.xsd with the values you need. Note that you need to define all the lesson labels first as you can only create lessons with this label when they are defined in the config.xsd file.
<xs:simpleType name="PredefinedLabelsType">
<xs:restriction
base="
xs:string">
<xs:enumeration
value="
none"/>
<xs:enumeration
value="
TestLesson"/>
<xs:enumeration
value="
AnalyConcept"/>
<xs:enumeration
value="
DiscrSpatVar"/>
<xs:enumeration
value="
ContiSpatVar"/>
<xs:enumeration
value="
TerrainAnaly"/>
<xs:enumeration
value="
SpatialQueries"/>
<xs:enumeration
value="
Accessibilit"/>
<xs:enumeration
value="
Suitability"/>
….
</xs:restriction>
</xs:simpleType>


TOC UP 3.4.7 Change the languages
For changing the language shortcuts available you need to replace all or some of the values de, fr, etc. within the following part of the config.xsd with the values you need. If you have only lessons in German then delete all lines (e.g. <xs:enumeration value="fr"/>) expect the one with de.
<xs:simpleType name="LanguageType">
<xs:restriction
base="
xs:string">
<xs:enumeration
value="
de"/>
<xs:enumeration
value="
fr"/>
<xs:enumeration
value="
it"/>
<xs:enumeration
value="
en"/>
</xs:restriction>
</xs:simpleType>


TOC UP 3.4.8 Change the copyright statement
For changing the copyright statement you need to replace "GITTA 2000-2005" within the following part of the config.xsd with the value you need.
<xs:simpleType name="CopyrightType">
<xs:restriction
base="
xs:string">
<xs:enumeration
value="
GITTA 2000-2005"/>
</xs:restriction>
</xs:simpleType>


Previous "XML Basics"    |   Top   |    TOC    |   Next "Description of eLML Structure"