File: libmergeant.dtd

package info (click to toggle)
mergeant 0.52-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 12,872 kB
  • ctags: 6,584
  • sloc: ansic: 63,372; xml: 23,218; sh: 10,895; makefile: 612; sql: 237
file content (293 lines) | stat: -rw-r--r-- 8,788 bytes parent folder | download | duplicates (2)
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
284
285
286
287
288
289
290
291
292
293
<!--      mergeant.dtd
          DTD for LibMergeant
          Version 1.20
          Copyright (C) 2000 - 2003 Vivien Malerba
          Copyright (C) 2001 - 2002 Fernando Martins
-->
<!-- MG_CONF (MG_SERVER, MG_DATABASE, MG_QUERY*, MG_GUI) -->
<!ELEMENT MG_CONF (MG_SERVER, MG_DATABASE?, MG_QUERIES*, MG_GRAPHS?, MG_LAYOUTS?)>

<!--      Information specific to a connexion: MG_SERVER
          ID construction for:
             * data types: "DT" + type name (ex: name="DTbool")
             * function:   "PR" + oid       (ex: oid="PR1265")
             * aggregate:  "AG" + oid       (ex: oid="AG52")
-->

<!ELEMENT MG_SERVER (MG_GDA_DATASOURCE, MG_USERNAME, MG_DATATYPES?, MG_PROCEDURES?, MG_AGGREGATES?)>
<!ATTLIST MG_SERVER 
	  with_functions (t|f) #IMPLIED>

