blob: 176ce32feae548fdb7fd9550f73dd77e83eadef0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module QUIZ
# $Id: omdocquiz.rnc 8958 2011-09-02 06:01:13Z kohlhase $
# $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocquiz.rnc $
# See the documentation and examples at http://www.omdoc.org
# Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL)
default namespace omdoc = "http://omdoc.org/ns"
omdoc.class &= exercise* & hint* & mc* & solution*
plike.class &= hint*
exercise.attribs = toplevel.attribs & for.attrib?
exercise.model = mcf.class | omdoc.class
exercise = element exercise {tref|(exercise.attribs & exercise.model)}
omdocpf.opt.content = notAllowed
hint.attribs = toplevel.attribs & for.attrib?
hint.model = mcf.class
hint = element hint {tref|(hint.attribs & hint.model)}
solution.attribs = toplevel.attribs & for.attrib?
solution.model = mcf.class | omdoc.class
solution = element solution {tref|(solution.attribs & solution.model)}
mc.attribs = toplevel.attribs & for.attrib?
mc.model = choice,hint?,answer
mc = element mc {tref|(mc.attribs & mc.model)}
choice.attribs = id.attribs
choice.model = mcf.class
choice = element choice {tref|(choice.attribs & choice.model)}
answer.attribs = id.attribs & attribute verdict {"true" | "false"}?
answer.model = mcf.class
answer = element answer {tref|(answer.attribs & answer.model)}
|