O formato Moodle XML explicado, com um exemplo para baixar
O Moodle XML é o formato de arquivo que o Moodle usa para exportar questões de um banco de questões e importá-las em outro curso ou site. Ele comporta todos os tipos de questão padrão, com imagens e fórmulas dentro do próprio arquivo, e é por isso que as ferramentas que transformam provas em questões do Moodle geram esse formato. Raramente é preciso escrevê-lo à mão, mas saber o que há dentro ajuda quando uma importação dá errado ou quando uma questão se comporta de um jeito que você não esperava.
Esta página percorre um arquivo real, parte por parte. Os dois arquivos do exemplo podem ser baixados: uma prova curta do Word e o Moodle XML que o conversor de provas gratuito do ExamQR gerou a partir dela.
Baixe o exemplo
- A prova do Word (moodle-xml-example-pt.docx): nove questões em quatro partes, com uma imagem e uma equação.
- O arquivo Moodle XML (moodle-xml-example-pt.xml): pronto para importar num curso de teste.
A estrutura de um arquivo
Um arquivo Moodle XML é um elemento <quiz> que contém uma lista de elementos <question>. O atributo type diz o que cada um é. O exemplo contém estes:
| Tipo | O que é | No exemplo |
|---|---|---|
category | Não é uma questão: é a categoria do banco de questões onde as questões seguintes são salvas | Uma por parte da prova |
multichoice | Múltipla escolha, com uma ou várias respostas corretas | Questões 1 a 5 |
truefalse | Uma única afirmação verdadeira ou falsa | Questão 6, uma por afirmação |
numerical | Uma resposta que é um número, com uma margem de erro opcional | Questão 7 |
shortanswer | Uma palavra ou expressão digitada e comparada com as respostas aceitas | Questão 8 |
essay | Uma resposta escrita que um professor corrige | Questão 9 |
O Moodle também conhece matching, description (texto sem resposta, como um texto de leitura), gapselect, ddwtos e outros. Questões de tipos adicionados por plugins só são importadas em sites que têm esses plugins.
Categorias
<question type="category">
<category>
<text>$course$/top/moodle-xml-example/Parte 1. Múltipla escolha</text>
</category>
</question>
Todas as questões depois dessa entrada vão para a categoria Parte 1. Múltipla escolha, dentro de uma categoria com o nome do arquivo, no topo do banco de questões do curso ($course$). Na página de importação do Moodle, a opção Obter categoria do arquivo (Get category from file) decide se essas entradas são usadas. Desmarque-a para colocar todas as questões na categoria que você escolher.
O que toda questão tem
<question type="multichoice">
<name><text><![CDATA[Q1: Qual dispositivo mantém os dados quando o computador é de...]]></text></name>
<questiontext format="html">
<text><![CDATA[<p>Qual dispositivo mantém os dados quando o computador é desligado?</p>]]></text>
</questiontext>
<generalfeedback format="html"><text></text></generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.0000000</penalty>
<hidden>0</hidden>
…
- name é o que aparece na lista do banco de questões, não o que os alunos veem. O conversor começa o nome pelo número da questão, para que o banco mantenha a sua ordem.
- questiontext é a questão em HTML. O
CDATApermite colocar o HTML dentro do XML sem escapar cada<. - generalfeedback é mostrado aos alunos depois que respondem, quando as opções de revisão do questionário permitem. Uma resolução escrita no arquivo do Word depois de "Resolução:" é colocada aqui.
- defaultgrade é a pontuação da questão; penalty é quanto custa cada tentativa errada nos questionários que permitem várias tentativas.
Múltipla escolha
<single>true</single>
<shuffleanswers>true</shuffleanswers>
<answernumbering>ABCD</answernumbering>
<answer fraction="0"><text><![CDATA[Memória RAM]]></text></answer>
<answer fraction="100"><text><![CDATA[Disco rígido]]></text></answer>
<answer fraction="0"><text><![CDATA[Cache do processador]]></text></answer>
<answer fraction="0"><text><![CDATA[Placa de vídeo]]></text></answer>
- fraction é a parte da pontuação que uma resposta vale, em porcentagem: 100 para a correta, 0 para as outras.
- single é
truequando há uma resposta correta (botões de opção) efalsequando há várias (caixas de seleção). Na questão 5 do exemplo, Python e Java têm cada umafraction="50"e as duas alternativas erradasfraction="-100", de modo que uma marcação errada anula os pontos; o Moodle nunca dá menos de zero numa questão. - shuffleanswers deixa o Moodle reordenar as alternativas para cada aluno, se o questionário também permitir. A questão 2 termina com "Todas as anteriores", que precisa ficar por último, e o Moodle não consegue fixar uma única alternativa, por isso o conversor escreve
falsenessa questão e avisa você.
Verdadeiro ou falso
A questão truefalse do Moodle contém uma única afirmação. Por isso, uma questão do Word com quatro afirmações de a) a d) vira quatro questões do Moodle, cada uma valendo um quarto da pontuação (defaultgrade 0.25), com o enunciado comum repetido acima de cada afirmação:
<question type="truefalse">
<questiontext format="html"><text><![CDATA[<p>Indique se cada afirmação sobre redes é verdadeira ou falsa.</p>
<p><b>b)</b> A internet é uma única rede que pertence a uma só empresa.</p>]]></text></questiontext>
<defaultgrade>0.2500000</defaultgrade>
<answer fraction="0"><text>true</text></answer>
<answer fraction="100"><text>false</text></answer>
Resposta curta e números
<question type="numerical">
…
<answer fraction="100"><text>11</text><tolerance>0</tolerance></answer>
<question type="shortanswer">
…
<usecase>0</usecase>
<answer fraction="100"><text>Ctrl+C</text></answer>
- Uma resposta que é um número vira
numerical, então "11", "11.0" e " 11" são todas aceitas. tolerance permite uma margem, por exemplo 0.5 para valores medidos. - As outras respostas viram
shortanswer. usecase 0 ignora maiúsculas e minúsculas. Várias respostas aceitas são vários elementos<answer>, cada um com fraction 100.
Dissertativa
<question type="essay">
…
<responseformat>editor</responseformat>
<responserequired>1</responserequired>
<responsefieldlines>15</responsefieldlines>
<attachments>0</attachments>
<graderinfo format="html"><text></text></graderinfo>
As questões dissertativas são corrigidas por um professor, então não há resposta correta. responseformat editor dá aos alunos um editor de texto de 15 linhas. graderinfo só é mostrado a quem corrige; quando a sua prova tem uma resposta-modelo para a questão, ela é colocada ali.
Imagens
<questiontext format="html">
<text><![CDATA[<p>… Quanto mede o lado maior?</p>
<p><img src="@@PLUGINFILE@@/1794549954_b704bcae9bc3119a_001.png" alt="" /></p>]]></text>
<file name="1794549954_b704bcae9bc3119a_001.png" path="/" encoding="base64">iVBORw0KGgo…</file>
</questiontext>
A imagem viaja dentro do arquivo. O elemento <file> guarda a imagem codificada como texto base64, e o HTML aponta para ela com @@PLUGINFILE@@, que o Moodle substitui pelo endereço do arquivo armazenado depois da importação. Um link para uma imagem em outro site também funcionaria, mas quebra quando esse site muda.
Fórmulas
<p>Quais são as soluções da equação \(x^2-5x+6=0\)?</p>
Uma equação do Word é escrita em TeX entre \( e \). O Moodle a exibe como fórmula com o filtro MathJax, que vem ativado por padrão. Se os alunos virem o código em vez da fórmula, peça ao administrador do site que ative o filtro MathJax no curso.
Importar o exemplo
- Abra um curso em que você possa fazer testes e vá ao banco de questões dele (no menu Mais do curso: Banco de questões, ou Bancos de questões nas versões recentes).
- Escolha Importar, selecione Formato Moodle XML, arraste o arquivo .xml para a caixa e clique em Importar.
- O Moodle lista as questões que leu. Clique em Continuar; elas ficam na categoria moodle-xml-example e nas suas quatro partes.
- Visualize a questão 3 (a imagem) e a questão 4 (a fórmula) para conferir se as duas aparecem.
Editar um arquivo à mão
- Use um editor de texto simples que salve em UTF-8, não um processador de texto.
- Mantenha o HTML dentro do
CDATA. Fora dele, escreva<para<e&para&. - Uma única tag sem fechamento faz o Moodle rejeitar o arquivo inteiro. Abra-o antes num navegador: um arquivo com defeito mostra a linha do erro.
- Importe primeiro num curso de teste, antes do curso de verdade, e visualize algumas questões.
Gere um a partir da sua própria prova do Word
Escreva a prova no Word como de costume, seguindo as regras do guia rápido de formatação de provas no Word, depois abra o conversor de provas gratuito, envie o arquivo e clique em Moodle XML (.xml). Não é preciso ter conta. Antes do download, o conversor lista tudo o que o Moodle faz de outro jeito, por exemplo uma questão com várias respostas corretas que o Moodle corrige com crédito parcial. O passo a passo completo está em como importar uma prova do Word para o Moodle.
Perguntas frequentes
Moodle XML é o mesmo que GIFT ou Aiken? Não. GIFT e Aiken são formatos de texto simples que as pessoas digitam à mão; eles não conseguem levar imagens dentro do arquivo, e o Aiken só conhece múltipla escolha com uma resposta. O Moodle XML é mais extenso, mas leva tudo.
Outros sistemas leem Moodle XML? Alguns, sim, mas é o formato próprio do Moodle. Para sistemas que importam pacotes QTI 2.1, o conversor também gera um. O Canvas Classic Quizzes espera QTI 1.2 e, por isso, não lê esse pacote.
Por que o Moodle conta mais questões do que a minha prova tem? Porque algumas questões viram várias questões do Moodle: cada afirmação de verdadeiro/falso é uma questão própria, e um texto de leitura vira um item de descrição antes das suas questões. O conversor informa quantas questões do Moodle gerou.
O exemplo funciona em outros idiomas? Sim. O exemplo está disponível em todos os idiomas deste site; troque o idioma no topo da página para baixá-lo.