Moodle XML-Format

Aus MoodleDocs
Wechseln zu:Navigation, Suche

Ein Wort zur Validität

Der XML-Parser geht davon aus, dass die XML-Datei richtig formatiert ist. Er findet keine Fehler und gibt keine Fehlermeldungen aus. Wenn die Datei falsch formatiert ist, erhalten Sie sehr wahrscheinlich unerwartete Fehler. Wenn Sie die XML-Datei manuell erstellen, empfehlen wir dringend, dass Sie die Datei von einem XML-Verifier prüfen, bevor Sie sie in Moodle importieren. Am einfachsten öffnen Sie die Datei dazu im Firefox. Achten Sie insbesondere darauf, dass HTML-Fragmente innerhalb von CDATA Abschnitten liegen.

Struktur der XML-Datei

Die XML-Datei hat folgende Grundstruktur:

<?xml version=1.0?>
<quiz>
.
.
.
</quiz>

Innerhalb der <quiz>-Elemente können beliebig viele <question>-Elemente vorkommen. Eines dieser <question>-Elemente kann eine leere Frage vom Typ category sein, um eine Fragenkategorie für den Import bzw. Export zu spezifizieren.

Die XML-Datei muss in UTF-8 kodiert sein.

Moodle XML-Import und -Export sind haben dieselbe Funktionalität. Wenn Sie das Format verstehen wollen, ist es am besten, Sie erstellen einige Fragen, exportieren diese im Moodle XML-Format und schauen sich dann die generierte XML-Datei an.

XML-Elemente, die in allen Fragetypen vorkommen

Eine Frage wird wie folgt beschreiben:

<question type="multichoice|truefalse|shortanswer|match|cloze|essay|numerical|description">
    <questiontext format="html">
        <text>Wie lautet die Antwort auf diese Frage?</text>
    </questiontext>
    .
    .
    .
</question>

Der Parameter "format" legt die Formatierung des Fragetextes fest, d.h. wie der Text dargestellt wird . Mögliche Optionen sind "moodle_auto_format" (Standardeinstellung), "html", "plain_text" (reiner Text) und "markdown".

Anstelle der Punkte innerhalb eines <question>-Elements stehen weitere (Kind-)Elemente: Normalerweise gibt es mindestens ein <answer>-Element für die Antwortvorgabe, Feedback und weitere optionale Elemente, z.B.:

  • penalty (Abzugsfaktor)
  • generalfeedback (Standardfeedback)
  • defaultgrade (Standardbewertung)
  • hidden (verborgen)

Das <image>-Element enthält die URL eines eingebundenen Bildes. Das <image_base64>-Elemententhält das eigentliche Bild, kodiert in base64.

Hinweis: In den folgenden Beispielen werden zur besseren Lesbarkeit diejenigen Elemente weggelassen, die in allen Fragen vorkommen. Sie können selbst einige Beispielfragen in Moodle erstellen und exportieren, um zu sehen, wie eine vollständige Frage aussieht.

Multiple-Choice-Fragen

Multiple-Choice-Fragen haben ein <answer>-Element für jede Antwortvorgabe. Zu jeder Antwortvorgabe kann es ein Gewicht für die Bewertung und ein Feedback geben. Desweiteren gibt es folgende (optionale) Elemente:

  • single (values: true/false) - zur Kennzeichnung, ob eine oder mehrere Antworten richtig sind
  • shuffleanswers (values: 1/0) - Antworten mischen
  • correctfeedback - Feedback für richtige Antworten
  • partiallycorrectfeedback - Feedback für teilweise richtige Antworten
  • incorrectfeedback - Feedback für falsche Antworten
  • answernumbering (values: 'abc', 'ABC', '123') - Nummerierung der Antworten
<question type="multichoice">
<answer fraction="100">
    <text>Hier kommt die richtige Antwort.</text>
   <feedback><text>Richtig!</text></feedback>
</answer>
<answer fraction="0">
    <text>Hier steht ein Distraktor, d.h. eine vermeintlich richtige Antwort.</text>
   <feedback><text>Ups!</text></feedback>
</answer>
<answer fraction="0">
    <text>Hier steht ein weiterer Distraktor</text>
   <feedback><text>Ups!</text></feedback>
</answer>
<shuffleanswers>1</shuffleanswers>
<single>true</single>
<answernumbering>abc</answernumbering>

Wahr-Falsch-Fragen

