forked from ILIAS-eLearning/ILIAS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathilias_pg_0_1.dtd
executable file
·283 lines (253 loc) · 10.6 KB
/
ilias_pg_0_1.dtd
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
<!-- ilias_pg.dtd for ILIAS Page Objects only, omitting MetaData -->
<!-- , see http://www.ilias.uni-koeln.de/download/dtd/ilias_pg.dtd for current version -->
<!-- Initial version by Maik Stuehrenberg (Giessen University) for the BMBF-funded project MiLCA (Medienintensive Lehrmodule in der Computerlinguistik-Ausbildung), modelled after LOM version 1 Final Draft -->
<!-- Modifications and adoption to ILIAS made by Maik Stuehrenberg (Giessen University), Martin Rus, Matthias Rulinski, Alexander Killing, Matthias Kunkel (ILIAS open source, University of Cologne), Sascha Hofmann (Databay AG, Aachen) -->
<!-- For comments refer to our mailing list: [email protected] -->
<!-- $Id$ -->
<!-- Language codes referring to ISO 639-1 Alpha-2 code, see http://www.oasis-open.org/cover/iso639a.html for details -->
<!ENTITY % langcode "none | aa | ab | af | am | ar | as | ay | az | ba | be | bg | bh | bi | bn | bo | br | ca | co | cs | cy | da | de | dz | el | en | eo | es | et | eu | fa | fi | fj | fo | fr | fy | ga | gd | gl | gn | gu | ha | he | hi | hr | hu | hy | ia | ie | ik | id | is | it | iu | ja | jv | ka | kk | kl | km | kn | ko | ks | ku | ky | la | ln | lo | lt | lv | mg | mi | mk | ml | mn | mo | mr | ms | mt | my | na | ne | nl | no | oc | om | or | pa | pl | ps | pt | qu | rm | rn | ro | ru | rw | sa | sd | sg | sh | si | sk | sl | sm | sn | so | sq | sr | ss | st | su | sv | sw | ta | te | tg | th | ti | tk | tl | tn | to | tr | ts | tt | tw | ug | uk | ur | uz | vi | vo | wo | xh | yi | yo | za | zh | zu">
<!-- Types of (textual) content -->
<!ENTITY % text "#PCDATA | br | Comment | PageTurn | Footnote | Emph | Strong | Quotation | Code | ExtLink | IntLink">
<!ENTITY % commenttext "#PCDATA | br | Emph | PageTurn | Footnote | Strong | Quotation | Code | ExtLink | IntLink">
<!ENTITY % emphtext "#PCDATA | br | Comment | PageTurn | Footnote | Strong | Quotation | Code | ExtLink | IntLink">
<!ENTITY % strongtext "#PCDATA | br | Comment | PageTurn | Footnote | Emph | Quotation | Code | ExtLink | IntLink">
<!ENTITY % linktext "#PCDATA | br | Comment | Emph | Strong | Quotation | Code">
<!ENTITY % simpletext "#PCDATA | br | Emph | Strong | Quotation | Code | ExtLink | IntLink">
<!ENTITY % footnotetext "#PCDATA | br | Emph | Strong | ExtLink | IntLink">
<!ENTITY % titletext "#PCDATA | br | Emph | Strong | Quotation | Code">
<!-- PageObject -->
<!-- Object for displaying content on a screen and comparable to a page of a book; a PageObject contains MediaObjects (=images, applets, ...) and/or paragraphs of textual content; a PageObject must not include StructureObjects or PageObjects! -->
<!-- PageObjects are comparable to LOM LearningObjects of aggregation level 2 -->
<!ELEMENT PageObject (PageContent*, Layout?)>
<!ELEMENT PageContent ((Paragraph | MediaObject | Table | List | FileList | Question), BibItemIdentifier*)>
<!-- BibItemIdentifier specify from which BibItem(s) the content comes -->
<!ELEMENT BibItemIdentifier EMPTY>
<!ATTLIST BibItemIdentifier
Catalog CDATA #IMPLIED
Entry CDATA #REQUIRED
>
<!-- PageTurn -->
<!ELEMENT PageTurn (BibItemIdentifier)>
<!ATTLIST PageTurn
NumberingType (Roman | Arabic | Alphanumeric) #REQUIRED
Number CDATA #IMPLIED
>
<!-- Identifier -->
<!ELEMENT Identifier EMPTY>
<!ATTLIST Identifier
Catalog CDATA #IMPLIED
Entry ID #REQUIRED
>
<!-- Title -->
<!ELEMENT Title (%titletext;)*>
<!ATTLIST Title
Language (%langcode;) #REQUIRED
>
<!-- MediaObject -->
<!-- Object of lowest complexity that contains only raw media data or fragments (e.g. an image or applet); Textual content cannot be a MediaObject! -->
<!-- MediaObjects are comparable to LOM LearningObjects of aggregation level 1 -->
<!ELEMENT MediaObject ((MetaData, MediaItem+) | (MediaAlias, MediaAliasItem+))>
<!-- MediaAlias -->
<!-- Alias for an already existing MediaObject; this allows an easy reuse of existing MediaObjects; an alias is not a copy but only a reference to the original object-->
<!ELEMENT MediaAlias EMPTY>
<!ATTLIST MediaAlias
OriginId CDATA #REQUIRED
>
<!-- MediaAliasItem -->
<!ELEMENT MediaAliasItem (Layout?, Caption?, Parameter*)>
<!ATTLIST MediaAliasItem
Purpose (Standard | Fullscreen | Additional) #REQUIRED
>
<!-- MediaObject is not an alias -->
<!-- Every MediaItem belongs to a corresponding format/location pair in the technical
Section of Meta Data -->
<!ELEMENT MediaItem (Location, Format?, Layout?, Caption?, Parameter*, MapArea*)>
<!ATTLIST MediaItem
Purpose (Standard | Fullscreen | Additional) #REQUIRED
>
<!-- MapAreas should be only defined for image objects with purpose Standard or Fullscreen -->
<!ELEMENT MapArea (ExtLink | IntLink)>
<!ATTLIST MapArea
Shape (Rect | Circle | Poly) #REQUIRED
Coords CDATA #IMPLIED
>
<!ELEMENT Format (#PCDATA)>
<!ELEMENT Location (#PCDATA)>
<!ATTLIST Location
Type (LocalFile | Reference) #REQUIRED
>
<!-- Paragraph -->
<!-- All textual content of a PageObject has to be divided in single paragraphs -->
<!ELEMENT Paragraph (%text;)*>
<!ATTLIST Paragraph
Language (%langcode;) #REQUIRED
Characteristic (Headline1 | Headline2 | Headline3 | Example | Citation | Mnemonic | Additional | List | Remark | Code | TableContent) #IMPLIED
SubCharacteristic CDATA #IMPLIED
AutoIndent (y | n) #IMPLIED
ShowLineNumbers (y | n) #IMPLIED
DownloadTitle CDATA #IMPLIED
>
<!-- br -->
<!ELEMENT br EMPTY>
<!-- Comment -->
<!ELEMENT Comment (%commenttext;)*>
<!ATTLIST Comment
Language (%langcode;) #REQUIRED
>
<!-- Emph -->
<!ELEMENT Emph (%emphtext;)*>
<!ATTLIST Emph
Reason (Keyword | Intuition | MetaLanguageUse) #IMPLIED
>
<!-- Footnote -->
<!ELEMENT Footnote (%footnotetext;)*>
<!ATTLIST Footnote
Creator (Editor | Translator | Author) #IMPLIED
>
<!-- Strong -->
<!ELEMENT Strong (%strongtext;)*>
<!ATTLIST Strong
Reason (Keyword | Intuition | MetaLanguageUse) #IMPLIED
>
<!-- Quotation -->
<!ELEMENT Quotation (%text;)*>
<!ATTLIST Quotation
Language (%langcode;) #REQUIRED
Reference IDREF #IMPLIED
>
<!-- Code -->
<!ELEMENT Code (#PCDATA | br)*>
<!ATTLIST Code
Id ID #IMPLIED
ProgrammingLanguage CDATA #IMPLIED
>
<!-- List -->
<!ELEMENT List (Title?, ListItem+)>
<!ATTLIST List
Id ID #IMPLIED
Type (Ordered | Unordered) #REQUIRED
NumberingType (Roman | roman | Alphabetic | alphabetic | Number) #IMPLIED
>
<!ELEMENT ListItem (PageContent*)>
<!-- FileList -->
<!ELEMENT FileList (Title?, FileItem*)>
<!ELEMENT FileItem (Identifier, Location, Format?)>
<!-- Table -->
<!-- Table model is some kind of a mixture of mimalized CALS and HTML dtd -->
<!-- Only a minimum of style elements and attributes defined -->
<!ELEMENT Table (Title?, Caption?, Summary?, TableRow+)>
<!ATTLIST Table
Language (%langcode;) #REQUIRED
Id ID #IMPLIED
Width CDATA #IMPLIED
Border CDATA #IMPLIED
HorizontalAlign (Left | Center | Right | LeftFloat | RightFloat) #IMPLIED
CellPadding CDATA #IMPLIED
CellSpacing CDATA #IMPLIED
Class CDATA #IMPLIED
>
<!ELEMENT Caption (%titletext;)*>
<!ATTLIST Caption
Align (top | bottom) #REQUIRED
>
<!ELEMENT Summary (%simpletext;)*>
<!ELEMENT TableRow (TableData+)>
<!ELEMENT TableData (PageContent*)>
<!ATTLIST TableData
Width CDATA #IMPLIED
Class CDATA #IMPLIED
>
<!-- ExtLink -->
<!-- An element to link to _external_ resources outside the ILIAS system, e.g. to a web site-->
<!-- It is fixed to xlink-type simple, only required attribute value is href -->
<!ELEMENT ExtLink (%linktext;)*>
<!ATTLIST ExtLink
Href CDATA #REQUIRED
Title CDATA #IMPLIED
>
<!-- IntLink -->
<!-- An element to link to _internal_ resources via XML ID/IDREF -->
<!-- Each Object has an Identifier attribute (type ID) in its Metadata/General element; only this one should be used! -->
<!-- Other less usable Identifier attributes are in Metadata/Meta-Metadata and in Metadata/Resource element; they should be ignored! -->
<!-- In case of Anchor the concerning attribute Id of the Anchor should be used! -->
<!-- Target Type differs from ilias_co.dtd (there: IDREF) -->
<!ELEMENT IntLink (%linktext;)*>
<!ATTLIST IntLink
Target CDATA #REQUIRED
Type (StructureObject | PageObject | MediaObject | GlossaryItem | RepositoryItem) #REQUIRED
TargetFrame (Media | FAQ | Glossary | New) #IMPLIED
>
<!-- Question -->
<!ELEMENT Question EMPTY>
<!ATTLIST Question
QRef CDATA #REQUIRED
>
<!-- Glossary -->
<!-- The Glossary is a container for all GlossaryItems and always part of the LearningModule-->
<!ELEMENT Glossary (MetaData, GlossaryItem+)>
<!--A GlossaryItem consists of MetaData, a term and one or more definitions; it can be referred by PageObjects-->
<!ELEMENT GlossaryItem (GlossaryTerm, Definition+)>
<!ATTLIST GlossaryItem
Language (%langcode;) #REQUIRED
Id ID #REQUIRED
>
<!-- GlossaryTerms can be included in Paragraphs -->
<!ELEMENT GlossaryTerm (#PCDATA)>
<!ELEMENT Definition (MetaData, PageContent*)>
<!-- Layout -->
<!-- Layout information for formatting content output different from default layout -->
<!ELEMENT Layout EMPTY>
<!ATTLIST Layout
HorizontalAlign (Left | Center | Right | LeftFloat | RightFloat) #IMPLIED
Width CDATA #IMPLIED
Height CDATA #IMPLIED
>
<!-- Parameter -->
<!-- Special parameters needed for MediaObjects, e.g. a starting class for Java objects; parameters depend on types of MediaObjects -->
<!ELEMENT Parameter EMPTY>
<!ATTLIST Parameter
Name CDATA #REQUIRED
Value CDATA #REQUIRED
>
<!-- BibItem -->
<!ELEMENT BibItem (Identifier, Language+, Author*, Booktitle, CrossRef*, Edition, Editor*, HowPublished, WherePublished*, Institution*, Journal?, Keyword*, Month?, Pages?, Publisher, School*, Series?, Year, (URL | (ISSN?, ISBN?)))>
<!ATTLIST BibItem
Type (book | inbook | journalarticle | proceedings | inproceedings | dissertation | phdthesis | mastersthesis | techreport | manual | newspaperarticle | av | internet | unpublished) #REQUIRED
Label ID #REQUIRED
>
<!ELEMENT Author (FirstName*, MiddleName*, LastName)>
<!ELEMENT Booktitle (#PCDATA)>
<!ATTLIST Booktitle
Language (%langcode;) #REQUIRED
>
<!ELEMENT CrossRef (#PCDATA)>
<!ELEMENT Edition (#PCDATA)>
<!ELEMENT Editor (#PCDATA)>
<!ELEMENT HowPublished EMPTY>
<!ATTLIST HowPublished
Type (GreyLiterature | Print | Internet) #REQUIRED
>
<!ELEMENT WherePublished (#PCDATA)>
<!ELEMENT Institution (#PCDATA)>
<!ELEMENT Journal (#PCDATA)>
<!ATTLIST Journal
Note CDATA #IMPLIED
Number CDATA #REQUIRED
Organization CDATA #IMPLIED
>
<!ELEMENT Month (#PCDATA)>
<!ELEMENT Pages (#PCDATA)>
<!ELEMENT Publisher (#PCDATA)>
<!ELEMENT School (#PCDATA)>
<!ELEMENT Series (SeriesTitle, SeriesEditor*, SeriesVolume?)>
<!ELEMENT SeriesTitle (#PCDATA)>
<!ELEMENT SeriesEditor (#PCDATA)>
<!ELEMENT SeriesVolume (#PCDATA)>
<!ELEMENT Volume (#PCDATA)>
<!ELEMENT Year (#PCDATA)>
<!ELEMENT ISBN (#PCDATA)>
<!ELEMENT ISSN (#PCDATA)>
<!ELEMENT URL (#PCDATA)>
<!ELEMENT LastName (#PCDATA)>
<!ELEMENT FirstName (#PCDATA)>
<!ELEMENT MiddleName (#PCDATA)>