<!ELEMENT MG_GDA_DATASOURCE (#PCDATA)>
<!ELEMENT MG_USERNAME (#PCDATA)>


<!ELEMENT MG_DATATYPES (MG_DATATYPE*)>
<!ELEMENT MG_DATATYPE EMPTY>
<!ATTLIST MG_DATATYPE
	  id ID #REQUIRED
          name CDATA #REQUIRED
          owner CDATA #IMPLIED
          descr CDATA #IMPLIED
          nparam NMTOKEN #REQUIRED
          gdatype NMTOKEN #REQUIRED>

<!ELEMENT MG_PROCEDURES (MG_FUNCTION*)>
<!ELEMENT MG_FUNCTION (MG_FUNC_PARAM*)>
<!ATTLIST MG_FUNCTION
	  id ID #REQUIRED
          name NMTOKEN #REQUIRED 
          owner CDATA #IMPLIED
          descr CDATA #IMPLIED>

<!ELEMENT MG_FUNC_PARAM EMPTY>
<!ATTLIST MG_FUNC_PARAM
          type IDREF #IMPLIED
          way (out|in) #REQUIRED>

<!ELEMENT MG_AGGREGATES (MG_AGGREGATE*)>
<!ELEMENT MG_AGGREGATE (MG_FUNC_PARAM*)>
<!ATTLIST MG_AGGREGATE
          id ID #REQUIRED
          name NMTOKEN #REQUIRED
          owner CDATA #IMPLIED
          descr CDATA #IMPLIED>




<!--      Information specific to a database: MG_DATABASE
          ID construction for:
             * tables:   "TV" + table/view name (ex: name="TVusers")
             * fields:   table id + ":FI" + field name (ex: name="TVusers:FIphone")
             * sequences:"SE" + sequence name (ex: name="SEusers_seq")
-->

<!ELEMENT MG_DATABASE (MG_TABLES?, MG_SEQUENCES?, MG_CONSTRAINTS?)>

<!ELEMENT MG_TABLES (MG_TABLE*)>

<!ELEMENT MG_TABLE (MG_PARENT_TABLE*, MG_FIELD*)>
<!ATTLIST MG_TABLE
          id ID #REQUIRED
	  name NMTOKEN #REQUIRED
          owner NMTOKEN #REQUIRED
          descr CDATA #IMPLIED
          is_view (t|f) #IMPLIED>

<!ELEMENT MG_PARENT_TABLE EMPTY>
<!ATTLIST MG_PARENT_TABLE
          table IDREF #REQUIRED
          order NMTOKEN #REQUIRED>

<!ELEMENT MG_FIELD EMPTY>
<!ATTLIST MG_FIELD
          id ID #REQUIRED
	  name NMTOKEN #REQUIRED
	  owner NMTOKEN #IMPLIED
	  descr CDATA #IMPLIED
          type IDREF #REQUIRED
          length NMTOKEN #REQUIRED
	  scale NMTOKEN #REQUIRED
          default CDATA #IMPLIED
	  default_gda_type NMTOKEN #IMPLIED
          plugin NMTOKENS #IMPLIED>

<!ELEMENT MG_CONSTRAINTS (MG_CONSTRAINT*)>

<!ELEMENT MG_CONSTRAINT (MG_CONSTRAINT_FIELD* | MG_CONSTRAINT_PAIR*)>
<!ATTLIST MG_CONSTRAINT
	  name CDATA #IMPLIED
	  table IDREF #REQUIRED
	  user_defined (t|f) #IMPLIED
	  type NMTOKEN #REQUIRED
	  on_update NMTOKEN #IMPLIED
	  on_delete NMTOKEN #IMPLIED>

<!ELEMENT MG_CONSTRAINT_FIELD EMPTY>
<!ATTLIST MG_CONSTRAINT_FIELD
	  field IDREF #REQUIRED>

<!ELEMENT MG_CONSTRAINT_PAIR EMPTY>
<!ATTLIST MG_CONSTRAINT_PAIR
          field IDREF #REQUIRED
	  ref IDREF #REQUIRED>

<!ELEMENT MG_SEQUENCES (MG_SEQUENCE*)>
<!ELEMENT MG_SEQUENCE (seq_link*)>
<!ATTLIST MG_SEQUENCE
          name ID #REQUIRED
          comments CDATA #IMPLIED
          owner NMTOKEN #REQUIRED>

<!ELEMENT seq_link EMPTY>
<!ATTLIST seq_link
          field IDREF #REQUIRED>




<!--      Information specific to a queries
          ID construction for:
             * queries:  "QU" + query ident (ex: name="QU15")
	     * target: query id + ":T" + id of the target
             * field: Query id + ":QF" + element order in the list
                                            (ex: id = "QU15:QF2")
	     * condition: Query id + "C" + id of the condition
-->

<!ELEMENT MG_QUERIES (MG_QUERY*)>

<!ELEMENT MG_QUERY (MG_PARAM_SOURCES?, ((MG_TARGET*, MG_QF*, MG_JOIN*, MG_COND?, MG_FIELDS_ORDER?) | MG_QUERY_TEXT? | MG_QUERY*))>
<!ATTLIST MG_QUERY
          id ID #REQUIRED
          name CDATA #IMPLIED
          descr CDATA #IMPLIED
	  query_type (SEL|INS|UPD|DEL|NION|ECT|XPT|TXT) #REQUIRED>

<!ELEMENT MG_TARGET EMPTY>
<!ATTLIST MG_TARGET
          id ID #REQUIRED
	  entity_ref IDREF #REQUIRED
	  occ CDATA #IMPLIED
	  alias NMTOKENS #IMPLIED>

<!-- value_prov can be a query in case of MgQfValue fields -->
<!ELEMENT MG_QF (MG_QF_REF*)>
<!ATTLIST MG_QF
          id ID #REQUIRED
          type (FIELD|ALL|AGG|FUNC|VAL) #REQUIRED
          name CDATA #IMPLIED
	  descr CDATA #IMPLIED
          target IDREF #IMPLIED
          object IDREF #IMPLIED
          is_visible (t|f) #IMPLIED
          is_internal (t|f) #IMPLIED
          value_prov IDREF #IMPLIED
          alias CDATA #IMPLIED
	  value CDATA #IMPLIED
          srv_type IDREF #IMPLIED
          default CDATA #IMPLIED
	  default_gda_type NMTOKEN #IMPLIED
	  is_param (t|f) #IMPLIED
	  null_ok (t|f) #IMPLIED
	  plugin NMTOKENS #IMPLIED>

<!ELEMENT MG_QF_REF EMPTY>
<!ATTLIST MG_QF_REF
 	  object IDREF #REQUIRED
          order (ASC|DES) #IMPLIED>

<!ELEMENT MG_FIELDS_ORDER (MG_QF_REF*)>

<!ELEMENT MG_COND (MG_COND*)>
<!ATTLIST MG_COND
          id ID #REQUIRED
          type (AND|OR|NOT|EQ|NE|SUP|ESUP|INF|EINF|LIKE|SIMI|REG|CREG|NREG|CNREG|IN|BTW) #REQUIRED
	  l_op IDREF #IMPLIED
	  r_op IDREF #IMPLIED
	  r_op2 IDREF #IMPLIED>

<!ELEMENT QueryJoinList (QueryJoin*)>

<!ELEMENT MG_JOIN (MG_COND?)>
<!ATTLIST MG_JOIN
          target1 IDREF #REQUIRED
          target2 IDREF #REQUIRED
	  join_type (INNER|LEFT|RIGHT|FULL|CROSS) #IMPLIED>

<!ELEMENT MG_QUERY_TEXT (#PCDATA)>

<!ELEMENT MG_PARAM_SOURCES (MG_QUERY*)>


<!--      Information specific to the GUI part of the program 
	  ID construction for:
		* MgGraph: "GR" + graph ident (example: "GR10")
-->
<!ELEMENT MG_GRAPHS (MG_GRAPH*)>

<!ELEMENT MG_GRAPH (MG_GRAPH_ITEM*)>
<!ATTLIST MG_GRAPH
	  id ID #REQUIRED
	  name CDATA #IMPLIED
          descr CDATA #IMPLIED
	  type (R|Q|M) #IMPLIED
          object IDREF #IMPLIED>

<!ELEMENT MG_GRAPH_ITEM EMPTY>
<!ATTLIST MG_GRAPH_ITEM
          object IDREF #IMPLIED
	  xpos CDATA #IMPLIED
	  ypos CDATA #IMPLIED>

<!--      Defining complex layouts (MG_CUSTOM_LAYOUT) composed of MgWorkWidget objects (as defined by MG_CUSTOM_FORM, MG_CUSTOM_GRID and MG_CUSTOM_MATRIX)
          and other MG_CUSTOM_LAYOUT.

	  Every time, the MG_GLADE tag defines which glade file to load, and in which box (GtkBox) display the corresponding widgets (MgWorkWidget or
	  individual MgDataEntry for MG_CUSTOM_FORM if the MG_GLADE tag exists).

	  ID is "CL" + the layout serial id

	  Layout names must be unique throughout a MgConf dictionnary.
-->
<!ELEMENT MG_LAYOUTS ((MG_CUSTOM_LAYOUT | MG_CUSTOM_FORM | MG_CUSTOM_GRID | MG_CUSTOM_MATRIX)*)>

<!ELEMENT MG_CUSTOM_LAYOUT ((MG_CUSTOM_FORM | MG_CUSTOM_GRID | MG_CUSTOM_MATRIX | MG_CUSTOM_LAYOUT)*, MG_GLADE, MG_LAYOUT_CONNECT*)>
<!ATTLIST MG_CUSTOM_LAYOUT
	  id ID #REQUIRED
	  name CDATA #IMPLIED
          descr CDATA #IMPLIED>

<!ELEMENT MG_LAYOUT_CONNECT EMPTY>
<!ATTLIST MG_LAYOUT_CONNECT
	  src_layout IDREF #REQUIRED
	  src_field CDATA #REQUIRED
	  dest_layout IDREF #REQUIRED
          dest_field CDATA #REQUIRED>

<!ELEMENT MG_CUSTOM_GRID (MG_QUERY | MG_QUERY_REF)>
<!ATTLIST MG_CUSTOM_GRID
	  id ID #REQUIRED
	  modif_target IDREF #IMPLIED
	  mode CDATA #IMPLIED
	  name CDATA #IMPLIED
          descr CDATA #IMPLIED>

<!ELEMENT MG_CUSTOM_MATRIX ((MG_QUERY | MG_QUERY_REF), (MG_QUERY | MG_QUERY_REF))>
<!ATTLIST MG_CUSTOM_MATRIX
	  id ID #REQUIRED
	  rows_target IDREF #REQUIRED
	  cols_target IDREF #REQUIRED
	  modif_table IDREF #IMPLIED
	  mode CDATA #IMPLIED
          view_type (TS|LD|LS) #IMPLIED
	  name CDATA #IMPLIED
          descr CDATA #IMPLIED>

<!ELEMENT MG_CUSTOM_FORM ((MG_QUERY | MG_QUERY_REF), MG_GLADE?)>
<!ATTLIST MG_CUSTOM_FORM
	  id ID #REQUIRED
	  modif_target IDREF #IMPLIED
	  mode CDATA #IMPLIED
          name CDATA #IMPLIED
          descr CDATA #IMPLIED>

<!ELEMENT MG_QUERY_REF EMPTY>
<!ATTLIST MG_QUERY_REF
	  id_query IDREF #REQUIRED> <!-- references another query in the dictionnary -->

<!ELEMENT MG_GLADE (MG_GLADE_BOX*)>
<!ATTLIST MG_GLADE
	  filename CDATA #REQUIRED
	  root_widget CDATA #REQUIRED> <!-- root widget to take into account -->

<!--  box_name Id of the widget in the glade file -->
<!ELEMENT MG_GLADE_BOX (MG_GLADE_DEST*)>
<!ATTLIST MG_GLADE_BOX
	  box_name CDATA #REQUIRED
	  show_actions (t|f) #IMPLIED> 

<!ELEMENT MG_GLADE_DEST EMPTY>
<!ATTLIST MG_GLADE_DEST
	  object IDREF #REQUIRED> <!-- references either another MG_CUSTOM_FORM, MG_CUSTOM_GRID, MG_CUSTOM_MATRIX, MG_CUSTOM_LAYOUT or a MG_QF -->