-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathimscp_v1p2.xsd
335 lines (282 loc) · 19.2 KB
/
imscp_v1p2.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
<?xml version = "1.0" encoding = "UTF-8"?>
<xs:schema xmlns="http://www.imsglobal.org/xsd/imscp_v1p1"
targetNamespace="http://www.imsglobal.org/xsd/imscp_v1p1"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="IMS CP 1.2"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:import namespace = "http://www.w3.org/XML/1998/namespace" schemaLocation = "http://www.w3.org/2001/xml.xsd"/>
<xs:annotation>
<xs:documentation>
XSD Data File Information
-------------------------
Author: CP1.2 Project Team
Date: 31st October, 2006
Version: 2.0
Status: CM/DN Release
Description: This is a normative representation of the IMS CP 1.2 Information Model for binding
purposes. Read the corresponding IMS CP Information Model for the Platform
Independent Model representation.
History: This is version 1 of the IMS CP v1.2 XSD. It directly supercedes IMS CP v1.1.4 XSD.
Note that the target namespace has NOT been changed.
Apart from the functional additions, the main structural changes are:
(1) All of the elements and attributes are defined as local to their host object;
(2) Comments have been added to the complexType definitions.
Copyright: 2006 (c) IMS Global Learning Consortium Inc. All Rights Reserved.
IMS Global Learning Consortium, Inc. (IMS/GLC) is publishing the information
contained in this binding ("Specification") for purposes of scientific
experimental and scholarly collaboration only. IMS/GLC makes no warranty or
representation regarding the accuracy or completeness of the Specification.
This material is provided on an "As Is" and "As Available basis".
The Specification is at all times subject to change and revision without
notice. It is your sole responsibility to evaluate the usefulness, accuracy
and completeness of the Specification as it relates to you. IMS/GLC would
appreciate receiving your comments and suggestions. Please contact IMS/GLC
through our website at: http://www.imsglobal.org.
Source XSLT File Information
----------------------------
XSL Generator: UMLtoXSDTransformv0p7.xsl
XSLT Processor: Xalan
Release: 1.0 Beta 1
Date: 30th November, 2005
Auto-generation Tool
--------------------
This WSDL/XSD was auto-generated using the IMS WSDL/XSD auto-generation tool. While every attempt
has been made to ensure that this tool auto-generates the XSDs correctly, users should be aware
that this is an experimental tool. Permission is given to make use of this tool. IMS makes no
claim on the materials created by third party users of this tool. Details on how to use this tool
are contained in the IMS document: "IMS General Web Services: WSDL/XSD Binding Auto-generation"
available at the IMS web-site.
Tool Copyright: 2005 (c) IMS Global Learning Consortium Inc. All Rights Reserved.
</xs:documentation>
</xs:annotation>
<!-- Generate Global Attributes *********************************************************************** -->
<!-- ===================================== -->
<!-- Generate Namespaced extension Group ************************************************************* -->
<xs:group name="grpStrict.any">
<xs:annotation>
<xs:documentation>
Any namespaced element from any namespace may be included within an "any" element.
The namespace for the imported element must be defined in the instance, and the schema must be imported.
The extension has a definition of "strict" i.e. they must have their own namespace.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:any namespace = "##other" processContents = "strict" minOccurs = "0" maxOccurs = "unbounded"/>
</xs:sequence>
</xs:group>
<!-- ===================================== -->
<!-- Generate the enumerated simpleType declarations ************************************************** -->
<!-- ===================================== -->
<!-- Generate the simpleType elements based IMS data-types ******************************************* -->
<!-- ===================================== -->
<!-- Generate the derived data-type elements ********************************************************** -->
<!-- ===================================== -->
<!-- Generate the data-type elements ****************************************************************** -->
<xs:complexType name="Manifest.Type">
<xs:annotation>
<xs:documentation>
A manifest element is a container for data structures whose contents describe a
semantically complete instance of the IMS Content Packaging Information Model.
A manifest element may contain and reference child manifest elements
in the same IMS Manifest document. The root manifest element defines an
entire IMS Package. A child manifest element defines a semantically complete
subset of that Package.
<p>Represents a binding of the kinds of objects defined as children of ims-cp-imManifest : Manifest.[ ManifestMetadata, Organizations, Resources, Manifest, Extension ].</p>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="metadata" type="ManifestMetadata.Type" minOccurs = "0" maxOccurs = "1"/>
<xs:element name="organizations" type="Organizations.Type" minOccurs = "1" maxOccurs = "1"/>
<xs:element name="resources" type="Resources.Type" minOccurs = "1" maxOccurs = "1"/>
<xs:element name="manifest" type="Manifest.Type" minOccurs = "0" maxOccurs = "unbounded"/>
<xs:group ref="grpStrict.any"/>
</xs:sequence>
<xs:attribute name="identifier" use="required" type="xs:ID"/>
<xs:attribute name="version" use="optional" type="xs:string"/>
<xs:attribute ref="xml:base" use="optional"/>
<xs:anyAttribute namespace = "##other" processContents = "strict"/>
</xs:complexType>
<xs:complexType name="Metadata.Type">
<xs:annotation>
<xs:documentation>
An instance of the metadata element contains data structures
that declare descriptive information about a metadata element's
parent only.
One or more different metadata models may be declared as
child extensions of a metadata element.
<p>Represents a binding of the kinds of child objects defined for ims-cp-imMetadata: Metadata.[ Extension ].</p>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="schema" type="xs:string" minOccurs = "0" maxOccurs = "1"/>
<xs:element name="schemaversion" type="xs:string" minOccurs = "0" maxOccurs = "1"/>
<xs:group ref="grpStrict.any"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Organizations.Type">
<xs:annotation>
<xs:documentation>
The organizations element is a container for all data structures
that describe the way or ways that information encapsulated by
its parent manifest element is structured.
<p>Represents of binding of the child objects of ims-cp-imOrganizations: Organizations.[ Organization, Extension ].</p>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="organization" type="Organization.Type" minOccurs = "0" maxOccurs = "unbounded"/>
<xs:group ref="grpStrict.any"/>
</xs:sequence>
<xs:attribute name="default" use="optional" type="xs:IDREF"/>
<xs:anyAttribute namespace = "##other" processContents = "strict"/>
</xs:complexType>
<xs:complexType name="Resources.Type">
<xs:annotation>
<xs:documentation>
The Resources element is a container for data structures containing
references to one or more assets. Asset references may be grouped
within a containing resources element in whatever manner seems best.
The scope of referenced assets is specific to a resources element's parent
manifest element only.
<p>Represents a binding of the kinds of child objects defined for ims-cp-imResources: Resources.[ Resource, Extension ].</p>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="resource" type="Resource.Type" minOccurs = "0" maxOccurs = "unbounded"/>
<xs:group ref="grpStrict.any"/>
</xs:sequence>
<xs:attribute ref="xml:base" use="optional"/>
<xs:anyAttribute namespace = "##other" processContents = "strict"/>
</xs:complexType>
<xs:complexType name="Organization.Type">
<xs:annotation>
<xs:documentation>
An organization element is a container for all data structures relating
to a particular way or view that information encapsulated by a
grandparent manifest object is structured.
Multiple organization elements within the same parent organizations
element are equivalent in purpose: Each shows a different way for
structuring the same information declared within a grandparent
manifest object.
<p>Represents a binding of the kinds of child objects defined for ims-cp-Organization: Organization[ Title, Item, Metadata, Extension ].</p>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="title" type="xs:string" minOccurs = "0" maxOccurs = "1"/>
<xs:element name="item" type="Item.Type" minOccurs = "1" maxOccurs = "unbounded"/>
<xs:element name="metadata" type="Metadata.Type" minOccurs = "0" maxOccurs = "1"/>
<xs:group ref="grpStrict.any"/>
</xs:sequence>
<xs:attribute name="identifier" use="required" type="xs:ID"/>
<xs:attribute name="structure" use="optional" type="xs:string"/>
<xs:anyAttribute namespace = "##other" processContents = "strict"/>
</xs:complexType>
<xs:complexType name="Resource.Type">
<xs:annotation>
<xs:documentation>
A resource element is a container for a particular asset
or collection of assets. A resource may contain references
to assets that are all of the same type or different types (i.e., file formats).
The scope or boundary of an IMS Package is defined by the asset
references collected into all resources containers associated with the
root manifest element, whether as a child, direcdt descendant, or externally
linked descendant.
<p>Represents a binding of the kinds of child objects defined for ims-cp-imResource: Resource.[ Metadata, File, Dependency, Extension ].</p>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="metadata" type="Metadata.Type" minOccurs = "0" maxOccurs = "1"/>
<xs:element name="file" type="File.Type" minOccurs = "0" maxOccurs = "unbounded"/>
<xs:element name="dependency" type="Dependency.Type" minOccurs = "0" maxOccurs = "unbounded"/>
<xs:group ref="grpStrict.any"/>
</xs:sequence>
<xs:attribute name="identifier" use="required" type="xs:ID"/>
<xs:attribute name="type" use="required" type="xs:string"/>
<xs:attribute ref="xml:base" use="optional"/>
<xs:attribute name="href" use="optional" type="xs:anyURI"/>
<xs:anyAttribute namespace = "##other" processContents = "strict"/>
</xs:complexType>
<xs:complexType name="Item.Type">
<xs:annotation>
<xs:documentation>
An item element represents a structural node in a particular organization.
An item element may be a parent or sibling of other Item elements,
each one representing a unique structural node.
An organization has no meaning unless it has at least one Item element.
<p>Represents a binding of the kinds of child objects of ims-cp-imItem: Item.[ Title, Item, Metadata, Extension ].</p>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="title" type="xs:string" minOccurs = "0" maxOccurs = "1"/>
<xs:element name="item" type="Item.Type" minOccurs = "0" maxOccurs = "unbounded"/>
<xs:element name="metadata" type="Metadata.Type" minOccurs = "0" maxOccurs = "1"/>
<xs:group ref="grpStrict.any"/>
</xs:sequence>
<xs:attribute name="identifier" use="required" type="xs:ID"/>
<xs:attribute name="identifierref" use="optional" type="xs:string"/>
<xs:attribute name="isvisible" use="optional" type="xs:boolean"/>
<xs:attribute name="parameters" use="optional" type="xs:string"/>
<xs:anyAttribute namespace = "##other" processContents = "strict"/>
</xs:complexType>
<xs:complexType name="File.Type">
<xs:annotation>
<xs:documentation>
A file element declares a reference to a single asset. The reference may
be relative to the Package containing the file element or absolute
(external to the Package).
A file element may contain child extensions declaring alternative references
to the same asset as that referenced by the file element's href attribute.
<p>Represents a binding of the kinds of child objects defined for ims-cp-imFile: File.[ Metadata, Extension ].</p>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="metadata" type="Metadata.Type" minOccurs = "0" maxOccurs = "1"/>
<xs:group ref="grpStrict.any"/>
</xs:sequence>
<xs:attribute name="href" use="required" type="xs:anyURI"/>
<xs:anyAttribute namespace = "##other" processContents = "strict"/>
</xs:complexType>
<xs:complexType name="Dependency.Type">
<xs:annotation>
<xs:documentation>
A dependency element provides a way to associate another collection of
asset references within the scope of the dependency element's parent
resource element.
This element allows the parsimonious declaration of asset references.
Shared asset references can be declared once and associated many
times through a Dependency element.
<p>Represents a binding of the kinds of child objects defined for ims-cp-imDependency: Dependency.[ Extension ].</p>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="grpStrict.any"/>
</xs:sequence>
<xs:attribute name="identifierref" use="required" type="xs:string"/>
<xs:anyAttribute namespace = "##other" processContents = "strict"/>
</xs:complexType>
<xs:complexType name="ManifestMetadata.Type">
<xs:annotation>
<xs:documentation>
This metadata element contains data structures that declare
descriptive information about an entire Package.
One or more different metadata models may be declared as
child extensions of a metadata element.
The schema and schemaversion children define the kind or collection
of metadata models being used.
<p>Represents a binding of the kinds of child objects defined for ims-cp-imManifestMetadata: ManifestMetadata.[ Schema, SchemaVersion, MetadataModel ]..</p>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="schema" type="xs:string" minOccurs = "0" maxOccurs = "1"/>
<xs:element name="schemaversion" type="xs:string" minOccurs = "0" maxOccurs = "1"/>
<xs:group ref="grpStrict.any"/>
</xs:sequence>
</xs:complexType>
<!-- ===================================== -->
<!-- Declaration of the elements ********************************************************************** -->
<!-- ===================================== -->
<!-- Declaration of the root element(s) *************************************************************** -->
<xs:element name="manifest" type="Manifest.Type"/>
<!-- ===================================== -->
</xs:schema>