c8a87f1d28e7bf3d8dc6b3c7bbd4b0bc51948bf8
[acontent.git] / docs / home / ims / imscp_v1p2_localised.xsd
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!--*************************************************************************-->\r
3 <!--** This schema has been modified from the original base schema named - **-->\r
4 <!--** imscp_v1p2.xsd                                                      **-->\r
5 <!--** using the IMS SchemaProf tool. This tool is based on software from  **-->\r
6 <!--** the TELCERT Project which was funded in part by the European        **-->\r
7 <!--** Commission under contract IST-507128                                **-->\r
8 <!--*************************************************************************-->\r
9 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.imsglobal.org/xsd/imscc/imscp_v1p1" targetNamespace="http://www.imsglobal.org/xsd/imscc/imscp_v1p1" version="IMS CP 1.2 localised_Schema_2008_6_30" elementFormDefault="qualified" attributeFormDefault="unqualified" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsccauth_v1p0 domainProfile_0\imsccauth_v1p0_localised.xsd http://ltsc.ieee.org/xsd/imscc/LOM domainProfile_1\lomLoose_localised.xsd http://ltsc.ieee.org/xsd/LOM domainProfile_2\lomLoose_localised.xsd http://www.imsglobal.org/xsd/imscp_extensionv1p2 domainProfile_3\imscp_extensionv1p2_localised.xsd">\r
10         <xsd:include xmlns:xsd="http://www.w3.org/2001/XMLSchema" schemaLocation="imscc_c1p2maeV0p15_definition.xsd" />\r
11     <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd" />\r
12     <xs:annotation>\r
13         <xs:documentation>\r
14             XSD Data File Information\r
15             -------------------------\r
16             Author:       CP1.2 Project Team\r
17             Date:         31st October, 2006\r
18             Version:      2.0\r
19             Status:       CM/DN Release\r
20             Description:  This is a normative representation of the IMS CP 1.2 Information Model for binding \r
21                           purposes.  Read the corresponding IMS CP Information Model for the Platform \r
22                           Independent Model representation.\r
23 \r
24             History:      This is version 1 of the IMS CP v1.2 XSD.  It directly supercedes IMS CP v1.1.4 XSD.\r
25                           Note that the target namespace has NOT been changed.\r
26                           Apart from the functional additions, the main structural changes are:\r
27                           (1) All of the elements and attributes are defined as local to their host object;\r
28                           (2) Comments have been added to the complexType definitions.\r
29 \r
30             Copyright:    2006 (c) IMS Global Learning Consortium Inc.  All Rights Reserved.\r
31                           IMS Global Learning Consortium, Inc. (IMS/GLC) is publishing the information\r
32                           contained in this binding ("Specification") for purposes of scientific\r
33                           experimental and scholarly collaboration only.  IMS/GLC makes no warranty or \r
34                           representation regarding the accuracy or completeness of the Specification.\r
35                           This material is provided on an "As Is" and "As Available basis".\r
36                           The Specification is at all times subject to change and revision without\r
37                           notice. It is your sole responsibility to evaluate the usefulness, accuracy\r
38                           and completeness of the Specification as it relates to you.  IMS/GLC would\r
39                           appreciate receiving your comments and suggestions.  Please contact IMS/GLC\r
40                           through our website at: http://www.imsglobal.org.\r
41 \r
42             Source XSLT File Information\r
43             ----------------------------\r
44             XSL Generator:    UMLtoXSDTransformv0p7.xsl\r
45             XSLT Processor:   Xalan\r
46             Release:          1.0 Beta 1\r
47             Date:             30th November, 2005\r
48 \r
49             Auto-generation Tool\r
50             --------------------\r
51             This WSDL/XSD was auto-generated using the IMS WSDL/XSD auto-generation tool.  While every attempt\r
52             has been made to ensure that this tool auto-generates the XSDs correctly, users should be aware\r
53             that this is an experimental tool.  Permission is given to make use of this tool.  IMS makes no\r
54             claim on the materials created by third party users of this tool.  Details on how to use this tool\r
55             are contained in the IMS document: "IMS General Web Services: WSDL/XSD Binding Auto-generation"\r
56             available at the IMS web-site.\r
57             Tool Copyright:  2005 (c) IMS Global Learning Consortium Inc.  All Rights Reserved.\r
58         </xs:documentation>\r
59     </xs:annotation>\r
60 \r
61         <!-- Generate Global Attributes ***********************************************************************  -->\r
62 \r
63         <!-- =====================================  -->\r
64 \r
65         <!-- Generate Namespaced extension Group  *************************************************************  -->\r
66 \r
67             <xs:group name="grpStrict.any">\r
68                 <xs:annotation>\r
69                     <xs:documentation>\r
70                         Any namespaced element from any namespace may be included within an "any" element.\r
71                         The namespace for the imported element must be defined in the instance, and the schema must be imported.\r
72                         The extension has a definition of "strict" i.e. they must have their own namespace.\r
73                     </xs:documentation>\r
74                 </xs:annotation>\r
75                 <xs:sequence>\r
76                     <xs:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="0" />\r
77                 </xs:sequence>\r
78             </xs:group>\r
79 <xs:group name="grpStrict.any3535">\r
80                 <xs:annotation>\r
81                     <xs:documentation>\r
82                         Any namespaced element from any namespace may be included within an "any" element.\r
83                         The namespace for the imported element must be defined in the instance, and the schema must be imported.\r
84                         The extension has a definition of "strict" i.e. they must have their own namespace.\r
85                     </xs:documentation>\r
86                 </xs:annotation>\r
87                 <xs:sequence>\r
88                     <xs:any namespace=" http://ltsc.ieee.org/xsd/LOM" processContents="strict" minOccurs="0" maxOccurs="unbounded" />\r
89                 </xs:sequence>\r
90             </xs:group>\r
91 <xs:group name="grpStrict.any4935">\r
92                 <xs:annotation>\r
93                     <xs:documentation>\r
94                         Any namespaced element from any namespace may be included within an "any" element.\r
95                         The namespace for the imported element must be defined in the instance, and the schema must be imported.\r
96                         The extension has a definition of "strict" i.e. they must have their own namespace.\r
97                     </xs:documentation>\r
98                 </xs:annotation>\r
99                 <xs:sequence>\r
100                     <xs:any namespace=" http://ltsc.ieee.org/xsd/imscc/LOM" processContents="strict" minOccurs="0" maxOccurs="unbounded" />\r
101                 </xs:sequence>\r
102             </xs:group>\r
103 <xs:group name="grpStrict.any2939">\r
104                 <xs:annotation>\r
105                     <xs:documentation>\r
106                         Any namespaced element from any namespace may be included within an "any" element.\r
107                         The namespace for the imported element must be defined in the instance, and the schema must be imported.\r
108                         The extension has a definition of "strict" i.e. they must have their own namespace.\r
109                     </xs:documentation>\r
110                 </xs:annotation>\r
111                 <xs:sequence>\r
112                     <xs:any namespace=" http://www.imsglobal.org/xsd/imsccauth_v1p0" processContents="strict" minOccurs="0" maxOccurs="unbounded" />\r
113                 </xs:sequence>\r
114             </xs:group>\r
115 \r
116         <!-- =====================================  -->\r
117 \r
118         <!-- Generate the enumerated simpleType declarations **************************************************  -->\r
119 \r
120         <!-- =====================================  -->\r
121 \r
122         <!-- Generate the simpleType elements based IMS data-types  *******************************************  -->\r
123 \r
124         <!-- =====================================  -->\r
125 \r
126         <!-- Generate the derived data-type elements **********************************************************  -->\r
127 \r
128         <!-- =====================================  -->\r
129 \r
130         <!-- Generate the data-type elements ******************************************************************  -->\r
131 \r
132             <xs:complexType name="Manifest.Type">\r
133                 <xs:annotation>\r
134                     <xs:documentation>\r
135                         A manifest element is a container for data structures whose contents describe a \r
136                         semantically complete instance of the IMS Content Packaging Information Model.  \r
137                         \r
138                         A manifest element may contain and reference child manifest elements \r
139                         in the same IMS Manifest document.  The root manifest element defines an \r
140                         entire IMS Package.  A child manifest element defines a semantically complete \r
141                         subset of that Package.\r
142 \r
143                         <p xmlns="http://www.imsglobal.org/xsd/imscp_v1p1">Represents a binding of the kinds of objects defined as children of ims-cp-imManifest : Manifest.[ ManifestMetadata, Organizations, Resources, Manifest, Extension ].</p>\r
144                     </xs:documentation>\r
145                 </xs:annotation>\r
146                 <xs:sequence>\r
147                     <xs:element name="metadata" type="ManifestMetadata.Type" minOccurs="1" maxOccurs="1" />\r
148                     <xs:element name="organizations" type="Organizations.Type" minOccurs="1" maxOccurs="1" />\r
149                     <xs:element name="resources" type="Resources.Type" minOccurs="1" maxOccurs="1" />\r
150                     <xs:element name="manifest" type="Manifest.Type" minOccurs="0" maxOccurs="0" />\r
151                     <xs:group ref="grpStrict.any2939" />\r
152                 </xs:sequence>\r
153                 <xs:attribute name="identifier" use="required" type="xs:ID" />\r
154                 <xs:attribute name="version" use="optional" type="xs:string" />\r
155                 <xs:attribute ref="xml:base" use="optional" />\r
156                 <xs:anyAttribute namespace="##other" processContents="strict" />\r
157             </xs:complexType>\r
158 \r
159             <xs:complexType name="Metadata.Type">\r
160                 <xs:annotation>\r
161                     <xs:documentation>\r
162                         An instance of the metadata element contains data structures \r
163                         that declare descriptive information about a metadata element's \r
164                         parent only.\r
165                         \r
166                         One or more different metadata models may be declared as\r
167                         child extensions of a metadata element.\r
168 \r
169                         <p xmlns="http://www.imsglobal.org/xsd/imscp_v1p1">Represents a binding of the kinds of child objects defined for ims-cp-imMetadata:  Metadata.[ Extension ].</p>\r
170                     </xs:documentation>\r
171                 </xs:annotation>\r
172                 <xs:sequence>\r
173                     <xs:element name="schema" type="xs:string" minOccurs="0" maxOccurs="1" />\r
174                     <xs:element name="schemaversion" type="xs:string" minOccurs="0" maxOccurs="1" />\r
175                     <xs:group ref="grpStrict.any3535" />\r
176                 </xs:sequence>\r
177             </xs:complexType>\r
178 \r
179             <xs:complexType name="Organizations.Type">\r
180                 <xs:annotation>\r
181                     <xs:documentation>\r
182                         The organizations element is a container for all data structures \r
183                         that describe the way or ways that information encapsulated by \r
184                         its parent manifest element is structured. \r
185 \r
186                         <p xmlns="http://www.imsglobal.org/xsd/imscp_v1p1">Represents of binding of the child objects of ims-cp-imOrganizations: Organizations.[ Organization, Extension ].</p>\r
187                     </xs:documentation>\r
188                 </xs:annotation>\r
189                 <xs:sequence>\r
190                     <xs:element name="organization" type="Organization.Type" minOccurs="0" maxOccurs="1" />\r
191                     <xs:group ref="grpStrict.any" />\r
192                 </xs:sequence>\r
193                 <xs:attribute name="default" use="prohibited" type="defaultOrganizationProhibited" />\r
194                 <xs:anyAttribute namespace="##other" processContents="strict" />\r
195             </xs:complexType>\r
196 \r
197             <xs:complexType name="Resources.Type">\r
198                 <xs:annotation>\r
199                     <xs:documentation>\r
200                         The Resources element is a container for data structures containing \r
201                         references  to one or more assets.  Asset references may be grouped \r
202                         within a containing resources element in whatever manner seems best.\r
203                           \r
204                         The scope of referenced assets is specific to a resources element's parent \r
205                         manifest element only. \r
206 \r
207                         <p xmlns="http://www.imsglobal.org/xsd/imscp_v1p1">Represents a binding of the kinds of child objects defined for ims-cp-imResources: Resources.[ Resource, Extension ].</p>\r
208                     </xs:documentation>\r
209                 </xs:annotation>\r
210                 <xs:sequence>\r
211                     <xs:element name="resource" type="Resource.Type" minOccurs="0" maxOccurs="unbounded" />\r
212                     <xs:group ref="grpStrict.any" />\r
213                 </xs:sequence>\r
214                 <xs:attribute ref="xml:base" use="optional" />\r
215                 <xs:anyAttribute namespace="##other" processContents="strict" />\r
216             </xs:complexType>\r
217 \r
218             <xs:complexType name="Organization.Type">\r
219                 <xs:annotation>\r
220                     <xs:documentation>\r
221                         An organization element is a container for all data structures relating \r
222                         to a particular way or view that information encapsulated by a \r
223                         grandparent manifest object is structured.  \r
224                         \r
225                         Multiple organization elements within the same parent organizations \r
226                         element are equivalent in purpose: Each shows a different way for \r
227                         structuring the same information declared within a grandparent \r
228                         manifest object.\r
229 \r
230                         <p xmlns="http://www.imsglobal.org/xsd/imscp_v1p1">Represents a binding of the kinds of child objects defined for ims-cp-Organization: Organization[ Title, Item, Metadata, Extension ].</p>\r
231                     </xs:documentation>\r
232                 </xs:annotation>\r
233                 <xs:sequence>\r
234                     <xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1" />\r
235                     <xs:element name="item" type="Item.Type4333" minOccurs="1" maxOccurs="1" />\r
236                     <xs:element name="metadata" type="Metadata.Type" minOccurs="0" maxOccurs="1" />\r
237                     <xs:group ref="grpStrict.any" />\r
238                 </xs:sequence>\r
239                 <xs:attribute name="identifier" use="required" type="xs:ID" />\r
240                 <xs:attribute name="structure" use="required" type="rootedHierarchy" fixed="rooted-hierarchy" />\r
241                 <xs:anyAttribute namespace="##other" processContents="strict" />\r
242             </xs:complexType>\r
243 \r
244             <!--**Following element's attribute values altered by AP condition processing**-->\r
245 <xs:complexType name="Resource.Type">\r
246                 <xs:annotation>\r
247                     <xs:documentation>\r
248                         A resource element is a container for a particular asset \r
249                         or collection of assets.  A resource may contain references \r
250                         to assets that are all of the same type or different types (i.e., file formats).\r
251                         \r
252                         The scope or boundary of an IMS Package is defined by the asset \r
253                         references collected into all resources containers associated with the\r
254                         root manifest element, whether as a child, direcdt descendant, or externally \r
255                         linked descendant. \r
256 \r
257                         <p xmlns="http://www.imsglobal.org/xsd/imscp_v1p1">Represents a binding of the kinds of child objects defined for ims-cp-imResource: Resource.[ Metadata, File, Dependency, Extension ].</p>\r
258                     </xs:documentation>\r
259                 </xs:annotation>\r
260                 <xs:sequence>\r
261                     <xs:element name="metadata" type="Metadata.Type" minOccurs="0" maxOccurs="1" />\r
262                     <xs:element name="file" type="File.Type" minOccurs="0" maxOccurs="unbounded" />\r
263                     <!--**Following element's attribute values altered by AP condition processing**-->\r
264 <xs:element name="dependency" type="Dependency.Type" minOccurs="0" maxOccurs="unbounded" />\r
265                     <xs:group ref="grpStrict.any" />\r
266                 </xs:sequence>\r
267                 <xs:attribute name="identifier" use="required" type="xs:ID" />\r
268                 <xs:attribute name="type" use="required" type="predefinedContentTypes" />\r
269                 <xs:attribute ref="xml:base" use="optional" />\r
270                 <xs:attribute name="href" use="optional" type="xs:anyURI" />\r
271                 <xs:anyAttribute namespace="http://www.imsglobal.org/xsd/imsccauth_v1p0 http://www.imsglobal.org/xsd/imscp_extensionv1p2" processContents="strict" />\r
272             </xs:complexType>\r
273 \r
274             <!--**Following element's attribute values altered by AP condition processing**-->\r
275 <xs:complexType name="Item.Type">\r
276                 <xs:annotation>\r
277                     <xs:documentation>\r
278                         An item element represents a structural node in a particular organization.  \r
279                         An item element may be a parent or sibling of other Item elements, \r
280                         each one representing a unique structural node.\r
281                         \r
282                         An organization has no meaning unless it has at least one Item element.\r
283 \r
284                         <p xmlns="http://www.imsglobal.org/xsd/imscp_v1p1">Represents a binding of the kinds of child objects of ims-cp-imItem: Item.[ Title, Item, Metadata, Extension ].</p>\r
285                     </xs:documentation>\r
286                 </xs:annotation>\r
287                 <xs:sequence>\r
288                     <xs:element name="title" type="xs:string" minOccurs="1" maxOccurs="1" />\r
289                     <xs:element name="item" type="Item.Type" minOccurs="0" maxOccurs="unbounded" />\r
290                     <xs:element name="metadata" type="Metadata.Type" minOccurs="0" maxOccurs="1" />\r
291                     <xs:group ref="grpStrict.any" />\r
292                 </xs:sequence>\r
293                 <xs:attribute name="identifier" use="required" type="xs:ID" />\r
294                 <xs:attribute name="identifierref" use="optional" type="xs:string" />\r
295                 <xs:attribute name="isvisible" use="prohibited" type="NoIsVisible" />\r
296                 <xs:attribute name="parameters" use="prohibited" type="NoParameters" />\r
297                 <xs:anyAttribute namespace="##other" processContents="strict" />\r
298             </xs:complexType>\r
299 <xs:complexType name="Item.Type4333">\r
300                 <xs:annotation>\r
301                     <xs:documentation>\r
302                         An item element represents a structural node in a particular organization.  \r
303                         An item element may be a parent or sibling of other Item elements, \r
304                         each one representing a unique structural node.\r
305                         \r
306                         An organization has no meaning unless it has at least one Item element.\r
307 \r
308                         <p xmlns="http://www.imsglobal.org/xsd/imscp_v1p1">Represents a binding of the kinds of child objects of ims-cp-imItem: Item.[ Title, Item, Metadata, Extension ].</p>\r
309                     </xs:documentation>\r
310                 </xs:annotation>\r
311                 <xs:sequence>\r
312                     <xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="0" />\r
313                     <xs:element name="item" type="Item.Type" minOccurs="0" maxOccurs="unbounded" />\r
314                     <xs:element name="metadata" type="Metadata.Type" minOccurs="0" maxOccurs="1" />\r
315                     <xs:group ref="grpStrict.any" />\r
316                 </xs:sequence>\r
317                 <xs:attribute name="identifier" use="required" type="xs:ID" />\r
318                 <xs:attribute name="identifierref" use="prohibited" type="NoIdentifierRef" />\r
319                 <xs:attribute name="isvisible" use="prohibited" type="NoIsVisible" />\r
320                 <xs:attribute name="parameters" use="prohibited" type="NoParameter" />\r
321                 <xs:anyAttribute namespace="##other" processContents="strict" />\r
322             </xs:complexType>\r
323 \r
324             <xs:complexType name="File.Type">\r
325                 <xs:annotation>\r
326                     <xs:documentation>\r
327                         A file element declares a reference to a single asset.  The reference may\r
328                         be relative to the Package containing the file element or absolute \r
329                         (external to the Package).\r
330                         \r
331                         A file element may contain child extensions declaring alternative references\r
332                          to the same asset as that referenced by the file element's href attribute.\r
333 \r
334                         <p xmlns="http://www.imsglobal.org/xsd/imscp_v1p1">Represents a binding of the kinds of child objects defined for ims-cp-imFile: File.[ Metadata, Extension ].</p>\r
335                     </xs:documentation>\r
336                 </xs:annotation>\r
337                 <xs:sequence>\r
338                     <xs:element name="metadata" type="Metadata.Type" minOccurs="0" maxOccurs="1" />\r
339                     <xs:group ref="grpStrict.any" />\r
340                 </xs:sequence>\r
341                 <xs:attribute name="href" use="required" type="xs:anyURI" />\r
342                 <xs:anyAttribute namespace="##other" processContents="strict" />\r
343             </xs:complexType>\r
344 \r
345             <xs:complexType name="Dependency.Type">\r
346                 <xs:annotation>\r
347                     <xs:documentation>\r
348                         A dependency element provides a way to associate another collection of \r
349                         asset references within the scope of the dependency element's parent \r
350                         resource element.\r
351                         \r
352                         This element allows the parsimonious declaration of asset references.  \r
353                         Shared asset references can be declared once and associated many \r
354                         times through a Dependency element.\r
355 \r
356                         <p xmlns="http://www.imsglobal.org/xsd/imscp_v1p1">Represents a binding of the kinds of child objects defined for ims-cp-imDependency: Dependency.[ Extension ].</p>\r
357                     </xs:documentation>\r
358                 </xs:annotation>\r
359                 <xs:sequence>\r
360                     <xs:group ref="grpStrict.any" />\r
361                 </xs:sequence>\r
362                 <!--**Following element's attribute values altered by AP condition processing**-->\r
363 <xs:attribute name="identifierref" use="required" type="xs:string" />\r
364                 <xs:anyAttribute namespace="##other" processContents="strict" />\r
365             </xs:complexType>\r
366 \r
367             <xs:complexType name="ManifestMetadata.Type">\r
368                 <xs:annotation>\r
369                     <xs:documentation>\r
370                         This metadata element contains data structures that declare \r
371                         descriptive information about an entire Package.\r
372                         \r
373                         One or more different metadata models may be declared as\r
374                         child extensions of a metadata element.\r
375                         \r
376                         The schema and schemaversion children define the kind or collection \r
377                         of metadata models being used.\r
378 \r
379                         <p xmlns="http://www.imsglobal.org/xsd/imscp_v1p1">Represents a binding of the kinds of child objects defined for ims-cp-imManifestMetadata:  ManifestMetadata.[ Schema, SchemaVersion, MetadataModel ]..</p>\r
380                     </xs:documentation>\r
381                 </xs:annotation>\r
382                 <xs:sequence>\r
383                     <xs:element name="schema" type="schemaFixed" minOccurs="1" maxOccurs="1" fixed="IMS Common Cartridge" />\r
384                     <xs:element name="schemaversion" type="schemaversionFixed" minOccurs="1" maxOccurs="1" fixed="1.0.0" />\r
385                     <xs:group ref="grpStrict.any4935" />\r
386                 </xs:sequence>\r
387             </xs:complexType>\r
388 \r
389         <!-- =====================================  -->\r
390 \r
391         <!-- Declaration of the elements **********************************************************************  -->\r
392 \r
393         <!-- =====================================  -->\r
394 \r
395         <!-- Declaration of the root element(s) ***************************************************************  -->\r
396 \r
397             <xs:element name="manifest" type="Manifest.Type" />\r
398 \r
399         <!-- =====================================  -->\r
400 \r
401 </xs:schema>\r