Moodle XMLフォーマット

移動先: 案内, 検索

XMLの妥当性について

XMLパーサー (構文解析ツール) は、XMLファイルが正しいと見做し、エラーを検査および報告しません。XMLファイルが正しくない場合、予想外のエラーが発生する可能性が大きくなります。あなたがXMLファイルを手書きで作成している場合、Moodleにインポートする前に、XML検査ツール等で構文をチェックすることを強くお勧めします。特に埋め込みHTMLフラグメントは、CDATAセクションに入れるよう、注意してください。

XMLファイルの全体構造

ファイルは次のようにタグで囲みます。

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

<quiz>タグの中には、いくつでも<question>タグを入れることができます。<question>タグには、インポートおよびエクスポートを指定するため、以下のようにダミーのタイプ「category」を入れることができます。

<question type="category">
  <category>
   tom/dick/harry
 </category>
</question>

ファイルは、 UTF8にエンコードしてください。

Moodle XMLインポートおよびエクスポートは、機能性においてバランスがとられています。ですから、フォーマットを理解するためには、単純にいくつかの問題を作成してエクスポートした後、エクスポートされたファイルがどのようになっているか確認してください。

すべての問題タイプに共通するタグ

問題は以下のように記述します。

<question type="multichoice|truefalse|shortanswer|match|cloze|essay|numerical|description">
    <questiontext format="html">
      この問題の答えは何でしょうか?
    </questiontext>
  .
  .
  .
</question>

「Format」では、問題テキストのフォーマットオプションを選択してください。オプションには、moodle_auto_format (デフォルト)、htmlplain_textmarkdownがあります。オプションの選択は、テキストの表示方法に影響します。

さらに少なくとも通常1つ含まれるタグは、<answer>タグです。以下、ドットがマークされたタグは、<question>タグの子ノードとして使用されます。レスポンスに関連したタグは、このページの下部に記述されています。様々な (任意?) のタグを使用することもできます。

  • penalty
  • generalfeedback
  • defaultgrade
  • hidden

<image>タグには、インクルードされたイメージのURIを含みます。<image>タグにネストする<image_base64>タグでは、base64にエンコードされた実データを含みます [1]

一般的な問題の一部を示した次の問題タイプの例では、問題の明瞭さを改善することを目的としていません。完全な例を閲覧するため、あなた自身でいくつかの問題例をエクスポートしてください。

多肢選択問題

多肢選択問題では、それぞれの選択肢に<answer>タグを持ちます。それぞれの選択肢には、フィードバック (feedback) および (fraction属性を使用した) 評点の加重を持つことができます。加えて、多肢選択問題には次のタグを含むことができます:

  • single (値: true/false)
  • shuffleanswers (値: 1/0)
  • correctfeedback
  • partiallycorrectfeedback
  • incorrectfeedback
  • answernumbering (許可される値: 「abc」「ABC」または「123」)

<single>タグは、単一解答 (ラジオボタン) および複数解答 (チェックボックス) を区別するため使用されます。

<question type="multichoice">
<answer fraction="100">
    <text>正解</text>
   <feedback><text>正解です!</text></feedback>
</answer>
<answer fraction="0">
    <text>選択肢</text>
   <feedback><text>しまった!</text></feedback>
</answer>
<answer fraction="0">
    <text>別の選択肢</text>
   <feedback><text>しまった!</text></feedback>
</answer>
<shuffleanswers>1</shuffleanswers>
<single>true</single>
<answernumbering>abc</answernumbering>

○/×問題

○/×問題には、正解、不正解の2つの答えのタグがあります。答えのfraction属性タグで、どちらのオプションが正解 (100)、そしてどちらのオプションが不正解 (0) か指定します。フィードバックはサポートされています。次の例では「正解」が正しく、「不正解」が正しくない答えを表しています。

<question type="truefalse">
<answer fraction="100">
   <text>正解</text>
   <feedback><text>正解です!</text></feedback>
</answer>
<answer fraction="0">
   <text>不正解</text>
   <feedback><text>おやおや!</text></feedback>
</answer>

記述問題

記述問題タイプでは、それぞれに独自の加重およびフィードバックを持った正答の選択肢をサポートします。Moodle XMLフォーマットは、それぞれの正答の選択肢に1つの<answer>タグを使用します。

<usecase>タグの値 (1または0) を使用して、大文字小文字の区別をするかどうか設定します。

<question type="shortanswer">
<answer fraction="100">
    <text>正答</text>
    <feedback><text>正解です!</text></feedback>
</answer>
<question type="shortanswer">
<answer fraction="100">
    <text>正答</text>
    <feedback><text>正解です!</text></feedback>
</answer>
<answer fraction="100">
    <text>答えの選択肢</text>
    <feedback><text>正解です!</text></feedback>
</answer>

数値問題

以下の例は、数値問題のMoodle XMLフォーマットを簡易化したものです。

<question type="numerical">
<answer fraction="100">
    <text>23</text>
    <feedback><text>フィードバック</text></feedback>
</answer>

Moodleは、<tolerance>タグ (どれくらい数値が正確か?) および1つまたはそれ以上の<unit>タグもサポートします。<unit>タグには、単位および乗数を持ちます。例) メインの答えがキロメータの場合、乗数1000を持ったメータを付加的な答えとして持つことができます。

注意: Moodle 1.7.2以前のバージョンでは、フラクションは0から1の間の値で<fraction>要素内で表示され、答えは<text>タグで閉じられていませんでした。このフォーマットの数値問題は廃止されましたが、見つかった場合、現在も正常にインポートされます。

組み合わせ問題

<shuffleanswers>タグを使用することで、組み合わせ問題の選択肢をランダムに表示するかどうか選択できます。それぞれの組み合わせは、<subquestion>タグの中に含まれます。組み合わせの最初のアイテム (問題) は<text>タグの中に含まれ、2番目のアイテム (答え) は<answer>タグで囲まれた<text>タグの中に含まれます。Moodleにおける、この解答タイプでは、フィードバックおよび評点の加重はサポートされていません。

<question type="match">
<subquestion>
    <text>これは最初の組み合わせの最初のアイテムです。.</text>
    <answer>
        <text>これは最初の組み合わせの2番目のアイテムです。</text>
    </answer>
</subquestion>
<subquestion>
    <text>これは2番目の組み合わせの最初のアイテムです。.</text>
    <answer>
        <text>これは2番目の組み合わせの2番目のアイテムです。</text>
    </answer>
</subquestion>
<shuffleanswers>true</shuffleanswers>

作文問題

作文問題の例です ...

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

この場合、答えも評点もありません。

注意: Moodle 1.7.2以前のバージョンでは、フラクションは0から1の間の値で<fraction>要素内で表示され、答えは<text>タグで閉じられていませんでした。このフォーマットの数値問題は廃止されましたが、見つかった場合、現在も正常にインポートされます。

その他の問題タイプ

穴埋め問題 (Cloze)

Moodle XMLフォーマットで、穴埋め問題 (Cloze) はサポートされます。また、<questiontext>タグに依存します。

説明タイプ

<questiontext>のような問題ヘッダで含まれる以外、説明タイプにはタグを含みません。

ランダム記述組み合わせ問題

Moodleには、同じ小テスト内に記述問題を含み、組み合わせ練習として表示する「ランダム記述組み合わせ」問題タイプがあります。しかし、現在のところMoodleではこのタイプの問題をエクスポートおよびインポートすることはできません。

ヒント

Moodle XMLを生成するMicrosoft Wordのテンプレートです [2]。- 英語

関連情報