forked from IHE-SDC-WG/SDC-Schema-Packages
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSDCTemplateAdmin.xsd
257 lines (253 loc) · 16.6 KB
/
SDCTemplateAdmin.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
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:ihe:qrph:sdc:2016" xmlns="urn:ihe:qrph:sdc:2016">
<!-- 9/15/2016 Changes for IHE Profile Trial Implementation (for Jan 2017 Connectathon) -->
<xs:include schemaLocation="SDCResources.xsd"/>
<xs:element name="TemplateAdmin" type="TemplateAdminType">
<xs:annotation>
<xs:documentation>General information about the associated XML package, including a description of the package contents and purpose (PackageDescription), information about the registry that contains the package (RegistryData), and information about the package file characteristics (TemplateMetadata).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="TemplateAdminType">
<xs:annotation>
<xs:documentation>Contains information about a registered package, including a description of the package contents and purpose (PackageDescription), information about the registry that contains the package XML (RegistryData), and information about the package file characteristics (TemplateFile).</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="ExtensionBaseType">
<xs:sequence>
<xs:element maxOccurs="unbounded" name="PackageDescription" type="RichTextType">
<xs:annotation>
<xs:documentation>Description of the XML package contents and the purpose for the contained XML templates.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RegistryData" minOccurs="0" type="RegistryType">
<xs:annotation>
<xs:documentation>Information about the registry that contains the XML template, and registration status of the XML template. (The XML template may contain a package of sub-templates. In this case, the the RegistryData refers primarily to the package, not the sub-templates.)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TemplateFile" type="FileType">
<xs:annotation>
<xs:documentation>Information about the XML template's file characteristics (The XML template may contain a package of sub-templates. In this case, the the RegistryData refers primarily to the entire package, not the sub-templates.)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DigitalSignature" maxOccurs="unbounded" minOccurs="0">
<xs:annotation>
<xs:documentation>NEW</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:complexContent>
<xs:extension base="ExtensionBaseType">
<xs:sequence>
<xs:element name="PackageSignature">
<xs:annotation>
<xs:documentation>The signature derives a hash from the entire contents of the package, including the package element and all its attributes, as well as all sub-elements. Before creating the hash, the complete content of the SignatureProperties element is concatenated to the package contents.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="val" type="xs:base64Binary" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="SignatureProperties">
<xs:complexType>
<xs:complexContent>
<xs:extension base="ExtensionBaseType">
<xs:sequence>
<xs:element name="Signer" type="ContactType"/>
<xs:element name="SignerPublicKeyCertificate">
<xs:annotation>
<xs:documentation>This certificate is a structured document in ASN.1 format, that is created by a certificate authority (CA) to verify that certifiacte owner (the signer) has registered his/her/its identity with the CA. The certificate contains information about the signer and the CA, and also contains the public key of the signer. The signer's public key (obtained from the certificate) may be used to verify or decrypt any document signed by the signer.
The signer's certificate is signed with the CA's public key, and thus the CA's public key may be used to verify the validity of the signer's certificate. The CA's public key can be stored locally or may be obtained directly from the CA's own certificate. A long list of CA certificates is provided with the operating system software of most systems.
Software to verify signatures and certificates and decrypt documents is provided with most operating systems and most programming languages.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="val" type="xs:base64Binary" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="SignatureReason">
<xs:complexType>
<xs:attribute name="val" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="SignatureDateTimeStamp">
<xs:complexType>
<xs:attribute name="val" type="xs:dateTimeStamp" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="X_CertificateAuthority" minOccurs="0">
<xs:complexType>
<xs:attribute name="val" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="X_SignerPublicKey" minOccurs="0">
<xs:complexType>
<xs:attribute name="val" type="xs:base64Binary" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="X_SignatureAlgorithm" minOccurs="0">
<xs:complexType>
<xs:attribute name="val" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="Image" minOccurs="0">
<xs:complexType>
<xs:attribute name="val" type="xs:base64Binary" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="RegistryType">
<xs:annotation>
<xs:documentation>This type provides data about the current and original registries that host the template or package, and also provides information about the status of the template/package within the current registry.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="ExtensionBaseType">
<xs:sequence>
<xs:element name="OriginalRegistry" minOccurs="0" maxOccurs="1" type="RegistrySummaryType"> </xs:element>
<xs:element name="CurrentRegistry" minOccurs="1" maxOccurs="1" type="RegistrySummaryType"> </xs:element>
<xs:element name="RegistrationStatus" minOccurs="0" maxOccurs="1" type="RegisteredItemType"> </xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="RegistrySummaryType">
<xs:annotation>
<xs:documentation>This type provides a structure to record information about a registry.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="ExtensionBaseType">
<xs:choice>
<xs:element name="RegistryName" type="string_Stype"/>
<xs:element name="Contact" type="ContactType" maxOccurs="unbounded" minOccurs="0">
<xs:annotation>
<xs:documentation>People and organizational contact information at the registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="ReferenceStandardIdentifier" type="string_Stype"/>
<xs:element maxOccurs="1" minOccurs="0" name="ServiceLevelAgreement" type="FileType"/>
<xs:element maxOccurs="1" minOccurs="0" name="RegistryPurpose" type="FileType">
<xs:annotation>
<xs:documentation>Information about the file that describes the purpose of the registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="Manual" type="FileType">
<xs:annotation>
<xs:documentation>Information about the file that describes how to use the registry.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="RegistryInterface" type="InterfaceType">
<xs:annotation>
<xs:documentation>Specification for accessing the registry using programming code.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="RegisteredItemType">
<xs:annotation>
<xs:documentation>This type provides a structure to record information about a file, template or package stored in a registry.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="ExtensionBaseType">
<xs:sequence>
<xs:element maxOccurs="unbounded" name="RegisteredItemDescription" type="RichTextType" minOccurs="0">
<xs:annotation>
<xs:documentation>Description of the Registered Item</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="State" minOccurs="0" maxOccurs="1" type="RegisteredItemStateType">
<xs:annotation>
<xs:documentation>Status of the Registered Item</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Contact" type="ContactType" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Person(s) and Organization(s) to contact regarding the Registration Status of the Registered Item</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ReferenceDocument" type="FileType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="RegisteredItemStateType">
<xs:annotation>
<xs:documentation>This type provides a structure to record status information about a file, template or package stored in a registry.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="ExtensionBaseType">
<xs:sequence>
<xs:element name="Acceptability" type="AcceptabilityType"> </xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="AdministrativeStatus" type="string_Stype"/>
<xs:element maxOccurs="1" minOccurs="0" name="AdministrativeNote" type="string_Stype"/>
<xs:element maxOccurs="1" minOccurs="1" name="RegistrationStatus" type="string_Stype"/>
<xs:element name="RegistrationStatusDate" minOccurs="0" maxOccurs="1" type="date_Stype"> </xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="EffectiveDate" type="date_Stype"> </xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="UntilDate" type="date_Stype"> </xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="PreviousStatus" type="string_Stype"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="InterfaceType">
<xs:annotation>
<xs:documentation>This type provides information about an Applications Programming Interface (API)</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="ExtensionBaseType">
<xs:sequence minOccurs="0">
<xs:element maxOccurs="1" minOccurs="0" name="Identifer" type="string_Stype"/>
<xs:element maxOccurs="1" minOccurs="0" name="InterfaceName" type="string_Stype"/>
<xs:element maxOccurs="1" minOccurs="0" name="Description" type="string_Stype"/>
<xs:element maxOccurs="1" minOccurs="0" name="URL" type="string_Stype"/>
<xs:element maxOccurs="1" minOccurs="0" name="Version" type="string_Stype"/>
<xs:element minOccurs="0" name="Fields">
<xs:complexType>
<xs:complexContent>
<xs:extension base="BaseType">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="1" name="Field">
<xs:complexType>
<xs:complexContent>
<xs:extension base="ExtensionBaseType">
<xs:sequence>
<xs:element minOccurs="0" name="Getter" type="string_Stype"> </xs:element>
<xs:element minOccurs="0" name="Setter" type="string_Stype"> </xs:element>
<xs:element minOccurs="0" name="Action" type="string_Stype"> </xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="Documentation" minOccurs="0">
<xs:complexType>
<xs:complexContent>
<xs:extension base="BaseType">
<xs:sequence>
<xs:element name="File" type="FileType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>