1 |
efrain |
1 |
<?xml version="1.0" encoding="UTF-8" ?>
|
|
|
2 |
<XMLDB PATH="mod/lesson/db" VERSION="20150720" COMMENT="XMLDB file for Moodle mod/lesson"
|
|
|
3 |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
|
4 |
xsi:noNamespaceSchemaLocation="../../../lib/xmldb/xmldb.xsd"
|
|
|
5 |
>
|
|
|
6 |
<TABLES>
|
|
|
7 |
<TABLE NAME="lesson" COMMENT="Defines lesson">
|
|
|
8 |
<FIELDS>
|
|
|
9 |
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
|
|
|
10 |
<FIELD NAME="course" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
11 |
<FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false"/>
|
|
|
12 |
<FIELD NAME="intro" TYPE="text" NOTNULL="false" SEQUENCE="false"/>
|
|
|
13 |
<FIELD NAME="introformat" TYPE="int" LENGTH="4" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
14 |
<FIELD NAME="practice" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
15 |
<FIELD NAME="modattempts" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
16 |
<FIELD NAME="usepassword" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
17 |
<FIELD NAME="password" TYPE="char" LENGTH="32" NOTNULL="true" SEQUENCE="false"/>
|
|
|
18 |
<FIELD NAME="dependency" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
19 |
<FIELD NAME="conditions" TYPE="text" NOTNULL="true" SEQUENCE="false"/>
|
|
|
20 |
<FIELD NAME="grade" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
21 |
<FIELD NAME="custom" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
22 |
<FIELD NAME="ongoing" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
23 |
<FIELD NAME="usemaxgrade" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
24 |
<FIELD NAME="maxanswers" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="4" SEQUENCE="false"/>
|
|
|
25 |
<FIELD NAME="maxattempts" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="5" SEQUENCE="false"/>
|
|
|
26 |
<FIELD NAME="review" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
27 |
<FIELD NAME="nextpagedefault" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
28 |
<FIELD NAME="feedback" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="1" SEQUENCE="false"/>
|
|
|
29 |
<FIELD NAME="minquestions" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
30 |
<FIELD NAME="maxpages" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
31 |
<FIELD NAME="timelimit" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
32 |
<FIELD NAME="retake" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="1" SEQUENCE="false"/>
|
|
|
33 |
<FIELD NAME="activitylink" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
34 |
<FIELD NAME="mediafile" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" COMMENT="Local file path or full external URL"/>
|
|
|
35 |
<FIELD NAME="mediaheight" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="100" SEQUENCE="false"/>
|
|
|
36 |
<FIELD NAME="mediawidth" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="650" SEQUENCE="false"/>
|
|
|
37 |
<FIELD NAME="mediaclose" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
38 |
<FIELD NAME="slideshow" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
39 |
<FIELD NAME="width" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="640" SEQUENCE="false"/>
|
|
|
40 |
<FIELD NAME="height" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="480" SEQUENCE="false"/>
|
|
|
41 |
<FIELD NAME="bgcolor" TYPE="char" LENGTH="7" NOTNULL="true" DEFAULT="#FFFFFF" SEQUENCE="false"/>
|
|
|
42 |
<FIELD NAME="displayleft" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
43 |
<FIELD NAME="displayleftif" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
44 |
<FIELD NAME="progressbar" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
45 |
<FIELD NAME="available" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
46 |
<FIELD NAME="deadline" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
47 |
<FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
48 |
<FIELD NAME="completionendreached" TYPE="int" LENGTH="1" NOTNULL="false" DEFAULT="0" SEQUENCE="false"/>
|
|
|
49 |
<FIELD NAME="completiontimespent" TYPE="int" LENGTH="11" NOTNULL="false" DEFAULT="0" SEQUENCE="false"/>
|
|
|
50 |
<FIELD NAME="allowofflineattempts" TYPE="int" LENGTH="1" NOTNULL="false" DEFAULT="0" SEQUENCE="false" COMMENT="Whether to allow the lesson to be attempted offline in the mobile app"/>
|
|
|
51 |
</FIELDS>
|
|
|
52 |
<KEYS>
|
|
|
53 |
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
|
|
|
54 |
</KEYS>
|
|
|
55 |
<INDEXES>
|
|
|
56 |
<INDEX NAME="course" UNIQUE="false" FIELDS="course"/>
|
|
|
57 |
</INDEXES>
|
|
|
58 |
</TABLE>
|
|
|
59 |
<TABLE NAME="lesson_pages" COMMENT="Defines lesson_pages">
|
|
|
60 |
<FIELDS>
|
|
|
61 |
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
|
|
|
62 |
<FIELD NAME="lessonid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
63 |
<FIELD NAME="prevpageid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
64 |
<FIELD NAME="nextpageid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
65 |
<FIELD NAME="qtype" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
66 |
<FIELD NAME="qoption" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
67 |
<FIELD NAME="layout" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="1" SEQUENCE="false"/>
|
|
|
68 |
<FIELD NAME="display" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="1" SEQUENCE="false"/>
|
|
|
69 |
<FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
70 |
<FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
71 |
<FIELD NAME="title" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false"/>
|
|
|
72 |
<FIELD NAME="contents" TYPE="text" NOTNULL="true" SEQUENCE="false"/>
|
|
|
73 |
<FIELD NAME="contentsformat" TYPE="int" LENGTH="2" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
74 |
</FIELDS>
|
|
|
75 |
<KEYS>
|
|
|
76 |
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
|
|
|
77 |
<KEY NAME="lessonid" TYPE="foreign" FIELDS="lessonid" REFTABLE="lesson" REFFIELDS="id"/>
|
|
|
78 |
</KEYS>
|
|
|
79 |
</TABLE>
|
|
|
80 |
<TABLE NAME="lesson_answers" COMMENT="Defines lesson_answers">
|
|
|
81 |
<FIELDS>
|
|
|
82 |
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
|
|
|
83 |
<FIELD NAME="lessonid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
84 |
<FIELD NAME="pageid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
85 |
<FIELD NAME="jumpto" TYPE="int" LENGTH="11" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
86 |
<FIELD NAME="grade" TYPE="int" LENGTH="4" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
87 |
<FIELD NAME="score" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
88 |
<FIELD NAME="flags" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
89 |
<FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
90 |
<FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
91 |
<FIELD NAME="answer" TYPE="text" NOTNULL="false" SEQUENCE="false"/>
|
|
|
92 |
<FIELD NAME="answerformat" TYPE="int" LENGTH="2" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
93 |
<FIELD NAME="response" TYPE="text" NOTNULL="false" SEQUENCE="false"/>
|
|
|
94 |
<FIELD NAME="responseformat" TYPE="int" LENGTH="2" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
95 |
</FIELDS>
|
|
|
96 |
<KEYS>
|
|
|
97 |
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
|
|
|
98 |
<KEY NAME="lessonid" TYPE="foreign" FIELDS="lessonid" REFTABLE="lesson" REFFIELDS="id"/>
|
|
|
99 |
<KEY NAME="pageid" TYPE="foreign" FIELDS="pageid" REFTABLE="lesson_pages" REFFIELDS="id"/>
|
|
|
100 |
</KEYS>
|
|
|
101 |
</TABLE>
|
|
|
102 |
<TABLE NAME="lesson_attempts" COMMENT="Defines lesson_attempts">
|
|
|
103 |
<FIELDS>
|
|
|
104 |
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
|
|
|
105 |
<FIELD NAME="lessonid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
106 |
<FIELD NAME="pageid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
107 |
<FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
108 |
<FIELD NAME="answerid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
109 |
<FIELD NAME="retry" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
110 |
<FIELD NAME="correct" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
111 |
<FIELD NAME="useranswer" TYPE="text" NOTNULL="false" SEQUENCE="false"/>
|
|
|
112 |
<FIELD NAME="timeseen" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
113 |
</FIELDS>
|
|
|
114 |
<KEYS>
|
|
|
115 |
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
|
|
|
116 |
<KEY NAME="lessonid" TYPE="foreign" FIELDS="lessonid" REFTABLE="lesson" REFFIELDS="id"/>
|
|
|
117 |
<KEY NAME="pageid" TYPE="foreign" FIELDS="pageid" REFTABLE="lesson_pages" REFFIELDS="id"/>
|
|
|
118 |
<KEY NAME="answerid" TYPE="foreign" FIELDS="answerid" REFTABLE="lesson_answers" REFFIELDS="id"/>
|
|
|
119 |
</KEYS>
|
|
|
120 |
<INDEXES>
|
|
|
121 |
<INDEX NAME="userid" UNIQUE="false" FIELDS="userid"/>
|
|
|
122 |
</INDEXES>
|
|
|
123 |
</TABLE>
|
|
|
124 |
<TABLE NAME="lesson_grades" COMMENT="Defines lesson_grades">
|
|
|
125 |
<FIELDS>
|
|
|
126 |
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
|
|
|
127 |
<FIELD NAME="lessonid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
128 |
<FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
129 |
<FIELD NAME="grade" TYPE="float" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
130 |
<FIELD NAME="late" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
131 |
<FIELD NAME="completed" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
132 |
</FIELDS>
|
|
|
133 |
<KEYS>
|
|
|
134 |
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
|
|
|
135 |
<KEY NAME="lessonid" TYPE="foreign" FIELDS="lessonid" REFTABLE="lesson" REFFIELDS="id"/>
|
|
|
136 |
</KEYS>
|
|
|
137 |
<INDEXES>
|
|
|
138 |
<INDEX NAME="userid" UNIQUE="false" FIELDS="userid"/>
|
|
|
139 |
</INDEXES>
|
|
|
140 |
</TABLE>
|
|
|
141 |
<TABLE NAME="lesson_timer" COMMENT="lesson timer for each lesson">
|
|
|
142 |
<FIELDS>
|
|
|
143 |
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
|
|
|
144 |
<FIELD NAME="lessonid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
145 |
<FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
146 |
<FIELD NAME="starttime" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
147 |
<FIELD NAME="lessontime" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
148 |
<FIELD NAME="completed" TYPE="int" LENGTH="1" NOTNULL="false" DEFAULT="0" SEQUENCE="false"/>
|
|
|
149 |
<FIELD NAME="timemodifiedoffline" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false" COMMENT="Last modified time via web services (mobile app)."/>
|
|
|
150 |
</FIELDS>
|
|
|
151 |
<KEYS>
|
|
|
152 |
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
|
|
|
153 |
<KEY NAME="lessonid" TYPE="foreign" FIELDS="lessonid" REFTABLE="lesson" REFFIELDS="id"/>
|
|
|
154 |
</KEYS>
|
|
|
155 |
<INDEXES>
|
|
|
156 |
<INDEX NAME="userid" UNIQUE="false" FIELDS="userid"/>
|
|
|
157 |
</INDEXES>
|
|
|
158 |
</TABLE>
|
|
|
159 |
<TABLE NAME="lesson_branch" COMMENT="branches for each lesson/user">
|
|
|
160 |
<FIELDS>
|
|
|
161 |
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
|
|
|
162 |
<FIELD NAME="lessonid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
163 |
<FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
164 |
<FIELD NAME="pageid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
165 |
<FIELD NAME="retry" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
166 |
<FIELD NAME="flag" TYPE="int" LENGTH="3" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
167 |
<FIELD NAME="timeseen" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
168 |
<FIELD NAME="nextpageid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
|
|
169 |
</FIELDS>
|
|
|
170 |
<KEYS>
|
|
|
171 |
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
|
|
|
172 |
<KEY NAME="lessonid" TYPE="foreign" FIELDS="lessonid" REFTABLE="lesson" REFFIELDS="id"/>
|
|
|
173 |
<KEY NAME="pageid" TYPE="foreign" FIELDS="pageid" REFTABLE="lesson_pages" REFFIELDS="id"/>
|
|
|
174 |
</KEYS>
|
|
|
175 |
<INDEXES>
|
|
|
176 |
<INDEX NAME="userid" UNIQUE="false" FIELDS="userid"/>
|
|
|
177 |
</INDEXES>
|
|
|
178 |
</TABLE>
|
|
|
179 |
<TABLE NAME="lesson_overrides" COMMENT="The overrides to lesson settings.">
|
|
|
180 |
<FIELDS>
|
|
|
181 |
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
|
|
|
182 |
<FIELD NAME="lessonid" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false" COMMENT="Foreign key references lesson.id"/>
|
|
|
183 |
<FIELD NAME="groupid" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false" COMMENT="Foreign key references groups.id. Can be null if this is a per-user override."/>
|
|
|
184 |
<FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false" COMMENT="Foreign key references user.id. Can be null if this is a per-group override."/>
|
|
|
185 |
<FIELD NAME="available" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false" COMMENT="Time at which students may start attempting this lesson. Can be null, in which case the lesson default is used."/>
|
|
|
186 |
<FIELD NAME="deadline" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false" COMMENT="Time by which students must have completed their attempt. Can be null, in which case the lesson default is used."/>
|
|
|
187 |
<FIELD NAME="timelimit" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false" COMMENT="Time limit in seconds. Can be null, in which case the lesson default is used."/>
|
|
|
188 |
<FIELD NAME="review" TYPE="int" LENGTH="3" NOTNULL="false" SEQUENCE="false"/>
|
|
|
189 |
<FIELD NAME="maxattempts" TYPE="int" LENGTH="3" NOTNULL="false" SEQUENCE="false"/>
|
|
|
190 |
<FIELD NAME="retake" TYPE="int" LENGTH="3" NOTNULL="false" SEQUENCE="false"/>
|
|
|
191 |
<FIELD NAME="password" TYPE="char" LENGTH="32" NOTNULL="false" SEQUENCE="false" COMMENT="Lesson password. Can be null, in which case the lesson default is used."/>
|
|
|
192 |
</FIELDS>
|
|
|
193 |
<KEYS>
|
|
|
194 |
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
|
|
|
195 |
<KEY NAME="lessonid" TYPE="foreign" FIELDS="lessonid" REFTABLE="lesson" REFFIELDS="id"/>
|
|
|
196 |
<KEY NAME="groupid" TYPE="foreign" FIELDS="groupid" REFTABLE="groups" REFFIELDS="id"/>
|
|
|
197 |
<KEY NAME="userid" TYPE="foreign" FIELDS="userid" REFTABLE="user" REFFIELDS="id"/>
|
|
|
198 |
</KEYS>
|
|
|
199 |
</TABLE>
|
|
|
200 |
</TABLES>
|
|
|
201 |
</XMLDB>
|