-
Notifications
You must be signed in to change notification settings - Fork 0
/
ignore_apdx-validation.tex
544 lines (430 loc) · 25 KB
/
ignore_apdx-validation.tex
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
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
% -*- TeX-master: "main"; fill-column: 72 -*-
\section{Validation of SBGN documents}
\label{apdx-validation}
\subsection{Validation and consistency rules}
\label{validation-rules}
This section summarizes all the conditions that must (or in some cases,
at least \emph{should}) be true of an SBGN Level~0 Version~2 model that
uses the \SystemsBiologyGraphicalNotationMarkupLanguagePackage. There are different degrees of
rule strictness. Formally, the differences are expressed in the
statement of a rule: either a rule states that a condition \emph{must}
be true, or a rule states that it \emph{should} be true. Rules of the
former kind are strict SBGN validation rules---a model encoded in SBGN
must conform to all of them in order to be considered valid. Rules of
the latter kind are consistency rules. To help highlight these
differences, we use the following three symbols next to the rule
numbers:
\begin{description}
\item[\hspace*{6.5pt}\vSymbol\vsp] A \vSymbolName indicates a
\emph{requirement} for SBGN conformance. If a model does not follow this
rule, it does not conform to the
\SystemsBiologyGraphicalNotationMarkupLanguagePackage specification.
(Mnemonic intention behind the choice of symbol: ``This must be
checked.'')
\item[\hspace*{6.5pt}\cSymbol\csp] A \cSymbolName indicates a
\emph{recommendation} for model consistency. If a model does not follow
this rule, it is not considered strictly invalid as far as the
\SystemsBiologyGraphicalNotationMarkupLanguagePackage specification is
concerned; however, it indicates that the model contains a physical or
conceptual inconsistency. (Mnemonic intention behind the choice of
symbol: ``This is a cause for warning.'')
\item[\hspace*{6.5pt}\mSymbol\msp] A \mSymbolName indicates a strong
recommendation for good modeling practice. This rule is not strictly a
matter of SBGN encoding, but the recommendation comes from logical
reasoning. As in the previous case, if a model does not follow this
rule, it is not strictly considered an invalid SBGN encoding. (Mnemonic
intention behind the choice of symbol: ``You're a star if you heed
this.'')
\end{description}
The validation rules listed in the following subsections are all stated
or implied in the rest of this specification document. They are
enumerated here for convenience. Unless explicitly stated, all
validation rules concern objects and attributes specifically defined in
the \SystemsBiologyGraphicalNotationMarkupLanguagePackage package.
For \notice convenience and brevity, we use the shorthand
``\token{sbgnml:\-x}'' to stand for an attribute or element name
\token{x} in the namespace for the
\SystemsBiologyGraphicalNotationMarkupLanguagePackage package, using
the namespace prefix \token{sbgnml}. In reality, the prefix string may
be different from the literal ``\token{sbgnml}'' used here (and indeed,
it can be any valid XML namespace prefix that the modeler or software
chooses). We use ``\token{sbgnml:\-x}'' because it is shorter than to
write a full explanation everywhere we refer to an attribute or element
in the \SystemsBiologyGraphicalNotationMarkupLanguagePackage namespace.
\subsubsection*{General rules about this package}
\validRule{sbgnml-10101}{To conform to the
\SystemsBiologyGraphicalNotationMarkupLanguagePackage specification for
SBGN Level~0 Version~2, an SBGN document must declare \\
\uri{http://sbgn.org/libsbgn/0.3} as the
XMLNamespace to use for elements of this package. (Reference: SBGN
Level~0 Specification for Systems Biology Graphical Notation - Markup
Language, Version~0 \sec{xml-namespace}.)}
\validRule{sbgnml-10102}{Wherever they appear in an SBGN document,
elements and attributes from the
\SystemsBiologyGraphicalNotationMarkupLanguagePackage must use the \\
\uri{http://sbgn.org/libsbgn/0.3}
namespace, declaring so either explicitly or implicitly. (Reference:
SBGN Level~0 Specification for Systems Biology Graphical Notation -
Markup Language, Version~0 \sec{xml-namespace}.)}
\subsubsection*{General rules about identifiers}
\validRule{sbgnml-10302}{The value of a \token{sbgnml:\-id} must conform
to the syntax of the XML Type ID}
\subsubsection*{Rules for the extended \class{SBGN} class}
\validRule{sbgnml-10303}{The value of a \token{sbgnml:\-metaid} must
conform to the syntax of the XML Type ID}
\validRule{sbgnml-20101}{Invalid namespace declared. (Reference: SBGN
Level~0 Specification for Systems Biology Graphical Notation - Markup
Language, Version~0 \sec{primitive-types}.)}
\validRule{sbgnml-20102}{Allowed attributes (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0 \sec{primitive-types}.)}
\subsubsection*{Rules for \class{Point} object}
\validRule{sbgnml-20201}{A \Point object may have the optional SBGN
Level~3 Core attributes \token{metaid} and \token{sboTerm}.}
\validRule{sbgnml-20202}{A \Point object may have the optional SBGN
Level~3 Core subobjects for notes and annotations.
}
\validRule{sbgnml-20203}{A \Point object must have the required
attributes \token{sbgnml:\-x} and \token{sbgnml:\-y}. No other
attributes from the SBGN Level~3 Systems Biology Graphical Notation -
Markup Language namespaces are permitted on a \Point object. (Reference:
SBGN Level~0 Specification for Systems Biology Graphical Notation -
Markup Language, Version~0, \sec{point-class}.)}
\validRule{sbgnml-20204}{A \Point object may contain one and only one
instance of the \SbgnListOfPoints element. No other elements from the SBGN
Level~3 Systems Biology Graphical Notation - Markup Language namespaces
are permitted on a \Point object. (Reference: SBGN Level~0 Specification
for Systems Biology Graphical Notation - Markup Language, Version~0,
\sec{point-class}.)}
\validRule{sbgnml-20205}{The attribute \token{sbgnml:\-x} on a \Point
must have a value of data type \token{double}. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{point-class}.)}
\validRule{sbgnml-20206}{The attribute \token{sbgnml:\-y} on a \Point
must have a value of data type \token{double}. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{point-class}.)}
\subsubsection*{Rules for \class{BBox} object}
\validRule{sbgnml-20301}{A \BBox object may have the optional SBGN
Level~3 Core attributes \token{metaid} and \token{sboTerm}. }
\validRule{sbgnml-20302}{A \BBox object may have the optional SBGN
Level~3 Core subobjects for notes and annotations. No other elements
from the SBGN Level~3 Core namespaces are permitted on a \BBox.
}
\validRule{sbgnml-20303}{A \BBox object must have the required
attributes \token{sbgnml:\-x}, \token{sbgnml:\-y},
\token{sbgnml:\-w} and \token{sbgnml:\-h}. No other attributes
from the SBGN Level~3 Systems Biology Graphical Notation - Markup
Language namespaces are permitted on a \BBox object. (Reference: SBGN
Level~0 Specification for Systems Biology Graphical Notation - Markup
Language, Version~0, \sec{bbox-class}.)}
\validRule{sbgnml-20304}{The attribute \token{sbgnml:\-x} on a \BBox
must have a value of data type \token{double}. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{bbox-class}.)}
\validRule{sbgnml-20305}{The attribute \token{sbgnml:\-y} on a \BBox
must have a value of data type \token{double}. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{bbox-class}.)}
\validRule{sbgnml-20306}{The attribute \token{sbgnml:\-w} on a \BBox
must have a value of data type \token{double}. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{bbox-class}.)}
\validRule{sbgnml-20307}{The attribute \token{sbgnml:\-h} on a
\BBox must have a value of data type \token{double}. (Reference: SBGN
Level~0 Specification for Systems Biology Graphical Notation - Markup
Language, Version~0, \sec{bbox-class}.)}
\subsubsection*{Rules for \class{Label} object}
\validRule{sbgnml-20401}{A \Label object may have the optional SBGN
Level~3 Core attributes \token{metaid} and \token{sboTerm}. No other
attributes from the SBGN Level~3 Core namespaces are permitted on a
\Label. }
\validRule{sbgnml-20402}{A \Label object may have the optional SBGN
Level~3 Core subobjects for notes and annotations. No other elements
from the SBGN Level~3 Core namespaces are permitted on a \Label.
}
\validRule{sbgnml-20403}{A \Label object must have the required
attribute \token{sbgnml:\-text}, and may have the optional attribute
\token{sbgnml:\-id}. No other attributes from the SBGN Level~3 Systems
Biology Graphical Notation - Markup Language namespaces are permitted on
a \Label object. (Reference: SBGN Level~0 Specification for Systems
Biology Graphical Notation - Markup Language, Version~0,
\sec{label-class}.)}
\validRule{sbgnml-20404}{A \Label object may contain one and only one
instance of the BBox element. No other elements from the SBGN Level~3
Systems Biology Graphical Notation - Markup Language namespaces are
permitted on a \Label object. (Reference: SBGN Level~0 Specification for
Systems Biology Graphical Notation - Markup Language, Version~0,
\sec{label-class}.)}
\validRule{sbgnml-20405}{The attribute \token{sbgnml:\-text} on a \Label
must have a value of data type \token{string}. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{label-class}.)}
\validRule{sbgnml-20406}{The attribute \token{sbgnml:\-id} on a \Label
must have a value of XML data type \token{ID}. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{label-class}.)}
\subsubsection*{Rules for \class{Map} object}
\validRule{sbgnml-20501}{A \Map object may have the optional SBGN
Level~3 Core attributes \token{metaid} and \token{sboTerm}. No other
attributes from the SBGN Level~3 Core namespaces are permitted on a
\Map. }
\validRule{sbgnml-20502}{A \Map object may have the optional SBGN
Level~3 Core subobjects for notes and annotations. No other elements
from the SBGN Level~3 Core namespaces are permitted on a \Map.
}
\validRule{sbgnml-20503}{A \Map object must have the required attribute
\token{sbgnml:\-language}, and may have the optional attribute
\token{sbgnml:\-id}. No other attributes from the SBGN Level~3 Systems
Biology Graphical Notation - Markup Language namespaces are permitted on
a \Map object. (Reference: SBGN Level~0 Specification for Systems
Biology Graphical Notation - Markup Language, Version~0,
\sec{map-class}.)}
\validRule{sbgnml-20504}{A \Map object may contain one and only one
instance of each of the BBox, \SbgnListOfGlyphs, \SbgnListOfArcs and
\SbgnListOfArcGroups elements. No other elements from the SBGN Level~3
Systems Biology Graphical Notation - Markup Language namespaces are
permitted on a \Map object. (Reference: SBGN Level~0 Specification for
Systems Biology Graphical Notation - Markup Language, Version~0,
\sec{map-class}.)}
\validRule{sbgnml-20505}{The value of the attribute
\token{sbgnml:\-language} of a \Map object must conform to the syntax of
SBGN data type \primtype{Language} and may only take on the allowed
values of \primtype{Language} defined in SBGN; that is, the value must
be one of the following: \val{process description}, \val{entity
relationship}, \val{activity flow} or \val{invalid Language value}.
(Reference: SBGN Level~0 Specification for Systems Biology Graphical
Notation - Markup Language, Version~0, \sec{map-class}.)}
\validRule{sbgnml-20506}{The attribute \token{sbgnml:\-id} on a \Map
must have a value of XML data type \token{ID}. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{map-class}.)}
\subsubsection*{Rules for \class{Document} object}
\validRule{sbgnml-20601}{A \Document object may have the optional SBGN
Level~3 Core attributes \token{metaid} and \token{sboTerm}. No other
attributes from the SBGN Level~3 Core namespaces are permitted on a
\Document. }
\validRule{sbgnml-20602}{A \Document object may have the optional SBGN
Level~3 Core subobjects for notes and annotations. No other elements
from the SBGN Level~3 Core namespaces are permitted on a \Document.
}
\validRule{sbgnml-20603}{A \Document object must contain one and only
one instance of the Map element. No other elements from the SBGN Level~3
Systems Biology Graphical Notation - Markup Language namespaces are
permitted on a \Document object. (Reference: SBGN Level~0 Specification
for Systems Biology Graphical Notation - Markup Language, Version~0,
\sec{document-class}.)}
\subsubsection*{Rules for \class{Glyph} object}
\validRule{sbgnml-20701}{A \Glyph object may have the optional SBGN
Level~3 Core attributes \token{metaid} and \token{sboTerm}. No other
attributes from the SBGN Level~3 Core namespaces are permitted on a
\Glyph. }
\validRule{sbgnml-20702}{A \Glyph object may have the optional SBGN
Level~3 Core subobjects for notes and annotations. No other elements
from the SBGN Level~3 Core namespaces are permitted on a \Glyph.
}
\validRule{sbgnml-20703}{A \Glyph object must have the required
attributes \token{sbgnml:\-id} and \token{sbgnml:\-class}, and may have
the optional attributes \token{sbgnml:\-compartmentRef},
\token{sbgnml:\-compartmentOrder} and \token{sbgnml:\-orientation}. No
other attributes from the SBGN Level~3 Systems Biology Graphical
Notation - Markup Language namespaces are permitted on a \Glyph object.
(Reference: SBGN Level~0 Specification for Systems Biology Graphical
Notation - Markup Language, Version~0, \sec{glyph-class}.)}
\validRule{sbgnml-20704}{A \Glyph object must contain one and only one
instance of the BBox element, and may contain one and only one instance
of each of the Label, State, Glyph, Callout, Entity, \SbgnListOfGlyphs and
\SbgnListOfPorts elements. No other elements from the SBGN Level~3 Systems
Biology Graphical Notation - Markup Language namespaces are permitted on
a \Glyph object. (Reference: SBGN Level~0 Specification for Systems
Biology Graphical Notation - Markup Language, Version~0,
\sec{glyph-class}.)}
\validRule{sbgnml-20705}{The attribute \token{sbgnml:\-id} on a \Glyph
must have a value of XML data type \token{ID}. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{glyph-class}.)}
\validRule{sbgnml-20706}{The attribute \token{sbgnml:\-class} on a
\Glyph must have a value of data type \token{string}. (Reference: SBGN
Level~0 Specification for Systems Biology Graphical Notation - Markup
Language, Version~0, \sec{glyph-class}.)}
\validRule{sbgnml-20707}{The value of the attribute
\token{sbgnml:\-compartmentRef} of a \Glyph object must be the 'metaid'
of an existing \SbgnBase object defined in the enclosing \Model object.
(Reference: SBGN Level~0 Specification for Systems Biology Graphical
Notation - Markup Language, Version~0, \sec{glyph-class}.)}
\validRule{sbgnml-20708}{The attribute \token{sbgnml:\-compartmentOrder}
on a \Glyph must have a value of data type \token{double}. (Reference:
SBGN Level~0 Specification for Systems Biology Graphical Notation -
Markup Language, Version~0, \sec{glyph-class}.)}
\validRule{sbgnml-20709}{The value of the attribute
\token{sbgnml:\-orientation} of a \Glyph object must conform to the
syntax of SBGN data type \primtype{Orientation} and may only take on the
allowed values of \primtype{Orientation} defined in SBGN; that is, the
value must be one of the following: \val{horizontal}, \val{vertical},
\val{left}, \val{right}, \val{up}, \val{down} or \val{invalid
Orientation value}. (Reference: SBGN Level~0 Specification for Systems
Biology Graphical Notation - Markup Language, Version~0,
\sec{glyph-class}.)}
\subsubsection*{Rules for \class{Port} object}
\validRule{sbgnml-20801}{A \Port object may have the optional SBGN
Level~3 Core attributes \token{metaid} and \token{sboTerm}. No other
attributes from the SBGN Level~3 Core namespaces are permitted on a
\Port. }
\validRule{sbgnml-20802}{A \Port object may have the optional SBGN
Level~3 Core subobjects for notes and annotations. No other elements
from the SBGN Level~3 Core namespaces are permitted on a \Port.
}
\validRule{sbgnml-20803}{A \Port object must have the required
attributes \token{sbgnml:\-id}, \token{sbgnml:\-x} and
\token{sbgnml:\-y}. No other attributes from the SBGN Level~3 Systems
Biology Graphical Notation - Markup Language namespaces are permitted on
a \Port object. (Reference: SBGN Level~0 Specification for Systems
Biology Graphical Notation - Markup Language, Version~0,
\sec{port-class}.)}
\validRule{sbgnml-20804}{The attribute \token{sbgnml:\-id} on a \Port
must have a value of XML data type \token{ID}. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{port-class}.)}
\validRule{sbgnml-20805}{The attribute \token{sbgnml:\-x} on a \Port
must have a value of data type \token{double}. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{port-class}.)}
\validRule{sbgnml-20806}{The attribute \token{sbgnml:\-y} on a \Port
must have a value of data type \token{double}. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{port-class}.)}
\subsubsection*{Rules for \class{Arc} object}
\validRule{sbgnml-20901}{An \Arc object may have the optional SBGN
Level~3 Core attributes \token{metaid} and \token{sboTerm}. No other
attributes from the SBGN Level~3 Core namespaces are permitted on an
\Arc. }
\validRule{sbgnml-20902}{An \Arc object may have the optional SBGN
Level~3 Core subobjects for notes and annotations. No other elements
from the SBGN Level~3 Core namespaces are permitted on an \Arc.
}
\validRule{sbgnml-20903}{An \Arc object must have the required
attributes \token{sbgnml:\-id}, \token{sbgnml:\-class},
\token{sbgnml:\-source} and \token{sbgnml:\-target}. No other attributes
from the SBGN Level~3 Systems Biology Graphical Notation - Markup
Language namespaces are permitted on an \Arc object. (Reference: SBGN
Level~0 Specification for Systems Biology Graphical Notation - Markup
Language, Version~0, \sec{arc-class}.)}
\validRule{sbgnml-20904}{An \Arc object must contain one and only one
instance of each of the Point and \Point elements, and may contain one
and only one instance of each of the \SbgnListOfGlyphs, \SbgnListOfPoints and
\SbgnListOfPorts elements. No other elements from the SBGN Level~3 Systems
Biology Graphical Notation - Markup Language namespaces are permitted on
an \Arc object. (Reference: SBGN Level~0 Specification for Systems
Biology Graphical Notation - Markup Language, Version~0,
\sec{arc-class}.)}
\validRule{sbgnml-20905}{The attribute \token{sbgnml:\-id} on an \Arc
must have a value of XML data type \token{ID}. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{arc-class}.)}
\validRule{sbgnml-20906}{The attribute \token{sbgnml:\-class} on an \Arc
must have a value of data type \token{string}. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{arc-class}.)}
\validRule{sbgnml-20907}{The value of the attribute
\token{sbgnml:\-source} of an \Arc object must be the 'metaid' of an
existing \SbgnBase object defined in the enclosing \Model object.
(Reference: SBGN Level~0 Specification for Systems Biology Graphical
Notation - Markup Language, Version~0, \sec{arc-class}.)}
\validRule{sbgnml-20908}{The value of the attribute
\token{sbgnml:\-target} of an \Arc object must be the 'metaid' of an
existing \SbgnBase object defined in the enclosing \Model object.
(Reference: SBGN Level~0 Specification for Systems Biology Graphical
Notation - Markup Language, Version~0, \sec{arc-class}.)}
\subsubsection*{Rules for \class{State} object}
\validRule{sbgnml-21001}{A \State object may have the optional SBGN
Level~3 Core attributes \token{metaid} and \token{sboTerm}. No other
attributes from the SBGN Level~3 Core namespaces are permitted on a
\State. }
\validRule{sbgnml-21002}{A \State object may have the optional SBGN
Level~3 Core subobjects for notes and annotations. No other elements
from the SBGN Level~3 Core namespaces are permitted on a \State.
}
\validRule{sbgnml-21003}{A \State object may have the optional
attributes \token{sbgnml:\-variable} and \token{sbgnml:\-value}. No
other attributes from the SBGN Level~3 Systems Biology Graphical
Notation - Markup Language namespaces are permitted on a \State object.
(Reference: SBGN Level~0 Specification for Systems Biology Graphical
Notation - Markup Language, Version~0, \sec{state-class}.)}
\validRule{sbgnml-21004}{The attribute \token{sbgnml:\-variable} on a
\State must have a value of data type \token{string}. (Reference: SBGN
Level~0 Specification for Systems Biology Graphical Notation - Markup
Language, Version~0, \sec{state-class}.)}
\validRule{sbgnml-21005}{The attribute \token{sbgnml:\-value} on a
\State must have a value of data type \token{string}. (Reference: SBGN
Level~0 Specification for Systems Biology Graphical Notation - Markup
Language, Version~0, \sec{state-class}.)}
\subsubsection*{Rules for \class{Callout} object}
\validRule{sbgnml-21101}{A \Callout object may have the optional SBGN
Level~3 Core attributes \token{metaid} and \token{sboTerm}. No other
attributes from the SBGN Level~3 Core namespaces are permitted on a
\Callout. }
\validRule{sbgnml-21102}{A \Callout object may have the optional SBGN
Level~3 Core subobjects for notes and annotations. No other elements
from the SBGN Level~3 Core namespaces are permitted on a \Callout.
}
\validRule{sbgnml-21103}{A \Callout object may have the optional
attribute \token{sbgnml:\-target}. No other attributes from the SBGN
Level~3 Systems Biology Graphical Notation - Markup Language namespaces
are permitted on a \Callout object. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{callout-class}.)}
\validRule{sbgnml-21104}{A \Callout object must contain one and only one
instance of the Point element. No other elements from the SBGN Level~3
Systems Biology Graphical Notation - Markup Language namespaces are
permitted on a \Callout object. (Reference: SBGN Level~0 Specification
for Systems Biology Graphical Notation - Markup Language, Version~0,
\sec{callout-class}.)}
\validRule{sbgnml-21105}{The value of the attribute
\token{sbgnml:\-target} of a \Callout object must be the 'metaid' of an
existing \SbgnBase object defined in the enclosing \Model object.
(Reference: SBGN Level~0 Specification for Systems Biology Graphical
Notation - Markup Language, Version~0, \sec{callout-class}.)}
\subsubsection*{Rules for \class{Entity} object}
\validRule{sbgnml-21201}{An \Entity object may have the optional SBGN
Level~3 Core attributes \token{metaid} and \token{sboTerm}. No other
attributes from the SBGN Level~3 Core namespaces are permitted on an
\Entity. }
\validRule{sbgnml-21202}{An \Entity object may have the optional SBGN
Level~3 Core subobjects for notes and annotations. No other elements
from the SBGN Level~3 Core namespaces are permitted on an \Entity.
}
\validRule{sbgnml-21203}{An \Entity object must have the required
attribute \token{sbgnml:\-name}. No other attributes from the SBGN
Level~3 Systems Biology Graphical Notation - Markup Language namespaces
are permitted on an \Entity object. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{entity-class}.)}
\validRule{sbgnml-21204}{The attribute \token{sbgnml:\-name} on an
\Entity must have a value of data type \token{string}. (Reference: SBGN
Level~0 Specification for Systems Biology Graphical Notation - Markup
Language, Version~0, \sec{entity-class}.)}
\subsubsection*{Rules for \class{ArcGroup} object}
\validRule{sbgnml-21301}{An \ArcGroup object may have the optional SBGN
Level~3 Core attributes \token{metaid} and \token{sboTerm}. No other
attributes from the SBGN Level~3 Core namespaces are permitted on an
\ArcGroup. }
\validRule{sbgnml-21302}{An \ArcGroup object may have the optional SBGN
Level~3 Core subobjects for notes and annotations. No other elements
from the SBGN Level~3 Core namespaces are permitted on an \ArcGroup.
}
\validRule{sbgnml-21303}{An \ArcGroup object may have the optional
attribute \token{sbgnml:\-class}. No other attributes from the SBGN
Level~3 Systems Biology Graphical Notation - Markup Language namespaces
are permitted on an \ArcGroup object. (Reference: SBGN Level~0
Specification for Systems Biology Graphical Notation - Markup Language,
Version~0, \sec{arcgroup-class}.)}
\validRule{sbgnml-21304}{An \ArcGroup object may contain one and only
one instance of each of the \SbgnListOfGlyphs and \SbgnListOfArcs elements. No
other elements from the SBGN Level~3 Systems Biology Graphical Notation
- Markup Language namespaces are permitted on an \ArcGroup object.
(Reference: SBGN Level~0 Specification for Systems Biology Graphical
Notation - Markup Language, Version~0, \sec{arcgroup-class}.)}
\validRule{sbgnml-21305}{The attribute \token{sbgnml:\-class} on an
\ArcGroup must have a value of data type \token{string}. (Reference:
SBGN Level~0 Specification for Systems Biology Graphical Notation -
Markup Language, Version~0, \sec{arcgroup-class}.)}