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.
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.
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.
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.
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

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>

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>

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>

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>

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>

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>

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>

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"
|