/
datacollection.xsd
4193 lines (4162 loc) · 257 KB
/
datacollection.xsd
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
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2014 DDI Alliance, DDI 3.2 release, 2014-02-05
This file is part of DDI 3.2 XML Schema.
DDI 3.2 XML Schema is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by the
Free Software Foundation, either version 3 of the License, or (at your
option) any later version.
DDI 3.2 XML Schema is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
for more details.
You should have received a copy of the GNU Lesser General Public License along
with DDI 3.2 XML Schema. If not, see <http://www.gnu.org/licenses/>.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="ddi:datacollection:3_2" xmlns:r="ddi:reusable:3_2" xmlns:l="ddi:logicalproduct:3_2" targetNamespace="ddi:datacollection:3_2" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
<xs:import namespace="ddi:reusable:3_2" schemaLocation="reusable.xsd"/>
<xs:import namespace="ddi:logicalproduct:3_2" schemaLocation="logicalproduct.xsd"/>
<!-- DATA COLLECTION -->
<xs:element name="DataCollection" type="DataCollectionType">
<xs:annotation>
<xs:documentation>A maintainable module containing information on activities related to data collection/capture and the processing required for the creation a data product. This section covers the methodologies, events, data sources, collection instruments and processes which comprise the collection/capture and processing of data. Methodology covers approaches used for selecting samples, administering surveys, timing repeated data collection activities. Collection Event specifies data sources, collection instruments, questions and question flow, and data processing activities. This module houses Processing Instructions (General Instructions and Generation Instructions) which may be referenced by variables or comparison maps. It houses the following schemes: Question Scheme, Control Construct Scheme (questionnaire flow), Interviewer Instruction Scheme, Instrument Scheme, Processing Event Scheme, and Processing Instruction Scheme.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="DataCollectionType">
<xs:annotation>
<xs:documentation>A maintainable module containing information on activities related to data collection/capture and the processing required for the creation a data product. This section covers the methodologies, events, data sources, collection instruments and processes which comprise the collection/capture and processing of data. Methodology covers approaches used for selecting samples, administering surveys, timing repeated data collection activities. Collection Event specifies data sources, collection instruments, questions and question flow, and data processing activities. This module houses Processing Instructions (General Instructions and Generation Instructions) which may be referenced by variables or comparison maps.The module is described by a name, label, and description, provides spatial, temporal, and topical coverage information on the activities covered by the module, and references to external material related to objects in the module using OtherMaterial. The content of the module is organized within the following sections; Methodology, Collection Event, QuestionScheme (in-line or by reference), ControlConstructScheme (in-line or by references) containing the flow of a questionnaire or data capture process, InterviewerInstructionScheme (in-line or by reference), InstrumentScheme (in-line or by reference) and ProcessingEventScheme (in-line or by reference).</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="r:MaintainableType">
<xs:sequence>
<xs:element ref="DataCollectionModuleName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A name for the DataCollection module. May be expressed in multiple languages. Repeat the element to express names with different content, for example different names for different systems.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Label" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A display label for the DataCollection module. May be expressed in multiple languages. Repeat for labels with different content, for example, labels with differing length limitations.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Description" minOccurs="0">
<xs:annotation>
<xs:documentation>A description of the content and purpose of the DataCollection module. May be expressed in multiple languages and supports the use of structured content.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Coverage" minOccurs="0">
<xs:annotation>
<xs:documentation>Documents the spatial, temporal, and/or topical coverage of the data collection module.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:OtherMaterial" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Contains references to other materials relevant to the data collection module, whether in DDI form or external. Links can be made from items in this section to any identifiable element in the instance. Best practice is to include OtherMaterial inside the maintainable containing the objects that are related to the OtherMaterial.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0">
<xs:element ref="Methodology">
<xs:annotation>
<xs:documentation>Metadata regarding the methodology of the data collection process including, determining repetition patterns, sampling, collection modes, etc.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="MethodologyReference">
<xs:annotation>
<xs:documentation>Reference to metadata regarding the methodology of the data collection process including, determining repetition patterns, sampling, collection modes, etc. TypeOfObject should be set to Methodology.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element ref="CollectionEvent" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A specific event in the collection or capture process.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="QuestionScheme">
<xs:annotation>
<xs:documentation>Describes a set of questions used for data collection.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:QuestionSchemeReference">
<xs:annotation>
<xs:documentation>A reference to a QuestionScheme describing a set of questions used for data collection.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ControlConstructScheme">
<xs:annotation>
<xs:documentation>Describes a set of control constructs used to produce the flow pattern of a questionnaire or steps in a data capture process.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:ControlConstructSchemeReference">
<xs:annotation>
<xs:documentation>A reference to a set of control constructs used to produce the flow pattern of a questionnaire or steps in a data capture process.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="InterviewerInstructionScheme">
<xs:annotation>
<xs:documentation>Describes a set of instructions used by the interviewer (respondent in the case of a self administered questionnaire) or instrument to support the accurate collection or capture of data.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:InterviewerInstructionSchemeReference">
<xs:annotation>
<xs:documentation>Reference to a InterviewerInstructionScheme using SchemeReference which allows for the specification of objects to exclude.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="InstrumentScheme">
<xs:annotation>
<xs:documentation>Describes a set of instruments used to collect or capture data.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:InstrumentSchemeReference">
<xs:annotation>
<xs:documentation>A reference to a set of instruments used to collect or capture data.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ProcessingEventScheme">
<xs:annotation>
<xs:documentation>Describes a set of processing events used to collect or capture data and process it during or post collection. May include the processes used to capture data in non-questionnaire data capture.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProcessingEventSchemeReference">
<xs:annotation>
<xs:documentation>References a set of processing events used to collect or capture data and process it during or post collection. May include the processes used to capture data in non-questionnaire data capture.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ProcessingInstructionScheme">
<xs:annotation>
<xs:documentation>Describes a set of processing instructions used to collect or capture data and process it during or post collection. May include the processing instructions used to capture data in non-questionnaire data capture.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProcessingInstructionSchemeReference">
<xs:annotation>
<xs:documentation>References a set of processing instructions used to collect or capture data and process it during or post collection. May include the processing instructions used to capture data in non-questionnaire data capture.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="DataCollectionModuleName" type="r:NameType">
<xs:annotation>
<xs:documentation>Name of the Data Collection Module using the DDI Name structure.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProcessingEventScheme" type="ProcessingEventSchemeType">
<xs:annotation>
<xs:documentation>A set of processing events maintained by an agency, and used in the processing data during development, cleaning, converting to variables, aggregating, and comparing.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProcessingEventSchemeReference" type="r:SchemeReferenceType">
<xs:annotation>
<xs:documentation>Reference to a ProcessingEventScheme using SchemeReference which allows for the specification of objects to exclude. TypeOfObject should be set to ProcessingEventScheme.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProcessingInstructionSchemeReference" type="r:SchemeReferenceType">
<xs:annotation>
<xs:documentation>Reference to a ProcessingInstructionScheme using SchemeReference which allows for the specification of objects to exclude. TypeOfObject should be set to ProcessingInstructionScheme.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MethodologyReference" type="r:ReferenceType">
<xs:annotation>
<xs:documentation>Reference to metadata regarding the methodology of the data collection process including, determining repetition patterns, sampling, collection modes, etc. TypeOfObject should be set to Methodology.</xs:documentation>
</xs:annotation>
</xs:element>
<!-- METHODOLOGY -->
<xs:complexType name="MethodologyType">
<xs:annotation>
<xs:documentation>Metadata regarding the methodologies used concerning data collection, determining the timing and repetition patterns for data collection, and sampling procedures. Identifies areas where there were deviations from the planned sampling approach, the software used for data collection, and references to any quality standards or statements regarding the processes surrounding the planning and implementation of data collection.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="r:VersionableType">
<xs:sequence>
<xs:element ref="DataCollectionMethodology" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A basic structure for describing the methodology used for collecting data. Repeat this element if multiple methodologies are used.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="TimeMethod" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Describes how time fits into the data collection methodology.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="SamplingProcedure" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Describes the type of sample, sample design and provides details on drawing the sample. May be repeated to provide descriptions of individual facets of a single sample design or when multiple sampling methods are used. When multiple descriptions are used, the use of a controlled vocabulary to identify the parts and relationships is strongly recommended.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DeviationFromSampleDesign" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Describes any deviations from the planned sample design.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DataCollectionSoftware" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Specification of a software package used to instantiate a data collection method.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:QualityStatementReference" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A reference to a Quality Statement pertaining to the quality of the study methodology, metadata, or data to which it is associated. Quality statements may be related to external quality standards.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="DataCollectionSoftware" type="r:SoftwareType">
<xs:annotation>
<xs:documentation>Specification of the software used by the proprietary system.</xs:documentation>
</xs:annotation>
</xs:element>
<!-- COLLECTION EVENT -->
<xs:complexType name="CollectionEventType">
<xs:annotation>
<xs:documentation>Information on a specific data collection event including details on who was involved in data collection, the source of the data, the date and frequency of collection, mode of collection, identification of the instrument used for collection, information on the actual situation under which data was collected, actions taken to minimize loss of data, and reference to a quality standard or statement regarding the handling of the data collection process during this event.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="r:IdentifiableType">
<xs:sequence>
<xs:element ref="DataCollectorOrganizationReference" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Reference to an organization or individual, defined in the organization scheme, responsible for the data collection.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DataSource" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Describes a source of the data.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DataCollectionDate" minOccurs="0">
<xs:annotation>
<xs:documentation>Provides a date or range of dates for the described data collection event as well as a cycle number when the collection is part of a series of data collection events.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DataCollectionFrequency" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Documents the intended frequency of data collection, for example monthly, yearly, weekly, etc., preferably using an optional controlled vocabulary in the IntendedFrequency element. Date of first collection should be provided in StartDate as a basis for defining periodicity. EndDate should be entered for data collection cycles with a known or anticipated end date. EndDate is omitted in data collection series that are intended to be on-going.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ModeOfCollection" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Describes the mode of data collection.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="InstrumentReference" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>References the instrument or instruments used during the process of collecting data for this collection event period.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CollectionSituation" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Describes the situation in which the data collection event takes place. If a number of collection situation types occurred repeat this element.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ActionToMinimizeLosses" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Describes action taken to minimize loss of data from the collection event.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:QualityStatementReference" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A reference to a Quality Statement pertaining to the quality of the study methodology, metadata, or data to which it is associated. Quality statements may be related to external quality standards.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="DataCollectionFrequencyType">
<xs:annotation>
<xs:documentation>Documents the intended frequency of data collection, for example monthly, yearly, weekly, etc., preferably using an optional controlled vocabulary in the IntendedFrequency element. Date of first collection should be provided in StartDate as a basis for defining periodicity. EndDate should be entered for data collection cycles with a known or anticipated end date. EndDate is omitted in data collection series that are intended to be on-going.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="r:DateType">
<xs:sequence>
<xs:element name="IntendedFrequency" type="r:CodeValueType" minOccurs="0">
<xs:annotation>
<xs:documentation>Documents the intended frequency of data collection, for example monthly, yearly, weekly, etc., preferably using an optional controlled vocabulary.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="DataSourceType">
<xs:annotation>
<xs:documentation>Describes the source of the data. This may be a population group, an environmental object, a registry, published or unpublished data source, etc. Describes and provides a classification of the source, a citation of the origin if applicable, and a listing of any characteristics of the data source that may affect understanding of the data.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element ref="SourceDescription" minOccurs="0">
<xs:annotation>
<xs:documentation>A description of the data source. May be expressed in multiple languages and supports the use of structured content.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="SourceType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Brief classification of the data source. Supports the use of an external controlled vocabulary. May be repeated to represent different forms of classification.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Origin" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A citation or URI for the source of the data. Note that this is an external reference, and should not be used to point to DDI descriptions of the data, or to DDI-encoded data.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="SourceCharacteristic" minOccurs="0">
<xs:annotation>
<xs:documentation>A significant characteristic of the data source that may affect understanding or collection of the data. This will include the level of documentation of the source data. For example: 'Legibility of data source affected due to water damage,' or 'solar flares during the data collection period may have affected the consistency of the data during the following period.'</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="SourceDescription" type="r:StructuredStringType">
<xs:annotation>
<xs:documentation>Source Description provided using a StructuredString to support multiple language versions of the same content as well as optional formatting of the content.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SourceType" type="r:CodeValueType">
<xs:annotation>
<xs:documentation>A brief textual description of the type of data source. Supports the use of an external controlled vocabulary.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="OriginType">
<xs:annotation>
<xs:documentation>A citation or URI for the source of the data. Note that this is an external reference, and should not be used to point to DDI descriptions of the data, or to DDI-encoded data.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element ref="r:Citation" minOccurs="0">
<xs:annotation>
<xs:documentation>Citation for the data source.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="OriginLocation" type="xs:anyURI" minOccurs="0">
<xs:annotation>
<xs:documentation>A URN or URL for the data source.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- PROCESSING -->
<xs:complexType name="ProcessingEventSchemeType">
<xs:annotation>
<xs:documentation>A set of processing events maintained by an agency, and used in the processing data during development, cleaning, converting to variables, aggregating, and comparing. In addition to the standard name, label, and description allows for the inclusion of an existing ProcessingEventScheme by reference and descriptions of ProcessingEvent and ProcessingEventGroup either in-line or by reference.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="r:MaintainableType">
<xs:sequence>
<xs:element ref="ProcessingEventSchemeName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A name for the ProcessingEventScheme. May be expressed in multiple languages. Repeat the element to express names with different content, for example different names for different systems.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Label" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A display label for the ProcessingEventScheme. May be expressed in multiple languages. Repeat for labels with different content, for example, labels with differing length limitations.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Description" minOccurs="0">
<xs:annotation>
<xs:documentation>A description of the ProcessingEventScheme. May be expressed in multiple languages and supports the use of structured content.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProcessingEventSchemeReference" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Reference to an existing ProcessingEventScheme for inclusion.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ProcessingEvent">
<xs:annotation>
<xs:documentation>A ProcessingEvent described in the ProcessingEventScheme.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProcessingEventReference">
<xs:annotation>
<xs:documentation>Reference to an existing ProcessingEvent for inclusion in the scheme.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ProcessingEventGroup">
<xs:annotation>
<xs:documentation>A description of a group of ProcessingEvent for administrative or conceptual purposes.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProcessingEventGroupReference">
<xs:annotation>
<xs:documentation>A Processing Instruction Group included in the scheme by reference.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="ProcessingEventSchemeName" type="r:NameType">
<xs:annotation>
<xs:documentation>Name of the Processing Event Scheme using the DDI Name structure.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProcessingEventReference" type="r:ReferenceType">
<xs:annotation>
<xs:documentation>Reference to an existing ProcessingEvent using the Reference structure. TypeOfObject should be set to ProcessingEvent.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProcessingEventGroupReference" type="r:ReferenceType">
<xs:annotation>
<xs:documentation>Reference to an existing ProcessingEventGroup using the Reference structure. TypeOfObject should be set to ProcessingEventGroup.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProcessingEventGroup" type="ProcessingEventGroupType">
<xs:annotation>
<xs:documentation>Describes a group of processing events for administrative or conceptual purposes, which may be hierarchical.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="ProcessingEventGroupType">
<xs:annotation>
<xs:documentation>Describes a group of processing events for administrative or conceptual purposes, which may be hierarchical. In addition to the standard name, label, and description contains references to included Processing Events, and other ProcessingEventGroups.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="r:VersionableType">
<xs:sequence>
<xs:element ref="TypeOfProcessingEventGroup" minOccurs="0">
<xs:annotation>
<xs:documentation>A generic element for specifying a reason for a processing events group. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProcessingEventGroupName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A name for the ProcessingEventGroup. May be expressed in multiple languages. Repeat the element to express names with different content, for example different names for different systems.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Label" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A display label for the ProcessingEventGroup. May be expressed in multiple languages. Repeat for labels with different content, for example, labels with differing length limitations.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Description" minOccurs="0">
<xs:annotation>
<xs:documentation>A description of the ProcessingEventGroup. May be expressed in multiple languages and supports the use of structured content.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:UniverseReference" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:ConceptReference" minOccurs="0">
<xs:annotation>
<xs:documentation>Reference to the concept expressed by the objects in this group.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Subject" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Keyword" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ProcessingEventReference">
<xs:annotation>
<xs:documentation>Reference to constituent ProcessingEvent.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProcessingEventGroupReference">
<xs:annotation>
<xs:documentation>Reference to constituent processing event group. This allows for nesting of processing instruction groups.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="isOrdered" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation>If set to "true" indicates that the content of the group is ordered as it appears within the XML structure.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="ProcessingEventGroupName" type="r:NameType">
<xs:annotation>
<xs:documentation>Name of the Processing Event Group using the DDI Name structure.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TypeOfProcessingEventGroup" type="r:CodeValueType">
<xs:annotation>
<xs:documentation>A brief textual description of the type of group created to associate a number of processing events. Supports the use of an external controlled vocabulary.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="ProcessingEventType">
<xs:annotation>
<xs:documentation>ProcessingEvent can contain a number of operations of different types to express a range of events that occur together. For example a ProcessingEvent of a CleaningOperation may also include a reference to a ProcessingInstruction used in the cleaning process. Event activities include ControlOperation, CleaningOperation, Weighting, and DataAppraisalInformation. References to related processing instructions and quality statement may be included.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="r:VersionableType">
<xs:sequence>
<xs:element ref="ControlOperation" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Description of a Control Operation used to facilitate data control.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CleaningOperation" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Description of a Cleaning Operation such as consistency checking, invalid or out of range values, etc.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Weighting">
<xs:annotation>
<xs:documentation>Description of the weighting process and any resultant standard weights.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="WeightingReference">
<xs:annotation>
<xs:documentation>Reference to a description of the weighting process and any resultant standard weights. TypeOfObject should be set to Weighting.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element ref="DataAppraisalInformation" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Description of the data appraisal processing including the resultant sampling error and response rate.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:ProcessingInstructionReference" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Reference to a processing instruction (GeneralInstruction or GenerationInstruction) used during the processing event. The basic Reference structure is extended to allow for the use of ParameterLinkage to link specific source parameters to the InParameter of the instruction to reflect its use within this specific Processing Event.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:QualityStatementReference" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Reference to a quality statement relating to the processing event.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="WeightingReference" type="r:ReferenceType">
<xs:annotation>
<xs:documentation>Reference to a description of the weighting process and any resultant standard weights. TypeOfObject should be set to Weighting.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="OperationType">
<xs:annotation>
<xs:documentation>A generic operation description used as a type by specified operations. Describes the operation and identifies the organization or individual responsible for performing it.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element ref="r:Description" minOccurs="0">
<xs:annotation>
<xs:documentation>A description of the operation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:AgencyOrganizationReference" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A reference to an organization or individual responsible for the operation.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DataAppraisalInformationType">
<xs:annotation>
<xs:documentation>Describes the result of data appraisal activities as a response rate and sampling error. May also list additional appraisal processes taken as a result of the initial appraisal process.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element ref="ResponseRate" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A specific rate of response and/or a description of the rate of response for this event. If data contains multiple response rates for different portions of the data due to delivery method, identification of sub-populations or other reasons, repeat this element providing the specific response rate and a description of the sub-population, delivery method or other feature that was used in developing the specific rate.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="SamplingError" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Sampling Error provided using a StructuredString to support multiple language versions of the same content as well as optional formatting of the content.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="OtherAppraisalProcess" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Other Appraisal Process provided using a StructuredString to support multiple language versions of the same content as well as optional formatting of the content.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="ResponseRate" type="ResponseRateType">
<xs:annotation>
<xs:documentation>A specific rate of response and/or a description of the rate of response for a specific processing event that includes data appraisal.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="ResponseRateType">
<xs:annotation>
<xs:documentation>A specific rate of response and/or a description of the rate of response for a specific processing event that includes data appraisal.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="SampleSize" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>The size of the sample from whom data was requested.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NumberOfResponses" type="xs:integer" minOccurs="0">
<xs:annotation>
<xs:documentation>The number of responses within the specified sample.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SpecificResponseRate" type="xs:decimal" minOccurs="0">
<xs:annotation>
<xs:documentation>The specific rate of response expressed as a percent.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Description" minOccurs="0">
<xs:annotation>
<xs:documentation>A description of the rate of response including any information pertinent to understanding the specified rate of response.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="ProcessingInstructionScheme" type="ProcessingInstructionSchemeType">
<xs:annotation>
<xs:documentation>A set of Processing Instructions (General and Generation Instructions) maintained by an agency.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="ProcessingInstructionSchemeType">
<xs:annotation>
<xs:documentation>A set of Processing Instructions (General and Generation Instructions) maintained by an agency. In addition to the standard name, label, and description allows for the inclusion of an existing ProcessingInstructionScheme by reference, and GeneralInstruction, GenerationInstruction, and ProcessingInstructionGroup descriptions either in-line or by reference.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="r:MaintainableType">
<xs:sequence>
<xs:element ref="ProcessingInstructionSchemeName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A name for the ProcessingInstructionScheme. May be expressed in multiple languages. Repeat the element to express names with different content, for example different names for different systems.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Label" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A display label for the ProcessingInstructionScheme. May be expressed in multiple languages. Repeat for labels with different content, for example, labels with differing length limitations.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Description" minOccurs="0">
<xs:annotation>
<xs:documentation>A description of the ProcessingInstructionScheme. May be expressed in multiple languages and supports the use of structured content.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProcessingInstructionSchemeReference" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Reference to an existing ProcessingInstructionScheme for inclusion.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="GeneralInstruction">
<xs:annotation>
<xs:documentation>A General Instruction described in the Processing Instruction Scheme.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="GeneralInstructionReference">
<xs:annotation>
<xs:documentation>A General Instruction include by reference in the Processing Instruction Scheme.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="GenerationInstruction">
<xs:annotation>
<xs:documentation>A Generation Instruction described in the Processing Instruction Scheme.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="GenerationInstructionReference">
<xs:annotation>
<xs:documentation>A Generation Instruction include by reference in the Processing Instruction Scheme.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ProcessingInstructionGroup">
<xs:annotation>
<xs:documentation>A description of a group of ProcessingInstructions for administrative or conceptual purposes.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProcessingInstructionGroupReference">
<xs:annotation>
<xs:documentation>A Processing Instruction Group included in the scheme by reference.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="GeneralInstructionReference" type="r:ReferenceType">
<xs:annotation>
<xs:documentation>Reference to an existing GeneralInstruction using the Reference structure. TypeOfObject should be set to GeneralInstruction.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="GenerationInstructionReference" type="r:ReferenceType">
<xs:annotation>
<xs:documentation>Reference to an existing GenerationInstruction using the Reference structure. TypeOfObject should be set to GenerationInstruction.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProcessingInstructionSchemeName" type="r:NameType">
<xs:annotation>
<xs:documentation>Name of the Processing Instruction using the DDI Name structure.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProcessingInstructionGroupReference" type="r:ReferenceType">
<xs:annotation>
<xs:documentation>Reference to an existing ProcessingInstructionGroup using the Reference structure. TypeOfObject should be set to ProcessingInstructionGroup.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProcessingInstructionGroup" type="ProcessingInstructionGroupType">
<xs:annotation>
<xs:documentation>Describes a group of processing instructions for administrative or conceptual purposes, which may be hierarchical.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="ProcessingInstructionGroupType">
<xs:annotation>
<xs:documentation>Describes a group of processing instructions for administrative or conceptual purposes, which may be hierarchical. In addition to the standard name, label, and description contains references to included Generation or General Instructions, and other ProcessingInstructionGroups.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="r:VersionableType">
<xs:sequence>
<xs:element ref="TypeOfProcessingInstructionGroup" minOccurs="0">
<xs:annotation>
<xs:documentation>A generic element for specifying a reason for a processing instruction group. Note that this element can contain either a term from a controlled vocabulary list or a textual description.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProcessingInstructionGroupName" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A name for the ProcessingInstructionGroup. May be expressed in multiple languages. Repeat the element to express names with different content, for example different names for different systems.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Label" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A display label for the ProcessingInstructionGroup. May be expressed in multiple languages. Repeat for labels with different content, for example, labels with differing length limitations.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Description" minOccurs="0">
<xs:annotation>
<xs:documentation>A description of the ProcessingInstructionGroup. May be expressed in multiple languages and supports the use of structured content.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:UniverseReference" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Reference to the universe statement describing the persons or other objects to which the contents of this group pertain.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:ConceptReference" minOccurs="0">
<xs:annotation>
<xs:documentation>Reference to the concept expressed by the objects in this group.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Subject" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>If subjects are listed for this group, it is strongly recommended that the subjects listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of subject at the group level allows for associating objects as a type of subject based group or to identify subject characteristics of a reusable group of objects.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Keyword" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>If keywords are listed for this group, it is strongly recommended that the keywords listed also be found in the TopicalCoverage element for the parent packaging element when this group is included directly or by reference in a module containing a coverage element. Use of keyword at the group level allows for associating objects as a type of keyword based group or to identify keyword characteristics of a reusable group of objects.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="GeneralInstructionReference">
<xs:annotation>
<xs:documentation>Reference to constituent General Instruction.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="GenerationInstructionReference">
<xs:annotation>
<xs:documentation>Reference to constituent Generation Instruction.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProcessingInstructionGroupReference">
<xs:annotation>
<xs:documentation>Reference to constituent processing instruction group. This allows for nesting of processing instruction groups.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute name="isOrdered" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation>If set to "true" indicates that the content of the group is ordered as it appears within the XML structure.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="ProcessingInstructionGroupName" type="r:NameType">
<xs:annotation>
<xs:documentation>Name of the Processing Instruction Group using the DDI Name structure.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TypeOfProcessingInstructionGroup" type="r:CodeValueType">
<xs:annotation>
<xs:documentation>A brief textual description of the type of group created to associate a number of processing instructions. Supports the use of an external controlled vocabulary.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="GeneralInstructionType">
<xs:annotation>
<xs:documentation>Processing instructions that pertain to data collection or data processing overall such as handling of non-response to questions, imputation practices, suppression rules, etc. General instructions should be listed separately to allow for referencing of specific processes.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="r:VersionableType">
<xs:sequence>
<xs:element ref="r:Description" minOccurs="0">
<xs:annotation>
<xs:documentation>A description of the general instruction. May be expressed in multiple languages and supports the use of structured content.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:CommandCode" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Structured information used by a system to process the instruction.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="OverriddenCodeReference" minOccurs="0">
<xs:annotation>
<xs:documentation>Used when attribute of the containing GeneralInstruction isOverride equals true. This element provides the reference to the GeneralInstruction being overridden by the use of this instruction. For example a special confidentiality process used for a select set of variables rather than the normal process.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="isOverride" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation>If set to "true", indicates that this coding instruction overrides a more generally used process.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="GenerationInstructionType">
<xs:annotation>
<xs:documentation>Processing instructions for recodes, derivations from multiple question or variable sources, and derivations based on external sources. Instructions should be listed separately so they can be referenced individually.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="r:VersionableType">
<xs:sequence>
<xs:element ref="SourceQuestion" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Reference to a question used in the instruction.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="SourceVariable" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Reference to a variable used in the coding process</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ExternalInformation" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Reference to an external source of information used in the coding process, for example a value from a chart, etc.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:Description" minOccurs="0">
<xs:annotation>
<xs:documentation>A description of the generation instruction. May be expressed in multiple languages and supports the use of structured content.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:CommandCode" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Structured information used by a system to process the instruction.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ControlConstructReference" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A control construct which is used to describe or process the instruction.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="Aggregation" minOccurs="0">
<xs:annotation>
<xs:documentation>Describes the aggregation process, identifying both the independent and dependent variables within the process.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="isDerived" type="xs:boolean" default="true">
<xs:annotation>
<xs:documentation>Default setting is "true", the instruction describes a derivation. If the instruction is a simple recode, set to "false".</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="Aggregation" type="AggregationType">
<xs:annotation>
<xs:documentation>Describes the aggregation method and the variables used in the aggregation process.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="AggregationType">
<xs:annotation>
<xs:documentation>Describes the aggregation method and the variables used in the aggregation process. Identifies the method using an external controlled vocabulary and identifies the variables used either in-line or by reference to an existing description.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element ref="r:AggregationMethod" minOccurs="0">
<xs:annotation>
<xs:documentation>Identification of the type of aggregation method used. Supports the use of a controlled vocabulary. DDI strongly recommends the use of a controlled vocabulary.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:element ref="AggregationVariables" minOccurs="0">
<xs:annotation>
<xs:documentation>Identifies the independent and dependent variables used in the aggregation process in-line.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="AggregationVariablesReference" minOccurs="0">
<xs:annotation>
<xs:documentation>A reference to an existing AggregationVariables description.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:element name="AggregationVariables" type="AggregationVariablesType">
<xs:annotation>
<xs:documentation>Identifies the independent and dependent variables used in the aggregation process.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AggregationVariablesReference" type="r:ReferenceType">
<xs:annotation>
<xs:documentation>Reference to an existing AggregationVariables using the Reference structure. TypeOfObject should be set to Variable.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="AggregationVariablesType">
<xs:annotation>
<xs:documentation>Identifies the independent and dependent variables used in the aggregation process. Note that in the case of calculating a percentage, mean, etc. of a dependent value against the total population of the cell, there is no independent variable.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="r:IdentifiableType">
<xs:sequence>
<xs:element ref="IndependentVariableReference" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A reference to a variable, which is an important constraint for the computed aggregation measure and has the potential to invoke a change in a dependent variable like sex for average of income. In the context of calculating percentages, the use of Sex as the independent variable would indicate that the percentages provided represent the percentage of the dependent variable associated with a specific value for Sex (i.e., the dependent variable expressed as a percentage of the total for Males). This would be opposed to the percent for the full population (the percent of the total grid population falling within that particular cell).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DependentVariableReference" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A reference to a variable, for which the aggregate measure is computed like average of income.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="IndependentVariableReference" type="r:ReferenceType">
<xs:annotation>
<xs:documentation>Reference to an existing Variable using the Reference structure. TypeOfObject should be set to Variable.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DependentVariableReference" type="r:ReferenceType">
<xs:annotation>
<xs:documentation>Reference to an existing Variable using the Reference structure. TypeOfObject should be set to Variable.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="SourceReferenceType">
<xs:annotation>
<xs:documentation>Reference to a variable or question used in the derivation or coding instruction. TypeOfObject should be set to Variable, QuestionItem, or QuestionGrid.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="r:ReferenceType">
<xs:sequence>
<xs:element ref="r:Alias" minOccurs="0">
<xs:annotation>
<xs:documentation>Allows for assigning an alias used to reference this item in a command. For example if the SourceReference was a question capturing a persons age the command might read "If AGE LT 5...". AGE would be the alias.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- INTERVIEWER INSTRUCTIONS -->
<xs:element name="InterviewerInstructionScheme" type="InterviewerInstructionSchemeType">
<xs:annotation>
<xs:documentation>A set of interviewer instructions to be displayed within the instrument, such as definitions, and explanations of terminology and questions.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="InterviewerInstructionSchemeType">
<xs:annotation>
<xs:documentation>A set of interviewer instructions to be displayed within the instrument, such as definitions, and explanations of terminology and questions. Content may also be used to provide the contents of an instruction manual for questions or instruments. In addition to the standard name, label, and description, allows for the inclusion of another InterviewerInstructionScheme by reference an a set of in-line instructions.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="r:MaintainableType">
<xs:sequence>