-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathphysicaldataproduct_proprietary.xsd
221 lines (215 loc) · 12 KB
/
physicaldataproduct_proprietary.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
<?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:physicaldataproduct_proprietary:3_2" xmlns:r="ddi:reusable:3_2" xmlns:p="ddi:physicaldataproduct:3_2" targetNamespace="ddi:physicaldataproduct_proprietary:3_2" elementFormDefault="qualified">
<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:physicaldataproduct:3_2" schemaLocation="physicaldataproduct.xsd"/>
<xs:element name="RecordLayout" type="RecordLayoutType" substitutionGroup="p:BaseRecordLayout">
<xs:annotation>
<xs:documentation>A member of the BaseRecordLayout substitution group intended for use when the data items are stored in an external proprietary format.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="RecordLayoutType">
<xs:annotation>
<xs:documentation>A member of the BaseRecordLayout substitution group intended for use when the data items are stored in an external proprietary format. In addition to the link to the PhysicalStructure provided by BaseRecordLayout, the record layout is this namespace (m4) identifies the character set and array base for the external data, identifies the software of the proprietary system, provides a description of how the data item is addressed within the system, provides default values for numeric data types, text data types, dateTime data types, whether coded data should be treated as numeric or text, a default variable scheme, proprietary information, and a full description of each data item including its link to the variable description and system address.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="p:BaseRecordLayoutType">
<xs:sequence>
<xs:element ref="r:CharacterSet" minOccurs="0">
<xs:annotation>
<xs:documentation>Character set used in the data file (e.g., US ASCII, EBCDIC, UTF-8). This is a required field.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:ArrayBase" minOccurs="0">
<xs:annotation>
<xs:documentation>Sets the array base for any arrays used in the definition (that is, whether the first value is in position 0 or 1, etc.). This may be the data array in a delimited data file or the measure array for measures that are bundled and stored in a single location. Array base is generally set to either 0 or 1. There is no override provided as systems processing a record would use a consistent array base.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="SystemSoftware">
<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="DataItemAddress" minOccurs="0">
<xs:annotation>
<xs:documentation>Provides minimum information on data item address system, such as variable ID or Name, etc.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DefaultNumericDataTypeReference" minOccurs="0">
<xs:annotation>
<xs:documentation>Declares the most common data type used for numeric data.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DefaultTextDataTypeReference" minOccurs="0">
<xs:annotation>
<xs:documentation>Declares the most common data type used for textual data.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DefaultDateTimeDataTypeReference" minOccurs="0">
<xs:annotation>
<xs:documentation>Declares the most common data type used for date-time data.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice minOccurs="0">
<xs:element ref="CodedDataAsNumeric">
<xs:annotation>
<xs:documentation>Indicates that coded data should be treated as numeric, and defines the numeric type.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="CodedDataAsText">
<xs:annotation>
<xs:documentation>Indicates that coded data should be treated as text, and defines the text type.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element ref="r:DefaultVariableSchemeReference" minOccurs="0">
<xs:annotation>
<xs:documentation>References a variable scheme for the RecordLayout. This can be overridden by individual data items if they are from a different variable scheme.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:ProprietaryInfo" minOccurs="0">
<xs:annotation>
<xs:documentation>Contains information proprietary to the software package which produced the data file. This is expressed as a set of key(name)/ value pairs.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="DataItem" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Describes a single data item within the file including its variable reference, information on the data type, and any item specific proprietary information.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="DataItemAddressType">
<xs:annotation>
<xs:documentation>Provides minimum information on data item address system, such as variable ID or Name, etc.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element ref="r:Description" minOccurs="0">
<xs:annotation>
<xs:documentation>Description of the data item address.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DataItemType">
<xs:annotation>
<xs:documentation>Describes a single data item within the record, linking it to its description in a variable and providing information on its data type and any item specific proprietary information.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element ref="r:VariableReference" minOccurs="0">
<xs:annotation>
<xs:documentation>Reference to a Variable describing the content of the data item.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProprietaryDataType" minOccurs="0">
<xs:annotation>
<xs:documentation>Allows an override of the default data type, using the language of the proprietary software. A controlled vocabulary is recommended.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="ProprietaryOutputFormat" minOccurs="0">
<xs:annotation>
<xs:documentation>Indicates the proprietary output format.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="r:ProprietaryInfo" minOccurs="0">
<xs:annotation>
<xs:documentation>Contains proprietary information specific to the data item. This is expressed as a set of key (name)-value pairs.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="DataItemAddress" type="DataItemAddressType">
<xs:annotation>
<xs:documentation>Provides minimum information on data item address system.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DefaultNumericDataTypeReference" type="r:ReferenceType">
<xs:annotation>
<xs:documentation>Reference to an existing ManagedNumericRepresentation using the Reference structure. TypeOfObject should be set to ManagedNumericRepresentation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DefaultTextDataTypeReference" type="r:ReferenceType">
<xs:annotation>
<xs:documentation>Reference to an existing ManagedTextRepresentation using the Reference structure. TypeOfObject should be set to ManagedTextRepresentation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DefaultDateTimeDataTypeReference" type="r:ReferenceType">
<xs:annotation>
<xs:documentation>Reference to an existing ManagedDateTimeRepresentation using the Reference structure. TypeOfObject should be set to ManagedDateTimeRepresentation.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CodedDataAsNumeric" type="CodedDataAsNumericType">
<xs:annotation>
<xs:documentation>Indicates that coded data should be treated as numeric.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="CodedDataAsNumericType">
<xs:annotation>
<xs:documentation>Indicates that coded data should be treated as numeric, and references the definition of the numeric type as described in ManagedNumericRepresentation. TypeOfObject should be set to ManagedNumericRepresentation.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="r:ReferenceType">
<xs:attribute name="treatCodedDataAsNumeric" type="xs:boolean" fixed="true">
<xs:annotation>
<xs:documentation>Fixed attribute indicating that coded data should be treated as a numeric of the referenced type.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="CodedDataAsText" type="CodedDataAsTextType">
<xs:annotation>
<xs:documentation>Indicates that coded data should be treated as text.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="CodedDataAsTextType">
<xs:annotation>
<xs:documentation>Indicates that coded data should be treated as text, and references the definition of the text type as described in ManagedTextRepresentation. TypeOfObject should be set to ManagedTextRepresentation.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="r:ReferenceType">
<xs:attribute name="treatCodedDataAsText" type="xs:boolean" fixed="true">
<xs:annotation>
<xs:documentation>Fixed attribute indicating that coded data should be treated as a text/character string of the referenced type.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="ProprietaryDataType" type="r:CodeValueType">
<xs:annotation>
<xs:documentation>A brief textual description of the of proprietary data being provided. Supports the use of an external controlled vocabulary.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ProprietaryOutputFormat" type="r:CodeValueType">
<xs:annotation>
<xs:documentation>A brief textual description or classification of the proprietary output format of the data. Supports the use of an external controlled vocabulary.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DataItem" type="DataItemType">
<xs:annotation>
<xs:documentation>Describes a single data item within the record.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SystemSoftware" type="r:SoftwareType">
<xs:annotation>
<xs:documentation>Specification of the software used by the proprietary system.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>