Bei Wahr-Falsch-Fragen gibt es zwei <answer>-Elemente, davon ist eins für die richtige Antwortvorgabe und eins für die falsche. Das "fraction"-Attribut kennzeichnet, welche Antwort richtig ist (100) und welche falsch (0). Optional kann ein <feedback>-Element angegeben werden.

<question type="truefalse">
<answer fraction="100">
   <text>richtig</text>
   <feedback><text>Richtig!</text></feedback>
</answer>
<answer fraction="0">
   <text>falsch</text>
   <feedback><text>Ups!</text></feedback>
</answer>

Kurzantwort-Fragen

Bei Kurzantwort-Fragen können Sie verschiedene Antwortvorgaben mit Gewicht und Feedback angeben. Jede Antwortvorgabe wid in ein <answer>-Element eingeschlossen. Das <usecase>-Element mit den Werten 0 bzw. 1 schaltet die Groß-/Kleinschreibung aus bzw. ein.

<question type="shortanswer">
<answer fraction="100">
    <text>Hier kommt die richtige Antwort.</text>
    <feedback><text>Richtig!</text></feedback>
</answer>
<question type="shortanswer">
<answer fraction="100">
    <text>Hier kommt eine richtige Antwort.</text>
    <feedback><text>Richtig!</text></feedback>
</answer>
<answer fraction="100">
    <text>Hier kommt eine weitere richtige Antwort</text>
    <feedback><text>Richtig!</text></feedback>
</answer>

Numerische Fragen

Das folgende Beispiel zeigt eine vereinfachte Form einer numerischen Frage im Moodle XML-Format.

<question type="numerical">
<answer fraction="100">
    <text>23</text>
    <feedback><text>Feedback</text></feedback>
</answer>

Moodle unterstützt auch ein <tolerance>-Element zur Angabe eines akzeptierten Fehlers sowie ein <unit>-Element für Maßeinheiten. Ein <unit>-Element kann ein <name>-Element für den Namen und ein <multiplier>-Element für den Multiplikator enthalten. Wenn z.B. die Hauptantwort in Kilometern angegeben ist, kann eine äquivalente Antwort in Metern mit einem Multiplikator von 1000 angegeben werden.

Hinweis: Vor Moodle 1.7.2 wurde das Gewicht als ein <fraction>-Attribut mit einem Wert zwischen 0 und 1 angegeben, und die Antwort wurde nicht in <text>-Elemente eingeschlossen. Dieses Format wird nicht mehr verwendet, aber derzeit noch korrekt importiert.

Zuordnungsfragen

Zuordnungsfragen nutzen das <shuffleanswers>-Element, um festzulegen, ob die Reihenfolge der Zuordnungen zufällig angezeigt werden soll. Jede Zuordnung wird in ein <subquestion>-Element eingeschlossen. Der erste Teil des Zuordnungspaares steht in einem <text>-Element, der zweite Teil steht in einem <answer>-Element. Bei diesem Fragetyp wird kein Feedback und kein Gewicht für die Bewertung unterstützt.

<question type="match">
<subquestion>
    <text>Das ist der erste Eintrag in der ersten Zuordnung.</text>
    <answer>
        <text>Das ist der zweite Eintrag in der ersten Zuordnung.</text>
    </answer>
</subquestion>
<subquestion>
    <text>Das ist der erste Eintrag in der zweiten Zuordnung.</text>
    <answer>
        <text>Das ist der zweite Eintrag in der zweiten Zuordnung.</text>
    </answer>
</subquestion>
<shuffleanswers>true</shuffleanswers>

Freitext-Fragen

Hier kommt ein Beispiel für eine Freitext-Frage:

 <question type="essay">
   <answer fraction="0">
       <text></text>
   </answer>
 </question>

Es gibt kein <answer>-Element, kein Feedback und keine Bewertung.

Hinweis: Vor Moodle 1.7.2 wurde das Gewicht als ein <fraction>-Attribut mit einem Wert zwischen 0 und 1 angegeben, und die Antwort wurde nicht in <text>-Elemente eingeschlossen. Dieses Format wird nicht mehr verwendet, aber derzeit noch korrekt importiert.

Weitere Fragetypen

Lückentext-Fragen

Lückentext-Fragen werden unterstützt. Dieser Fragetyp hängt von einem speziellen Format des <questiontext>-Elements ab.

Zufällige Kurzantwort-Zuordnung

Die Zufällige Kurzantwort-Zuordnung ist ein Fragetyp, der weder importiert noch exportiert werden kann.

Tipps und Tricks

Siehe auch