/
validation-and-content-references.html
549 lines (508 loc) · 51.7 KB
/
validation-and-content-references.html
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
543
544
545
546
547
548
549
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>10 Validation and Content references | Ecological Metadata Language (EML)</title>
<meta name="description" content="10 Validation and Content references | Ecological Metadata Language (EML)" />
<meta name="generator" content="bookdown 0.12 and GitBook 2.6.7" />
<meta property="og:title" content="10 Validation and Content references | Ecological Metadata Language (EML)" />
<meta property="og:type" content="book" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="10 Validation and Content references | Ecological Metadata Language (EML)" />
<meta name="date" content="2019-08-15" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="prev" href="eml-schema.html">
<link rel="next" href="semantic-annotation-primer.html">
<script src="libs/jquery-2.2.3/jquery.min.js"></script>
<link href="libs/gitbook-2.6.7/css/style.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-table.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-bookdown.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-highlight.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-search.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-fontsettings.css" rel="stylesheet" />
<style type="text/css">
a.sourceLine { display: inline-block; line-height: 1.25; }
a.sourceLine { pointer-events: none; color: inherit; text-decoration: inherit; }
a.sourceLine:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode { white-space: pre; position: relative; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
code.sourceCode { white-space: pre-wrap; }
a.sourceLine { text-indent: -1em; padding-left: 1em; }
}
pre.numberSource a.sourceLine
{ position: relative; left: -4em; }
pre.numberSource a.sourceLine::before
{ content: attr(data-line-number);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; pointer-events: all; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
a.sourceLine::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
</style>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div class="book without-animation with-summary font-size-2 font-family-1" data-basepath=".">
<div class="book-summary">
<nav role="navigation">
<ul class="summary">
<li><a href="./">EML Specification</a></li>
<li class="divider"></li>
<li class="chapter" data-level="1" data-path="eml-ecological-metadata-language.html"><a href="eml-ecological-metadata-language.html"><i class="fa fa-check"></i><b>1</b> EML: Ecological Metadata Language</a><ul>
<li class="chapter" data-level="1.1" data-path="eml-ecological-metadata-language.html"><a href="eml-ecological-metadata-language.html#getting-started"><i class="fa fa-check"></i><b>1.1</b> Getting Started</a></li>
<li class="chapter" data-level="1.2" data-path="eml-ecological-metadata-language.html"><a href="eml-ecological-metadata-language.html#about-the-eml-project"><i class="fa fa-check"></i><b>1.2</b> About the EML Project</a></li>
<li class="chapter" data-level="1.3" data-path="eml-ecological-metadata-language.html"><a href="eml-ecological-metadata-language.html#contributing"><i class="fa fa-check"></i><b>1.3</b> Contributing</a></li>
<li class="chapter" data-level="1.4" data-path="eml-ecological-metadata-language.html"><a href="eml-ecological-metadata-language.html#history"><i class="fa fa-check"></i><b>1.4</b> History</a></li>
<li class="chapter" data-level="1.5" data-path="eml-ecological-metadata-language.html"><a href="eml-ecological-metadata-language.html#older-versions-deprecated"><i class="fa fa-check"></i><b>1.5</b> Older versions (deprecated)</a></li>
<li class="chapter" data-level="1.6" data-path="eml-ecological-metadata-language.html"><a href="eml-ecological-metadata-language.html#copyright-and-license"><i class="fa fa-check"></i><b>1.6</b> Copyright and License</a></li>
<li class="chapter" data-level="1.7" data-path="eml-ecological-metadata-language.html"><a href="eml-ecological-metadata-language.html#funding-and-acknowledgements"><i class="fa fa-check"></i><b>1.7</b> Funding and Acknowledgements</a></li>
</ul></li>
<li class="chapter" data-level="2" data-path="features.html"><a href="features.html"><i class="fa fa-check"></i><b>2</b> Features</a></li>
<li class="chapter" data-level="3" data-path="contributors.html"><a href="contributors.html"><i class="fa fa-check"></i><b>3</b> Contributors</a><ul>
<li class="chapter" data-level="3.1" data-path="contributors.html"><a href="contributors.html#current-contributors"><i class="fa fa-check"></i><b>3.1</b> Current contributors</a></li>
<li class="chapter" data-level="3.2" data-path="contributors.html"><a href="contributors.html#past-contributors"><i class="fa fa-check"></i><b>3.2</b> Past contributors</a></li>
</ul></li>
<li class="chapter" data-level="4" data-path="whats-new-in-eml-2-2-0.html"><a href="whats-new-in-eml-2-2-0.html"><i class="fa fa-check"></i><b>4</b> What’s New in EML 2.2.0</a></li>
<li class="chapter" data-level="5" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html"><i class="fa fa-check"></i><b>5</b> The EML Module and Resources</a><ul>
<li class="chapter" data-level="5.1" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#the-eml-module---a-metadata-container"><i class="fa fa-check"></i><b>5.1</b> The eml module - A metadata container</a></li>
<li class="chapter" data-level="5.2" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#the-eml-resource-module---base-information-for-all-resources"><i class="fa fa-check"></i><b>5.2</b> The eml-resource module - Base information for all resources</a></li>
<li class="chapter" data-level="5.3" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#the-eml-dataset-module---dataset-specific-information"><i class="fa fa-check"></i><b>5.3</b> The eml-dataset module - Dataset specific information</a></li>
<li class="chapter" data-level="5.4" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#the-eml-literature-module---citation-specific-information"><i class="fa fa-check"></i><b>5.4</b> The eml-literature module - Citation-specific information</a><ul>
<li class="chapter" data-level="5.4.1" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#eml-literature-module---literature-cited"><i class="fa fa-check"></i><b>5.4.1</b> eml-literature module - literature cited</a></li>
<li class="chapter" data-level="5.4.2" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#eml-literature-module---usage-citation"><i class="fa fa-check"></i><b>5.4.2</b> eml-literature module - usage citation</a></li>
<li class="chapter" data-level="5.4.3" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#eml-literature-module---reference-publication"><i class="fa fa-check"></i><b>5.4.3</b> eml-literature module - reference publication</a></li>
</ul></li>
<li class="chapter" data-level="5.5" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#the-eml-software-module---software-specific-information"><i class="fa fa-check"></i><b>5.5</b> The eml-software module - Software specific information</a></li>
<li class="chapter" data-level="5.6" data-path="the-eml-module-and-resources.html"><a href="the-eml-module-and-resources.html#the-eml-protocol-module---research-protocol-specific-information"><i class="fa fa-check"></i><b>5.6</b> The eml-protocol module - Research protocol specific information</a></li>
</ul></li>
<li class="chapter" data-level="6" data-path="data-structure-modules.html"><a href="data-structure-modules.html"><i class="fa fa-check"></i><b>6</b> Data Structure Modules</a><ul>
<li class="chapter" data-level="6.1" data-path="data-structure-modules.html"><a href="data-structure-modules.html#the-eml-entity-module---entity-level-information-within-datasets"><i class="fa fa-check"></i><b>6.1</b> The eml-entity module - Entity level information within datasets</a></li>
<li class="chapter" data-level="6.2" data-path="data-structure-modules.html"><a href="data-structure-modules.html#the-eml-attribute-module---attribute-level-information-within-dataset-entities"><i class="fa fa-check"></i><b>6.2</b> The eml-attribute module - Attribute level information within dataset entities</a><ul>
<li class="chapter" data-level="6.2.1" data-path="data-structure-modules.html"><a href="data-structure-modules.html#philosophy-of-attribute-units"><i class="fa fa-check"></i><b>6.2.1</b> Philosophy of Attribute Units</a></li>
</ul></li>
<li class="chapter" data-level="6.3" data-path="data-structure-modules.html"><a href="data-structure-modules.html#the-eml-constraint-module---relationships-among-and-within-dataset-entities"><i class="fa fa-check"></i><b>6.3</b> The eml-constraint module - Relationships among and within dataset entities</a></li>
<li class="chapter" data-level="6.4" data-path="data-structure-modules.html"><a href="data-structure-modules.html#the-eml-datatable-module---logical-information-about-data-table-entities"><i class="fa fa-check"></i><b>6.4</b> The eml-dataTable module - Logical information about data table entities</a></li>
<li class="chapter" data-level="6.5" data-path="data-structure-modules.html"><a href="data-structure-modules.html#the-eml-spatialraster-module---logical-information-about-regularly-gridded-geospatial-image-data"><i class="fa fa-check"></i><b>6.5</b> The eml-spatialRaster module - Logical information about regularly gridded geospatial image data</a></li>
<li class="chapter" data-level="6.6" data-path="data-structure-modules.html"><a href="data-structure-modules.html#the-eml-spatialvector-module---logical-information-about-non-gridded-geospatial-image-data"><i class="fa fa-check"></i><b>6.6</b> The eml-spatialVector module - Logical information about non-gridded geospatial image data</a></li>
<li class="chapter" data-level="6.7" data-path="data-structure-modules.html"><a href="data-structure-modules.html#schema-for-validating-spatial-referencing-descriptions"><i class="fa fa-check"></i><b>6.7</b> Schema for validating spatial referencing descriptions</a></li>
<li class="chapter" data-level="6.8" data-path="data-structure-modules.html"><a href="data-structure-modules.html#the-eml-storedprocedure-module---data-tables-resulting-from-procedures-stored-in-a-database"><i class="fa fa-check"></i><b>6.8</b> The eml-storedProcedure module - Data tables resulting from procedures stored in a database</a></li>
<li class="chapter" data-level="6.9" data-path="data-structure-modules.html"><a href="data-structure-modules.html#the-eml-view-module---data-tables-resulting-from-a-database-query"><i class="fa fa-check"></i><b>6.9</b> The eml-view module - Data tables resulting from a database query</a></li>
</ul></li>
<li class="chapter" data-level="7" data-path="discovery-and-interpretation-modules.html"><a href="discovery-and-interpretation-modules.html"><i class="fa fa-check"></i><b>7</b> Discovery and Interpretation Modules</a><ul>
<li class="chapter" data-level="7.1" data-path="discovery-and-interpretation-modules.html"><a href="discovery-and-interpretation-modules.html#the-eml-access-module---access-control-rules-for-resources"><i class="fa fa-check"></i><b>7.1</b> The eml-access module - Access control rules for resources</a></li>
<li class="chapter" data-level="7.2" data-path="discovery-and-interpretation-modules.html"><a href="discovery-and-interpretation-modules.html#the-eml-physical-module---physical-file-format"><i class="fa fa-check"></i><b>7.2</b> The eml-physical module - Physical file format</a></li>
<li class="chapter" data-level="7.3" data-path="discovery-and-interpretation-modules.html"><a href="discovery-and-interpretation-modules.html#the-eml-party-module---people-and-organization-information"><i class="fa fa-check"></i><b>7.3</b> The eml-party module - People and organization information</a></li>
<li class="chapter" data-level="7.4" data-path="discovery-and-interpretation-modules.html"><a href="discovery-and-interpretation-modules.html#the-eml-coverage-module---geographic-temporal-and-taxonomic-extents-of-resources"><i class="fa fa-check"></i><b>7.4</b> The eml-coverage module - Geographic, temporal, and taxonomic extents of resources</a></li>
<li class="chapter" data-level="7.5" data-path="discovery-and-interpretation-modules.html"><a href="discovery-and-interpretation-modules.html#the-eml-project-module---research-context-information-for-resources"><i class="fa fa-check"></i><b>7.5</b> The eml-project module - Research context information for resources</a></li>
<li class="chapter" data-level="7.6" data-path="discovery-and-interpretation-modules.html"><a href="discovery-and-interpretation-modules.html#the-eml-methods-module---methodological-information-for-resources"><i class="fa fa-check"></i><b>7.6</b> The eml-methods module - Methodological information for resources</a></li>
</ul></li>
<li class="chapter" data-level="8" data-path="utility-modules.html"><a href="utility-modules.html"><i class="fa fa-check"></i><b>8</b> Utility Modules</a><ul>
<li class="chapter" data-level="8.1" data-path="utility-modules.html"><a href="utility-modules.html#the-eml-text-module---text-field-formatting"><i class="fa fa-check"></i><b>8.1</b> The eml-text module - Text field formatting</a></li>
<li class="chapter" data-level="8.2" data-path="utility-modules.html"><a href="utility-modules.html#the-eml-semantics-module---semantic-annotations-for-formalized-statements-about-eml-components"><i class="fa fa-check"></i><b>8.2</b> The eml-semantics module - Semantic annotations for formalized statements about EML components</a></li>
</ul></li>
<li class="chapter" data-level="9" data-path="eml-schema.html"><a href="eml-schema.html"><i class="fa fa-check"></i><b>9</b> EML Schema</a></li>
<li class="chapter" data-level="10" data-path="validation-and-content-references.html"><a href="validation-and-content-references.html"><i class="fa fa-check"></i><b>10</b> Validation and Content references</a><ul>
<li class="chapter" data-level="10.1" data-path="validation-and-content-references.html"><a href="validation-and-content-references.html#validation-rules"><i class="fa fa-check"></i><b>10.1</b> Validation rules</a></li>
<li class="chapter" data-level="10.2" data-path="validation-and-content-references.html"><a href="validation-and-content-references.html#validation-algorithm"><i class="fa fa-check"></i><b>10.2</b> Validation algorithm</a></li>
<li class="chapter" data-level="10.3" data-path="validation-and-content-references.html"><a href="validation-and-content-references.html#content-references"><i class="fa fa-check"></i><b>10.3</b> Content references</a></li>
<li class="chapter" data-level="10.4" data-path="validation-and-content-references.html"><a href="validation-and-content-references.html#eml-validity-parser"><i class="fa fa-check"></i><b>10.4</b> EML Validity Parser</a></li>
<li class="chapter" data-level="10.5" data-path="validation-and-content-references.html"><a href="validation-and-content-references.html#id-and-scope-examples"><i class="fa fa-check"></i><b>10.5</b> id and Scope Examples</a></li>
</ul></li>
<li class="chapter" data-level="11" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html"><i class="fa fa-check"></i><b>11</b> Semantic Annotation Primer</a><ul>
<li class="chapter" data-level="11.1" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#introduction"><i class="fa fa-check"></i><b>11.1</b> Introduction</a><ul>
<li class="chapter" data-level="11.1.1" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#take-home-messages"><i class="fa fa-check"></i><b>11.1.1</b> Take-home messages</a></li>
<li class="chapter" data-level="11.1.2" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#organization-of-this-document"><i class="fa fa-check"></i><b>11.1.2</b> Organization of this document</a></li>
<li class="chapter" data-level="11.1.3" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#other-conventions-and-terminology"><i class="fa fa-check"></i><b>11.1.3</b> Other Conventions and Terminology</a></li>
</ul></li>
<li class="chapter" data-level="11.2" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#semantic-annotations-in-eml-2.2.0"><i class="fa fa-check"></i><b>11.2</b> Semantic Annotations in EML 2.2.0</a><ul>
<li class="chapter" data-level="11.2.1" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#annotation-element-structure"><i class="fa fa-check"></i><b>11.2.1</b> Annotation element structure</a></li>
<li class="chapter" data-level="11.2.2" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#top-level-resource-entity-level-and-attribute-annotations"><i class="fa fa-check"></i><b>11.2.2</b> Top-level resource, entity-level, and attribute annotations</a></li>
<li class="chapter" data-level="11.2.3" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#annotations-grouped-under-the-eml-annotations-element"><i class="fa fa-check"></i><b>11.2.3</b> Annotations grouped under the EML <code><annotations></code> element</a></li>
<li class="chapter" data-level="11.2.4" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#annotations-grouped-under-additionalmetadata"><i class="fa fa-check"></i><b>11.2.4</b> Annotations grouped under <code><additionalMetadata></code></a></li>
</ul></li>
<li class="chapter" data-level="11.3" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#appendix"><i class="fa fa-check"></i><b>11.3</b> Appendix</a><ul>
<li class="chapter" data-level="11.3.1" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#semantic-triples"><i class="fa fa-check"></i><b>11.3.1</b> Semantic triples</a></li>
<li class="chapter" data-level="11.3.2" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#uris"><i class="fa fa-check"></i><b>11.3.2</b> URIs</a></li>
<li class="chapter" data-level="11.3.3" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#rdf-graphs"><i class="fa fa-check"></i><b>11.3.3</b> RDF Graphs</a></li>
<li class="chapter" data-level="11.3.4" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#check-for-logical-consistency"><i class="fa fa-check"></i><b>11.3.4</b> Check for Logical Consistency</a></li>
<li class="chapter" data-level="11.3.5" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#glossary"><i class="fa fa-check"></i><b>11.3.5</b> Glossary</a></li>
<li class="chapter" data-level="11.3.6" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#vocabularies-and-repositories-used-in-examples"><i class="fa fa-check"></i><b>11.3.6</b> Vocabularies and repositories used in examples</a></li>
<li class="chapter" data-level="11.3.7" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#additional-background-information"><i class="fa fa-check"></i><b>11.3.7</b> Additional background information</a></li>
</ul></li>
<li class="chapter" data-level="11.4" data-path="semantic-annotation-primer.html"><a href="semantic-annotation-primer.html#frequently-asked-questions"><i class="fa fa-check"></i><b>11.4</b> Frequently asked questions</a></li>
</ul></li>
<li class="chapter" data-level="12" data-path="internationalization-metadata-in-multiple-languages.html"><a href="internationalization-metadata-in-multiple-languages.html"><i class="fa fa-check"></i><b>12</b> Internationalization - Metadata in multiple languages</a></li>
<li class="chapter" data-level="13" data-path="release-notes.html"><a href="release-notes.html"><i class="fa fa-check"></i><b>13</b> Release Notes</a><ul>
<li class="chapter" data-level="13.0.1" data-path="release-notes.html"><a href="release-notes.html#section"><i class="fa fa-check"></i><b>13.0.1</b> 2.2.0</a></li>
<li class="chapter" data-level="13.0.2" data-path="release-notes.html"><a href="release-notes.html#section-1"><i class="fa fa-check"></i><b>13.0.2</b> 2.1.1</a></li>
<li class="chapter" data-level="13.0.3" data-path="release-notes.html"><a href="release-notes.html#numbers-refer-to-the-corresponding-bugzilla-bug-id-not-the-github"><i class="fa fa-check"></i><b>13.0.3</b> 2.1.0 (numbers refer to the corresponding Bugzilla bug id, not the GitHub #)</a></li>
<li class="chapter" data-level="13.0.4" data-path="release-notes.html"><a href="release-notes.html#numbers-refer-to-the-corresponding-bugzilla-bug-id-not-the-github-1"><i class="fa fa-check"></i><b>13.0.4</b> 2.0.1 (numbers refer to the corresponding Bugzilla bug id, not the GitHub #)</a></li>
<li class="chapter" data-level="13.0.5" data-path="release-notes.html"><a href="release-notes.html#numbers-refer-to-the-corresponding-bugzilla-bug-id-not-the-github-2"><i class="fa fa-check"></i><b>13.0.5</b> 2.0.0 - (numbers refer to the corresponding Bugzilla bug id, not the GitHub #)</a></li>
<li class="chapter" data-level="13.0.6" data-path="release-notes.html"><a href="release-notes.html#rc3-numbers-refer-to-the-corresponding-bugzilla-bug-id-not-the-github"><i class="fa fa-check"></i><b>13.0.6</b> 2.0.0rc3 (numbers refer to the corresponding Bugzilla bug id, not the GitHub #)</a></li>
<li class="chapter" data-level="13.0.7" data-path="release-notes.html"><a href="release-notes.html#rc2-numbers-refer-to-the-corresponding-bugzilla-bug-id-not-the-github"><i class="fa fa-check"></i><b>13.0.7</b> RC2 (numbers refer to the corresponding Bugzilla bug id, not the GitHub #)</a></li>
<li class="chapter" data-level="13.0.8" data-path="release-notes.html"><a href="release-notes.html#rc1-numbers-refer-to-the-corresponding-bugzilla-bug-id-not-the-github"><i class="fa fa-check"></i><b>13.0.8</b> RC1 (numbers refer to the corresponding Bugzilla bug id, not the GitHub #)</a></li>
<li class="chapter" data-level="13.0.9" data-path="release-notes.html"><a href="release-notes.html#beta9-fixes-"><i class="fa fa-check"></i><b>13.0.9</b> Beta9 Fixes-</a></li>
<li class="chapter" data-level="13.0.10" data-path="release-notes.html"><a href="release-notes.html#beta-8-fixes-"><i class="fa fa-check"></i><b>13.0.10</b> Beta 8 Fixes-</a></li>
<li class="chapter" data-level="13.0.11" data-path="release-notes.html"><a href="release-notes.html#beta-7-fixes-"><i class="fa fa-check"></i><b>13.0.11</b> Beta 7 Fixes-</a></li>
</ul></li>
<li class="chapter" data-level="14" data-path="about-this-site.html"><a href="about-this-site.html"><i class="fa fa-check"></i><b>14</b> About this site</a><ul>
<li class="chapter" data-level="14.1" data-path="about-this-site.html"><a href="about-this-site.html#building-the-site"><i class="fa fa-check"></i><b>14.1</b> Building the site</a></li>
<li class="chapter" data-level="14.2" data-path="about-this-site.html"><a href="about-this-site.html#deploying-the-site"><i class="fa fa-check"></i><b>14.2</b> Deploying the site</a></li>
</ul></li>
<li class="chapter" data-level="15" data-path="references.html"><a href="references.html"><i class="fa fa-check"></i><b>15</b> References</a></li>
<li class="divider"></li>
<li><a href="../">← Back to main website</a></li>
</ul>
</nav>
</div>
<div class="book-body">
<div class="body-inner">
<div class="book-header" role="navigation">
<h1>
<i class="fa fa-circle-o-notch fa-spin"></i><a href="./">Ecological Metadata Language (EML)</a>
</h1>
</div>
<div class="page-wrapper" tabindex="-1" role="main">
<div class="page-inner">
<section class="normal" id="section-">
<div id="validation-and-content-references" class="section level1">
<h1><span class="header-section-number">10</span> Validation and Content references</h1>
<p>This section explains the validation rules of EML. While most of the validation
rules are expressed as constraints within the XML Schema definition files, there are
some rules that cannot be written directly into the XML Schemas nor enforced
by an XML parser. These additional validation rules MUST be enforced by every
EML package in order for it to be considered EML-compliant.</p>
<div id="validation-rules" class="section level2">
<h2><span class="header-section-number">10.1</span> Validation rules</h2>
<p>For a document to be EML-valid, all of the following constraints must hold true:</p>
<ul>
<li>The document MUST validate using a compliant XML Schema validating parser</li>
<li>All EML documents MUST have the ‘eml’ module as the root</li>
<li>A <code>packageId</code> attribute MUST be present on the root <code>eml</code> element</li>
<li>All <code>id</code> attributes within the document MUST be unique</li>
<li>Elements which contain an <code>annotation</code> child element MUST contain an <code>id</code> attribute,
unless the containing <code>annotation</code> element contains a <code>references</code> attribute</li>
<li>If an element references another using a child <code>references</code> element,
another element with that value in its <code>id</code> attribute MUST exist in the document</li>
<li>When <code>references</code> is used, the <code>system</code> attribute MUST have
the same value in both the target and source elements, or it must be absent in both.
Frequently it is absent in both.</li>
<li>If an element references another using a child <code>references</code> element,
it MUST not have an <code>id</code> attribute itself</li>
<li>If an <code>additionalMetadata</code> element references another using a child <code>describes</code> element,
another element with that value in its <code>id</code> attribute MUST exist in the document</li>
</ul>
</div>
<div id="validation-algorithm" class="section level2">
<h2><span class="header-section-number">10.2</span> Validation algorithm</h2>
<p>One reasonable algorithm for assessing these constraints without loading the XML into
a DOM structure could be implemented by checking <code>id</code> and <code>references</code> fields while
parsing the document and storing their values in <code>identifierHash</code> and <code>referencesHash</code> data
structures in order to do the final consistency check. For example, in pseudocode:</p>
<ul>
<li>Parse the XML document using an XML Schema-compliant parser
<ul>
<li>If the root element is not <code>eml</code>, then the document is invalid</li>
<li>For each element, record whether it has an <code>id</code> attribute or not
<ul>
<li>If an element does not contain an <code>id</code>, but it has a child <code>annotation</code>
element, and that child annotation does not contain a <code>references</code> attribute, then the document is invalid</li>
</ul></li>
<li>For each <code>id</code> attribute
<ul>
<li>If <code>id</code> is not in <code>identifiersHash</code> then add it as the key of <code>identifiersHash</code>, with its <code>system</code> as the value</li>
<li>If <code>id</code> is already in <code>identifiersHash</code> then the document is invalid</li>
<li>If the element containing the id contains a <code>references</code> element as an
immediate child then the document is invalid</li>
</ul></li>
<li>For each <code>references</code> element
<ul>
<li>If the <code>references</code> key is not in <code>referencesHash</code>,
then add it as a key with the <code>system</code> value to <code>referencesHash</code></li>
<li>If the <code>references</code> key is in <code>referencesHash</code>, but the current <code>system</code>
value does not match the value for that key, then the document is invalid</li>
</ul></li>
<li>For each <code>references</code> attribute on an <code>annotation</code> element
<ul>
<li>If the <code>references</code> key is not in <code>referencesHash</code>,
then add it as a key with the empty string ’’ value to <code>referencesHash</code></li>
</ul></li>
<li>For each <code>describes</code> element within an <code>additionalMetadata</code> element
<ul>
<li>If the <code>describes</code> key is not in <code>referencesHash</code>,
then add it as a key with the empty string ’’ value to <code>referencesHash</code></li>
</ul></li>
<li>Once document processing is complete, for each <code>key</code> in <code>referencesHash</code>
<ul>
<li>If <code>!identifierHash.hasKey(key) OR 'referencesHash[key] != identifierHash[key]'</code> then the document is invalid</li>
</ul></li>
<li>If no validity errors are found above or by the parser, then the document is valid</li>
</ul></li>
</ul>
</div>
<div id="content-references" class="section level2">
<h2><span class="header-section-number">10.3</span> Content references</h2>
<p>Each EML module, with the exception of “eml” itself, has a top level
choice between the structured content of that element or a
“references” field. This enables the reuse of content previously
defined elsewhere in the document. This allows, for example, an author to
create a single <code><creator id='m.jones'></code> element with all of its child detail,
and then reference that as <code><contact><references>m.jones</references></contact></code>
to indicate that the same person is both the creator and contact. This creates
an unambiguous linkage via the <code>id</code> field that the two elements refer to the same
entity, in this case a person, and avoids having to re-enter the same information
multiple times in the document. Another common location for re-use is when a single
<code>attributeList</code> is defined with a set of variables and their metadata, and then
that list is referenced in multiple <code>dataTable</code> elements to show that they are
structured identically.</p>
<p>The reuse of structured content is accomplished through the
use of <code>id</code>/<code>references</code> pairs. Each element that is to be reused will contain a
unique <code>id</code> attribute on the element. Because this identifier is guaranteed to
be unique within the EML document, any other location that wants to point at that
content can do so using the <code>references</code> element, as shown in the example above.
These types of references can also be used in the <code>references</code> attribute of
<code>annotation</code> elements, and in the <code>describes</code> element within the <code>additionalMetadata</code>
element.</p>
<p>If an <code>id</code> attribute is provided for content, then that content is considered
to represent a different entity than all other elements that are defined in
the document, except for those that include its <code>id</code> in the <code>references</code> child.
This is useful to indicate, for example, that two people with similar names
(e.g., “D. Clark” and “D. Clark”) are in fact distinct individuals
(e.g., “Deborah Clark” and “David Clark”), or that two variables with the same
<code>attributeName</code> are in fact different variables. While it would be bad practice
to reuse attribute names like this, it does happen and EML needs to be able to document it
when it does.</p>
</div>
<div id="eml-validity-parser" class="section level2">
<h2><span class="header-section-number">10.4</span> EML Validity Parser</h2>
<p>Because some of these rules cannot be enforced in XML-Schema, we have
written a parser which checks the validity of the references and <code>id</code>s
used in a document. This parser is included with the release of
EML. To run the parser, you must have Java installed. To execute
it change into the lib directory of the release and run the
‘runEMLParser’ script passing your EML instance file as a parameter.
There may also be an <a href="https://knb.ecoinformatics.org/emlparser">online
version</a> of this parser, which
is publicly accessible. The online parser will both validate your XML
document against the schema as well as check the integrity of your
references.</p>
</div>
<div id="id-and-scope-examples" class="section level2">
<h2><span class="header-section-number">10.5</span> id and Scope Examples</h2>
<p><strong>Example: Invalid EML due to duplicate identifiers</strong></p>
<div class="sourceCode" id="cb18"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb18-1" data-line-number="1"> <span class="kw"><?xml</span> version="1.0"<span class="kw">?></span></a>
<a class="sourceLine" id="cb18-2" data-line-number="2"> <span class="kw"><eml:eml</span></a>
<a class="sourceLine" id="cb18-3" data-line-number="3"><span class="ot"> packageId=</span><span class="st">"eml.1.1"</span><span class="ot"> system=</span><span class="st">"knb"</span></a>
<a class="sourceLine" id="cb18-4" data-line-number="4"><span class="ot"> xmlns:eml=</span><span class="st">"https://eml.ecoinformatics.org/eml-2.2.0"</span></a>
<a class="sourceLine" id="cb18-5" data-line-number="5"><span class="ot"> xmlns:xsi=</span><span class="st">"http://www.w3.org/2001/XMLSchema-instance"</span></a>
<a class="sourceLine" id="cb18-6" data-line-number="6"><span class="ot"> xsi:schemaLocation=</span><span class="st">"https://eml.ecoinformatics.org/eml-2.2.0 eml.xsd"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb18-7" data-line-number="7"></a>
<a class="sourceLine" id="cb18-8" data-line-number="8"> <span class="kw"><dataset</span><span class="ot"> id=</span><span class="st">"ds.1"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb18-9" data-line-number="9"> <span class="kw"><title></span>Sample Dataset Description<span class="kw"></title></span></a>
<a class="sourceLine" id="cb18-10" data-line-number="10"> <span class="co"><!-- the two creators have the same id. this should be an error--></span></a>
<a class="sourceLine" id="cb18-11" data-line-number="11"> <span class="kw"><creator</span><span class="ot"> id=</span><span class="st">"23445"</span><span class="ot"> scope=</span><span class="st">"document"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb18-12" data-line-number="12"> <span class="kw"><individualName></span></a>
<a class="sourceLine" id="cb18-13" data-line-number="13"> <span class="kw"><surName></span>Smith<span class="kw"></surName></span></a>
<a class="sourceLine" id="cb18-14" data-line-number="14"> <span class="kw"></individualName></span></a>
<a class="sourceLine" id="cb18-15" data-line-number="15"> <span class="kw"></creator></span></a>
<a class="sourceLine" id="cb18-16" data-line-number="16"> <span class="kw"><creator</span><span class="ot"> id=</span><span class="st">"23445"</span><span class="ot"> scope=</span><span class="st">"document"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb18-17" data-line-number="17"> <span class="kw"><individualName></span></a>
<a class="sourceLine" id="cb18-18" data-line-number="18"> <span class="kw"><surName></span>Smith<span class="kw"></surName></span></a>
<a class="sourceLine" id="cb18-19" data-line-number="19"> <span class="kw"></individualName></span></a>
<a class="sourceLine" id="cb18-20" data-line-number="20"> <span class="kw"></creator></span></a>
<a class="sourceLine" id="cb18-21" data-line-number="21"> ...</a>
<a class="sourceLine" id="cb18-22" data-line-number="22"> <span class="kw"></dataset></span></a>
<a class="sourceLine" id="cb18-23" data-line-number="23"> <span class="kw"></eml:eml></span></a></code></pre></div>
<p>This instance document is invalid because both creator elements have the
same id. No two elements can have the same string as an id.</p>
<p><strong>Example: Invalid EML due to a non-existent reference</strong></p>
<div class="sourceCode" id="cb19"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb19-1" data-line-number="1"> <span class="kw"><?xml</span> version="1.0"<span class="kw">?></span></a>
<a class="sourceLine" id="cb19-2" data-line-number="2"> <span class="kw"><eml:eml</span></a>
<a class="sourceLine" id="cb19-3" data-line-number="3"><span class="ot"> packageId=</span><span class="st">"eml.1.1"</span><span class="ot"> system=</span><span class="st">"knb"</span></a>
<a class="sourceLine" id="cb19-4" data-line-number="4"><span class="ot"> xmlns:eml=</span><span class="st">"https://eml.ecoinformatics.org/eml-2.2.0"</span></a>
<a class="sourceLine" id="cb19-5" data-line-number="5"><span class="ot"> xmlns:xsi=</span><span class="st">"http://www.w3.org/2001/XMLSchema-instance"</span></a>
<a class="sourceLine" id="cb19-6" data-line-number="6"><span class="ot"> xsi:schemaLocation=</span><span class="st">"https://eml.ecoinformatics.org/eml-2.2.0 eml.xsd"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb19-7" data-line-number="7"></a>
<a class="sourceLine" id="cb19-8" data-line-number="8"> <span class="kw"><dataset</span><span class="ot"> id=</span><span class="st">"ds.1"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb19-9" data-line-number="9"> <span class="kw"><title></span>Sample Dataset Description<span class="kw"></title></span></a>
<a class="sourceLine" id="cb19-10" data-line-number="10"> <span class="kw"><creator</span><span class="ot"> id=</span><span class="st">"23445"</span><span class="ot"> scope=</span><span class="st">"document"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb19-11" data-line-number="11"> <span class="kw"><individualName></span></a>
<a class="sourceLine" id="cb19-12" data-line-number="12"> <span class="kw"><surName></span>Smith<span class="kw"></surName></span></a>
<a class="sourceLine" id="cb19-13" data-line-number="13"> <span class="kw"></individualName></span></a>
<a class="sourceLine" id="cb19-14" data-line-number="14"> <span class="kw"></creator></span></a>
<a class="sourceLine" id="cb19-15" data-line-number="15"> <span class="kw"><creator</span><span class="ot"> id=</span><span class="st">"23446"</span><span class="ot"> scope=</span><span class="st">"document"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb19-16" data-line-number="16"> <span class="kw"><individualName></span></a>
<a class="sourceLine" id="cb19-17" data-line-number="17"> <span class="kw"><surName></span>Myer<span class="kw"></surName></span></a>
<a class="sourceLine" id="cb19-18" data-line-number="18"> <span class="kw"></individualName></span></a>
<a class="sourceLine" id="cb19-19" data-line-number="19"> <span class="kw"></creator></span></a>
<a class="sourceLine" id="cb19-20" data-line-number="20"> ...</a>
<a class="sourceLine" id="cb19-21" data-line-number="21"> <span class="kw"><contact></span></a>
<a class="sourceLine" id="cb19-22" data-line-number="22"> <span class="kw"><references></span>23447<span class="kw"></references></span></a>
<a class="sourceLine" id="cb19-23" data-line-number="23"> <span class="kw"></contact></span></a>
<a class="sourceLine" id="cb19-24" data-line-number="24"> <span class="kw"></dataset></span></a>
<a class="sourceLine" id="cb19-25" data-line-number="25"> <span class="kw"></eml:eml></span></a></code></pre></div>
<p>This instance document is invalid because the contact element references
an <code>id</code> that does not exist. Any referenced <code>id</code> must exist in the document.</p>
<p><strong>Example: Invalid EML due to a conflicting id attribute and a
<code><references></code> element</strong></p>
<div class="sourceCode" id="cb20"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb20-1" data-line-number="1"> <span class="kw"><?xml</span> version="1.0"<span class="kw">?></span></a>
<a class="sourceLine" id="cb20-2" data-line-number="2"> <span class="kw"><eml:eml</span></a>
<a class="sourceLine" id="cb20-3" data-line-number="3"><span class="ot"> packageId=</span><span class="st">"eml.1.1"</span><span class="ot"> system=</span><span class="st">"knb"</span></a>
<a class="sourceLine" id="cb20-4" data-line-number="4"><span class="ot"> xmlns:eml=</span><span class="st">"https://eml.ecoinformatics.org/eml-2.2.0"</span></a>
<a class="sourceLine" id="cb20-5" data-line-number="5"><span class="ot"> xmlns:xsi=</span><span class="st">"http://www.w3.org/2001/XMLSchema-instance"</span></a>
<a class="sourceLine" id="cb20-6" data-line-number="6"><span class="ot"> xsi:schemaLocation=</span><span class="st">"https://eml.ecoinformatics.org/eml-2.2.0 eml.xsd"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb20-7" data-line-number="7"></a>
<a class="sourceLine" id="cb20-8" data-line-number="8"> <span class="kw"><dataset</span><span class="ot"> id=</span><span class="st">"ds.1"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb20-9" data-line-number="9"> <span class="kw"><title></span>Sample Dataset Description<span class="kw"></title></span></a>
<a class="sourceLine" id="cb20-10" data-line-number="10"> <span class="kw"><creator</span><span class="ot"> id=</span><span class="st">"23445"</span><span class="ot"> scope=</span><span class="st">"document"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb20-11" data-line-number="11"> <span class="kw"><individualName></span></a>
<a class="sourceLine" id="cb20-12" data-line-number="12"> <span class="kw"><surName></span>Smith<span class="kw"></surName></span></a>
<a class="sourceLine" id="cb20-13" data-line-number="13"> <span class="kw"></individualName></span></a>
<a class="sourceLine" id="cb20-14" data-line-number="14"> <span class="kw"></creator></span></a>
<a class="sourceLine" id="cb20-15" data-line-number="15"> <span class="kw"><creator</span><span class="ot"> id=</span><span class="st">"23446"</span><span class="ot"> scope=</span><span class="st">"document"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb20-16" data-line-number="16"> <span class="kw"><individualName></span></a>
<a class="sourceLine" id="cb20-17" data-line-number="17"> <span class="kw"><surName></span>Meyer<span class="kw"></surName></span></a>
<a class="sourceLine" id="cb20-18" data-line-number="18"> <span class="kw"></individualName></span></a>
<a class="sourceLine" id="cb20-19" data-line-number="19"> <span class="kw"></creator></span></a>
<a class="sourceLine" id="cb20-20" data-line-number="20"> ...</a>
<a class="sourceLine" id="cb20-21" data-line-number="21"> <span class="kw"><contact</span><span class="ot"> id=</span><span class="st">"522"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb20-22" data-line-number="22"> <span class="kw"><references></span>23445<span class="kw"></references></span></a>
<a class="sourceLine" id="cb20-23" data-line-number="23"> <span class="kw"></contact></span></a>
<a class="sourceLine" id="cb20-24" data-line-number="24"> <span class="kw"></dataset></span></a>
<a class="sourceLine" id="cb20-25" data-line-number="25"> <span class="kw"></eml:eml></span></a></code></pre></div>
<p>This instance document is invalid because the contact element both
references another element and has an id itself. If an element
references another element, it may not have an id. This prevents
circular references.</p>
<p><strong>Example: A valid EML document</strong></p>
<div class="sourceCode" id="cb21"><pre class="sourceCode xml"><code class="sourceCode xml"><a class="sourceLine" id="cb21-1" data-line-number="1"> <span class="kw"><?xml</span> version="1.0"<span class="kw">?></span></a>
<a class="sourceLine" id="cb21-2" data-line-number="2"> <span class="kw"><eml:eml</span></a>
<a class="sourceLine" id="cb21-3" data-line-number="3"><span class="ot"> packageId=</span><span class="st">"eml.1.1"</span><span class="ot"> system=</span><span class="st">"knb"</span></a>
<a class="sourceLine" id="cb21-4" data-line-number="4"><span class="ot"> xmlns:eml=</span><span class="st">"https://eml.ecoinformatics.org/eml-2.2.0"</span></a>
<a class="sourceLine" id="cb21-5" data-line-number="5"><span class="ot"> xmlns:xsi=</span><span class="st">"http://www.w3.org/2001/XMLSchema-instance"</span></a>
<a class="sourceLine" id="cb21-6" data-line-number="6"><span class="ot"> xsi:schemaLocation=</span><span class="st">"https://eml.ecoinformatics.org/eml-2.2.0 eml.xsd"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb21-7" data-line-number="7"></a>
<a class="sourceLine" id="cb21-8" data-line-number="8"> <span class="kw"><dataset</span><span class="ot"> id=</span><span class="st">"ds.1"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb21-9" data-line-number="9"> <span class="kw"><title></span>Sample Dataset Description<span class="kw"></title></span></a>
<a class="sourceLine" id="cb21-10" data-line-number="10"> <span class="kw"><creator</span><span class="ot"> id=</span><span class="st">"23445"</span><span class="ot"> scope=</span><span class="st">"document"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb21-11" data-line-number="11"> <span class="kw"><individualName></span></a>
<a class="sourceLine" id="cb21-12" data-line-number="12"> <span class="kw"><surName></span>Smith<span class="kw"></surName></span></a>
<a class="sourceLine" id="cb21-13" data-line-number="13"> <span class="kw"></individualName></span></a>
<a class="sourceLine" id="cb21-14" data-line-number="14"> <span class="kw"></creator></span></a>
<a class="sourceLine" id="cb21-15" data-line-number="15"> <span class="kw"><creator</span><span class="ot"> id=</span><span class="st">"23446"</span><span class="ot"> scope=</span><span class="st">"document"</span><span class="kw">></span></a>
<a class="sourceLine" id="cb21-16" data-line-number="16"> <span class="kw"><individualName></span></a>
<a class="sourceLine" id="cb21-17" data-line-number="17"> <span class="kw"><surName></span>Smith<span class="kw"></surName></span></a>
<a class="sourceLine" id="cb21-18" data-line-number="18"> <span class="kw"></individualName></span></a>
<a class="sourceLine" id="cb21-19" data-line-number="19"> <span class="kw"></creator></span></a>
<a class="sourceLine" id="cb21-20" data-line-number="20"> ...</a>
<a class="sourceLine" id="cb21-21" data-line-number="21"> <span class="kw"><contact></span></a>
<a class="sourceLine" id="cb21-22" data-line-number="22"> <span class="kw"><references></span>23446<span class="kw"></references></span></a>
<a class="sourceLine" id="cb21-23" data-line-number="23"> <span class="kw"></contact></span></a>
<a class="sourceLine" id="cb21-24" data-line-number="24"> <span class="kw"><contact></span></a>
<a class="sourceLine" id="cb21-25" data-line-number="25"> <span class="kw"><references></span>23445<span class="kw"></references></span></a>
<a class="sourceLine" id="cb21-26" data-line-number="26"> <span class="kw"></contact></span></a>
<a class="sourceLine" id="cb21-27" data-line-number="27"> <span class="kw"></dataset></span></a>
<a class="sourceLine" id="cb21-28" data-line-number="28"> <span class="kw"></eml:eml></span></a></code></pre></div>
<p>This instance document is valid. Each contact is referencing one of the
creators above and all the ids are unique. The each creator has a its own <code>id</code>
indicates that they are different people, even though they have the same
<code>surName</code> and there is no other distinguishing metadata.</p>
</div>
</div>
</section>
</div>
</div>
</div>
<a href="eml-schema.html" class="navigation navigation-prev " aria-label="Previous page"><i class="fa fa-angle-left"></i></a>
<a href="semantic-annotation-primer.html" class="navigation navigation-next " aria-label="Next page"><i class="fa fa-angle-right"></i></a>
</div>
</div>
<script src="libs/gitbook-2.6.7/js/app.min.js"></script>
<script src="libs/gitbook-2.6.7/js/lunr.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-search.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-sharing.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-fontsettings.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-bookdown.js"></script>
<script src="libs/gitbook-2.6.7/js/jquery.highlight.js"></script>
<script>
gitbook.require(["gitbook"], function(gitbook) {
gitbook.start({
"sharing": {
"github": false,
"facebook": true,
"twitter": true,
"google": false,
"linkedin": false,
"weibo": false,
"instapaper": false,
"vk": false,
"all": ["facebook", "google", "twitter", "linkedin", "weibo", "instapaper"]
},
"fontsettings": {
"theme": "white",
"family": "sans",
"size": 2
},
"edit": {
"link": null,
"text": null
},
"history": {
"link": null,
"text": null
},
"download": null,
"toc": {
"collapse": "section"
}
});
});
</script>
</body>
</html>