Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?xml version = "1.0" encoding = "UTF-8"?>
2
<xs:schema xmlns="http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1"
3
    targetNamespace="http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1"
4
    xmlns:autz="http://www.imsglobal.org/xsd/imsccv1p1/imsccauth_v1p1"
5
    xmlns:lomm="http://ltsc.ieee.org/xsd/imsccv1p1/LOM/manifest"
6
    xmlns:lomr="http://ltsc.ieee.org/xsd/imsccv1p1/LOM/resource"
7
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
8
    xmlns:sch="http://purl.oclc.org/dsdl/schematron"
9
    version="IMS CC 1.1 CP 1.2"
10
    elementFormDefault="qualified"
11
    attributeFormDefault="unqualified">
12
    <xs:import namespace="http://www.w3.org/XML/1998/namespace"                  schemaLocation="xml.xsd"                    />
13
    <xs:import namespace="http://www.imsglobal.org/xsd/imsccv1p1/imsccauth_v1p1" schemaLocation="ccv1p1_imsccauth_v1p1.xsd"  />
14
    <xs:import namespace="http://ltsc.ieee.org/xsd/imsccv1p1/LOM/manifest"       schemaLocation="ccv1p1_lommanifest_v1p0.xsd"/>
15
    <xs:import namespace="http://ltsc.ieee.org/xsd/imsccv1p1/LOM/resource"       schemaLocation="ccv1p1_lomresource_v1p0.xsd"/>
16
    <xs:annotation>
17
        <xs:documentation>
18
            XSD Data File Information
19
            -------------------------
20
            Author:         Colin Smythe
21
            Date:           31st January, 2011
22
            Version:        1.1
23
            Status:         Final Release
24
            Description:    This model forms a part of the IMS GLC Common Catrtridge specification.  This model is the profile of the
25
                            IMS GLC Content Package Core specification (v1.2).  The changes made to create the profile are:
26
 
27
                            (a) The 'default' characteristic for the 'Organizations' class has been removed;
28
                            (b) The 'isvisible' characteristic for the Item class has been removed;
29
                            (c) The 'parameters' characteristic for the Item class has been removed;
30
                            (d) The 'structure' characteristic for the Organization class has been fixed to 'rooted-hierarchy';
31
                            (e) The 'extension' and 'version' characteristics for the Manifest class have been removed;
32
                            (f) The 'extension' attribute and 'extension' characteristic have been removed the Organizations class;
33
                            (g) The 'extension' attribute and 'extension' characteristic have been removed the Organization class;
34
                            (h) The 'extension' attribute and 'extension' characteristic have been removed from the Resources class;
35
                            (i) The 'extension' attribute and the 'extension' characteristic have been removed from the Resource class;
36
                            (j) The 'extension' attribute and 'extension' characteristic have been removed from the Item class;
37
                            (k) The 'extension' attribute and the 'extension' characteristic have been removed from the File class;
38
                            (l) The 'extension' attribute and 'extension' characteristic have been removed from the Dependency class;
39
                            (m) The 'type' characteristic of the Resource class has a new enumerated list of 'PredfinedContentTypes';
40
                            (n) The 'title' attribute for the Item class has its multiplicity changed to '1' except for the top-level item
41
                            attribute in the Orgaization class where it must not occur;
42
                            (o) Manifests are NO longer allowed to contain sub-manifests;
43
                            (p) The multiplicity of the Organization class in the Organizations class has been made '0..1';
44
                            (q) Only the metadata in the Manifest class is permitted to have the 'schema' and 'schemaversion' attributes;
45
                            (r) The 'schema', 'schemaversion' and 'title' attributes are redefined directly as 'String' primitiveTypes;
46
                            (s) The multiplicity of the 'item' attribute in the Organization class has been made '1';
47
                            (t) The value for the 'schema' attribute has been set as 'IMS Common Cartridge';
48
                            (u) The value for the 'schemaversion' attribute has been set to '1.1.0';
49
                            (v) The authorizations attribute has been added as an imported extension to the manifest;
50
                            (w) The protect attribute has been added as an imported extension to the resource;
51
                            (x) The IEEE LOM attribute has been added as an imported extension to the manifest metadata;
52
                            (y) The 'intendeduse' attribute has been added to the ResourceType complexType.
53
 
54
            History:        This profile is taken from the formal representation in UML of the IMS CP v1.2 core specification.
55
                            This is the second version of the profile for the CCv1.1.  The two changes are the addition of the
56
                            ResourceMetadata class and the vocabulary for the permitted resource types.
57
 
58
            License:        IPR, License and Distribution Notices
59
 
60
                            This machine readable file is derived from IMS Global Learning Consortium (GLC) specification IMS Common Cartridge Version 1.1
61
                            found at http://www.imsglobal.org/cc and the original IMS GLC schema binding or code base
62
                            http://www.imsglobal.org/cc.
63
 
64
                            Recipients of this document are requested to submit, with their comments, notification of any
65
                            relevant patent claims or other intellectual property rights of which they may be aware that might be
66
                            infringed by the schema binding contained in this document.
67
 
68
                            IMS GLC takes no position regarding the validity or scope of any intellectual property or other
69
                            rights that might be claimed to pertain to the implementation or use of the technology described in this
70
                            document or the extent to which any license under such rights might or might not be available; neither
71
                            does it represent that it has made any effort to identify any such rights. Information on IMS GLCs
72
                            procedures with respect to rights in IMS GLC specifications can be found at the IMS GLC Intellectual Property
73
                            Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.
74
 
75
                            Copyright (c) IMS Global Learning Consortium 1999-2011. All Rights Reserved.
76
 
77
                            License Notice for Users
78
 
79
                            Users of products or services that include this document are hereby granted a worldwide, royalty-free,
80
                            non-exclusive license to use this document.
81
 
82
                            Distribution Notice for Developers
83
 
84
                            Developers of products or services that are not original incorporators of this document and
85
                            have not changed this document, that is, are distributing a software product that incorporates this
86
                            document as is from a third-party source other than IMS, are hereby granted permission to copy,
87
                            display and distribute the contents of this document in any medium for any purpose without fee or
88
                            royalty provided that you include this IPR, License and Distribution notice in its entirety on ALL
89
                            copies, or portions thereof.
90
 
91
                            Developers of products or services that are original incorporators of this document and wish
92
                            to provide distribution of this document as is or with modifications and developers of products and
93
                            services that are not original incorporators of this document and have changed this document, are
94
                            required to register with the IMS GLC community on the IMS GLC website as described in the following two
95
                            paragraphs:-
96
 
97
                            *  If you wish to distribute this document as is, with no modifications, you are hereby granted
98
                               permission to copy, display and distribute the contents of this document in any medium for any
99
                               purpose without fee or royalty provided that you include this IPR, License and Distribution notice in
100
                               its entirety on ALL copies, or portions thereof, that you make and you complete a valid license
101
                               registration with IMS and receive an email from IMS granting the license. To register, follow the
102
                               instructions on the IMS website: http://www.imsglobal.org/specificationdownload.cfm. Once
103
                               registered you are granted permission to transfer unlimited distribution rights of this document for the
104
                               purposes of third-party or other distribution of your product or service that incorporates this
105
                               document as long as this IPR, License and Distribution notice remains in place in its entirety;
106
 
107
                            *  If you wish to create and distribute a derived work from this document, you are hereby
108
                               granted permission to copy, display and distribute the contents of the derived work in any medium for
109
                               any purpose without fee or royalty provided that you include this IPR, License and Distribution
110
                               notice in its entirety on ALL copies, or portions thereof, that you make and you complete a valid
111
                               profile registration with IMS GLC and receive an email from IMS GLC granting the license. To register, follow
112
                               the instructions on the IMS GLC website: http://www.imsglobal.org/profile/. Once registered you are
113
                               granted permission to transfer unlimited distribution rights of the derived work for the purposes of
114
                               third-party or other distribution of your product or service that incorporates the derived work as long
115
                               as this IPR, License and Distribution notice remains in place in its entirety.
116
 
117
                            The limited permissions granted above are perpetual and will not be revoked by IMS GLC or its
118
                            successors or assigns.
119
 
120
                            THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS
121
                            EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTERS OWN RISK, AND NEITHER THE CONSORTIUM
122
                            NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF
123
                            ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.
124
 
125
            Source UML File Information
126
            ---------------------------
127
            The source file information must be supplied as an XMI file (without diagram layout information).
128
            The supported UML authoring tools are:
129
            (a) Poseidon – v6 (and later)
130
 
131
            Source XSLT File Information
132
            ----------------------------
133
            XSL Generator:    UMLtoXSDTransformv0p9.xsl
134
            XSLT Processor:   Xalan
135
            Release:          1.0 Beta 3
136
            Date:             31st May, 2009
137
 
138
            IMS GLC Auto-generation Binding Tool-kit (I-BAT)
139
            ------------------------------------------------
140
            This file was auto-generated using the IMS GLC Binding Auto-generation Tool-kit (I-BAT).  While every
141
            attempt has been made to ensure that this tool auto-generates the files correctly, users should be aware
142
            that this is an experimental tool.  Permission is given to make use of this tool.  IMS GLC makes no
143
            claim on the materials created by third party users of this tool.  Details on how to use this tool
144
            are contained in the IMS GLC "I-BAT" Documentation available at the IMS GLC web-site.
145
 
146
            Tool Copyright:  2005-2011 (c) IMS Global Learning Consortium Inc.  All Rights Reserved.
147
        </xs:documentation>
148
    </xs:annotation>
149
 
150
    <xs:annotation>
151
        <xs:documentation>
152
            Schematron Validation Rules Information
153
            ---------------------------------------
154
            Author:         Colin Smythe
155
            Date:           29th November, 2010
156
            Version:        1.1
157
            Status:         Final Release
158
 
159
            Description:    This set of schematron rules have been created to increase the validation capability of the CPv1.2 XSD for CCv1.1.
160
                            A total of 10 rule sets have been created to ensure that:
161
                            [1]  The set of rules to ensure that resources for Discussion Topics are correctly provided;
162
                            [2]  The set of rules to ensure that resources for Web Links are correctly provided;
163
                            [3]  The set of rules to ensure that resources for Assessments are correctly provided;
164
                            [4]  The set of rules to ensure that resources for Question Banks are correctly provided;
165
                            [5]  The set of rules to ensure that resources for Web Content are correctly provided;
166
                            [6]  The set of rules to ensure that resources for Associated Content are correctly provided;
167
                            [7]  The set of general rules to ensure that Dependencies are used correctly;
168
                            [8]  The set of general rules to ensure that Items are defined correctly;
169
                            [9]  The set of general rules to ensure that Files are used correctly;
170
                            [10] The set of general rules to ensure that Resources are used correctly;
171
                            [11] The set of rules to ensure that resources for BasicLTI are correctly provided.
172
 
173
            Rule Set:       [1]  The set of rules to ensure that resources for Discussion Topics are correctly provided.
174
                                 The rules are:
175
                                 (a) Detect for the Discussion Topic Resource when the required 'file' element is missing;
176
                                 (b) Detect for the Discussion Topic Resource when too many 'file' elements are declared;
177
                                 (c) Ensure for the Discussion Topic Resource that the 'href' attribute is not used on the 'resource' element;
178
                                 (d) Detect for the Discussion Topic Resource when it has a prohibited dependency on a Discussion Topic;
179
                                 (e) Detect for the Discussion Topic Resource when it has a prohibited dependency on a Web Link;
180
                                 (f) Detect for the Discussion Topic Resource when it has a prohibited dependency on an Assessment;
181
                                 (g) Detect for the Discussion Topic Resource when it has a prohibited dependency on a Question Bank;
182
                                 (h) Detect for the Discussion Topic Resource when it has a prohibited dependency on a BasicLTI link;
183
 
184
                            [2]  The set of rules to ensure that resources for Web Links are correctly provided.
185
                                 The rules are:
186
                                 (a) Detect for the Web Links Resource when the required 'file' element is missing;
187
                                 (b) Detect for the Web Links Resource when too many 'file' elements are declared;
188
                                 (c) Ensure for the Web Links Resource that the 'href' attribute is not used on the 'resource' element;
189
                                 (d) Ensure for the Web Links Resource that the 'dependency' element is not used;
190
 
191
                            [3]  The set of rules to ensure that resources for Assessments are correctly provided.
192
                                 The rules are:
193
                                 (a) Detect for the Assessment Resource when the required 'file' element is missing;
194
                                 (b) Detect for the Assessment Resource when too many 'file' elements are declared;
195
                                 (c) Ensure for the Assessment Resource that the 'href' attribute is not used on the 'resource' element;
196
                                 (d) Detect for the Assessment Resource when it has a prohibited dependency on a Discussion Topic;
197
                                 (e) Detect for the Assessment Resource when it has a prohibited dependency on a Web Link;
198
                                 (f) Detect for the Assessment Resource when it has a prohibited dependency on an Assessment;
199
                                 (g) Detect for the Assessment Resource when it has a prohibited dependency on a Question Bank;
200
                                 (h) Detect for the Assessment Resource when it has a prohibited dependency on a BasicLTI link;
201
 
202
                            [4]  The set of rules to ensure that resources for Question Banks are correctly provided.
203
                                 The rules are:
204
                                 (a) Ensure that no more than one Qestion Bank is defiend as a resource;
205
                                 (b) Detect for the Question Bank Resource when the required 'file' element is missing;
206
                                 (c) Detect for the Question Bank Resource when too many 'file' elements are declared;
207
                                 (d) Ensure for the Question Bank Resource that the 'href' attribute is not used on the 'resource' element;
208
                                 (e) Detect for the Question Bank Resource when it has a prohibited dependency on a Discussion Topic;
209
                                 (f) Detect for the Question Bank Resource when it has a prohibited dependency on a Web Link;
210
                                 (g) Detect for the Question Bank Resource when it has a prohibited dependency on an Assessment;
211
                                 (h) Detect for the Question Bank Resource when it has a prohibited dependency on a Question Bank;
212
                                 (i) Detect for the Question Bank Resource when it has a prohibited dependency on a BasicLTI link;
213
 
214
                            [5]  The set of rules to ensure that resources for Web Content are correctly provided.
215
                                 The rules are:
216
                                 (a) Detect for the Web Content Resource when it has a prohibited dependency on a Discussion Topic;
217
                                 (b) Detect for the Web Content Resource when it has a prohibited dependency on a Web Link;
218
                                 (c) Detect for the Web Content Resource when it has a prohibited dependency on an Assessment;
219
                                 (d) Detect for the Web Content Resource when it has a prohibited dependency on a Question Bank;
220
                                 (e) Detect for the Web Content Resource when it has a prohibited dependency on a Associated Content;
221
                                 (f) Detect for the Web Content Resource when it has a prohibited dependency on a BasicLTI link;
222
                                 (g) A Web Content Resource has a missing 'href' attribute (required because the resource is directly referenced by an Item). [TO BE VERIFIED]
223
 
224
                            [6]  The set of rules to ensure that resources for Associated Content are correctly provided.
225
                                 The rules are:
226
                                 (a) Detect for the Associated Content Resource when it has a prohibited dependency on a Discussion Topic;
227
                                 (b) Detect for the Associated Content Resource when it has a prohibited dependency on a Web Link;
228
                                 (c) Detect for the Associated Content Resource when it has a prohibited dependency on an Assessment;
229
                                 (d) Detect for the Associated Content Resource when it has a prohibited dependency on a Question Bank;
230
                                 (e) Detect for the Associated Content Resource when it has a prohibited dependency on a Associated Content;
231
                                 (f) Detect for the Associated Content Resource when it has a prohibited dependency on a BasicLTI link;
232
                                 (g) An Associated Content Resource has a missing 'href' attribute (required because the resource is directly referenced by an Item). [TO BE VERIFIED]
233
 
234
                            [7]  The set of general rules to ensure that Dependencies are used correctly.
235
                                 The rules are:
236
                                 (a) A 'dependency' element has a circular reference to its host 'resource' element with identifier;
237
                                 (b) In a 'resource' element at least two 'dependency' elements reference the same 'resource' element.
238
 
239
                            [8]  The set of general rules to ensure that Items are defined correctly.
240
                                 The rules are:
241
                                 (a) An Item has a prohibited reference(s) to a Question Bank Resource;
242
                                 (b) A Learning Object Item contains prohibited child Item(s).
243
 
244
                            [9]  The set of general rules to ensure that Files are used correctly.
245
                                 The rules are:
246
                                 (a) In a 'resource' element at least two 'file' elements have the same 'href' attribute;
247
 
248
                            [10] The set of general rules to ensure that Resources are used correctly.
249
                                 The rules are:
250
                                 (a) For a 'resource' element with the 'href' attribute the 'file' element is missing;
251
                                 (b) For a 'resource' element with the 'href' attribute there is no 'file' element with the correct 'href' attribute.
252
 
253
                            [11] The set of rules to ensure that resources for BasicLTI are correctly provided.
254
                                 The rules are:
255
                                 (a) Detect for the BasicLTI Resource when it has a prohibited dependency on a Discussion Topic;
256
                                 (b) Detect for the BasicLTI Resource when it has a prohibited dependency on a Web Link;
257
                                 (c) Detect for the BasicLTI Resource when it has a prohibited dependency on an Assessment;
258
                                 (d) Detect for the BasicLTI Resource when it has a prohibited dependency on a Question Bank;
259
                                 (e) Detect for the BasicLTI Resource when it has a prohibited dependency on a Web Content;
260
                                 (f) Detect for the BasicLTI Resource when it has a prohibited dependency on a BasicLTI link.
261
        </xs:documentation>
262
 
263
        <xs:appinfo>
264
            <sch:ns uri="http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1" prefix="cp"/>
265
            <sch:title>Schematron validation rules for the Common Cartridge v1p1 profile of CP v1.1.4/1.2</sch:title>
266
 
267
            <!-- RULE 1: Discussion Topic Resource Validation -->
268
            <sch:pattern abstract="false" name="RULE SET 1">
269
                <sch:title>RULE SET 1: The set of rules to ensure that resources for Discussion Topics are correctly provided</sch:title>
270
 
271
                <sch:rule abstract="false" context="cp:resource[@type='imsdt_xmlv1p0']">
272
                    <sch:assert test="count(cp:file) &gt; 0">
273
                        [RULE 1a] For the Discussion Topic Resource the required 'file' element is missing.
274
                    </sch:assert>
275
                    <sch:assert test="count(cp:file) &lt; 2">
276
                        [RULE 1b] For the Discussion Topic Resource there are too many 'file' element references: <sch:value-of select="count(cp:file)"/>.
277
                    </sch:assert>
278
                    <sch:assert test="count(@href) = 0">
279
                        [RULE 1c] For the Discussion Topic Resource the 'href' attribute must not be used on the 'resource' element.
280
                    </sch:assert>
281
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsdt_xmlv1p0']/@identifier]) = 0">
282
                        [RULE 1d] The Discussion Topic Resource has a prohibited dependency on a Discussion Topic: <sch:value-of select="cp:dependency/@identifierref"/>
283
                    </sch:assert>
284
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imswl_xmlv1p0']/@identifier]) = 0">
285
                        [RULE 1e] The Discussion Topic Resource has a prohibited dependency on a Web Link: <sch:value-of select="cp:dependency/@identifierref"/>
286
                    </sch:assert>
287
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment']/@identifier]) = 0">
288
                        [RULE 1f] The Discussion Topic Resource has a prohibited dependency on an Assessment: <sch:value-of select="cp:dependency/@identifierref"/>
289
                    </sch:assert>
290
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']/@identifier]) = 0">
291
                        [RULE 1g] The Discussion Topic Resource has a prohibited dependency on a Question Bank: <sch:value-of select="cp:dependency/@identifierref"/>
292
                    </sch:assert>
293
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsbasiclti_xmlv1p0']/@identifier]) = 0">
294
                        [RULE 1h] The Discussion Topic Resource has a prohibited dependency on a BasicLTI: <sch:value-of select="cp:dependency/@identifierref"/>
295
                    </sch:assert>
296
                </sch:rule>
297
 
298
            </sch:pattern>
299
            <!-- **************************************************************************** -->
300
 
301
            <!-- RULE 2: Web Links Resource Validation -->
302
            <sch:pattern abstract="false" name="RULE SET 2">
303
                <sch:title>RULE SET 2: The set of rules to ensure that resources for Web Links are correctly provided</sch:title>
304
 
305
                <sch:rule abstract="false" context="cp:resource[@type='imswl_xmlv1p0']">
306
                    <sch:assert test="count(cp:file) &gt; 0">
307
                        [RULE 2a] For the Web Link Resource the required 'file' element is missing.
308
                    </sch:assert>
309
                    <sch:assert test="count(cp:file) &lt; 2">
310
                        [RULE 2b] For the Web Link Resource there are too many 'file' element references: <sch:value-of select="count(cp:file)"/>.
311
                    </sch:assert>
312
                    <sch:assert test="count(@href) = 0">
313
                        [RULE 2c] For the Web Link Resource the 'href' attribute must not be used on the 'resource' element.
314
                    </sch:assert>
315
                    <sch:assert test="count(cp:dependency) = 0">
316
                        [RULE 2d] For the Web Link Resource the prohibited 'dependency' element is used: <sch:value-of select="count(cp:dependency)"/>.
317
                    </sch:assert>
318
                </sch:rule>
319
 
320
            </sch:pattern>
321
            <!-- **************************************************************************** -->
322
 
323
            <!-- RULE 3: Assessment Resource Validation -->
324
            <sch:pattern abstract="false" name="RULE SET 3">
325
                <sch:title>RULE SET 3: The set of rules to ensure that resources for Assessments are correctly provided</sch:title>
326
 
327
                <sch:rule abstract="false" context="cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment']">
328
                    <sch:assert test="count(cp:file) &gt; 0">
329
                        [RULE 3a] For the Assessments Resource the required 'file' element is missing.
330
                    </sch:assert>
331
                    <sch:assert test="count(cp:file) &lt; 2">
332
                        [RULE 3b] For the Assessments Resource there are too many 'file' element references: <sch:value-of select="count(cp:file)"/>.
333
                    </sch:assert>
334
                    <sch:assert test="count(@href) = 0">
335
                        [RULE 3c] For the Assessments Resource the 'href' attribute must not be used on the 'resource' element.
336
                    </sch:assert>
337
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsdt_xmlv1p0']/@identifier]) = 0">
338
                        [RULE 3d] The Assessment Resource has a prohibited dependency on a Discussion Topic: <sch:value-of select="cp:dependency/@identifierref"/>
339
                    </sch:assert>
340
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imswl_xmlv1p0']/@identifier]) = 0">
341
                        [RULE 3e] The Assessment Resource has a prohibited dependency on a Web Link: <sch:value-of select="cp:dependency/@identifierref"/>
342
                    </sch:assert>
343
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment']/@identifier]) = 0">
344
                        [RULE 3f] The Assessment Resource has a prohibited dependency on an Assessment: <sch:value-of select="cp:dependency/@identifierref"/>
345
                    </sch:assert>
346
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']/@identifier]) = 0">
347
                        [RULE 3g] The Assessment Resource has a prohibited dependency on a Question Bank: <sch:value-of select="cp:dependency/@identifierref"/>
348
                    </sch:assert>
349
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsbasiclti_xmlv1p0']/@identifier]) = 0">
350
                        [RULE 3h] The Assessment Resource has a prohibited dependency on a BasicLTI: <sch:value-of select="cp:dependency/@identifierref"/>
351
                    </sch:assert>
352
                </sch:rule>
353
 
354
            </sch:pattern>
355
            <!-- **************************************************************************** -->
356
 
357
            <!-- RULE 4: Question Bank Resource Validation -->
358
            <sch:pattern abstract="false" name="RULE SET 4">
359
                <sch:title>RULE SET 4: The set of rules to ensure that resources for Question Banks are correctly provided</sch:title>
360
 
361
                <sch:rule abstract="false" context="cp:resources">
362
                    <sch:assert test="count(cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']) &lt; 2">
363
                        [RULE 4a] The are too many Question Bank Resources (a maximum of one is permitted).  Number of Question Bank Resources is: <sch:value-of select="count(cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank'])"/>.
364
                    </sch:assert>
365
                </sch:rule>
366
 
367
                <sch:rule abstract="false" context="cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']">
368
                    <sch:assert test="count(cp:file) &gt; 0">
369
                        [RULE 4b] For the Question Bank Resource the required 'file' element is missing.
370
                    </sch:assert>
371
                    <sch:assert test="count(cp:file) &lt; 2">
372
                        [RULE 4c] For the Question Bank Resource there are too many 'file' element references: <sch:value-of select="count(cp:file)"/>.
373
                    </sch:assert>
374
                    <sch:assert test="count(@href) = 0">
375
                        [RULE 4d] For the Question Bank Resource the 'href' attribute must not be used on the 'resource' element.
376
                    </sch:assert>
377
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsdt_xmlv1p0']/@identifier]) = 0">
378
                        [RULE 4e] The Question Bank Resource has a prohibited dependency on a Discussion Topic: <sch:value-of select="cp:dependency/@identifierref"/>
379
                    </sch:assert>
380
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imswl_xmlv1p0']/@identifier]) = 0">
381
                        [RULE 4f] The Question Bank Resource has a prohibited dependency on a Web Link: <sch:value-of select="cp:dependency/@identifierref"/>
382
                    </sch:assert>
383
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment']/@identifier]) = 0">
384
                        [RULE 4g] The Question Bank Resource has a prohibited dependency on an Assessment: <sch:value-of select="cp:dependency/@identifierref"/>
385
                    </sch:assert>
386
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']/@identifier]) = 0">
387
                        [RULE 4h] The Question Bank Resource has a prohibited dependency on a Question Bank: <sch:value-of select="cp:dependency/@identifierref"/>
388
                    </sch:assert>
389
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsbasiclti_xmlv1p0']/@identifier]) = 0">
390
                        [RULE 4i] The Question Bank Resource has a prohibited dependency on a BasicLTI: <sch:value-of select="cp:dependency/@identifierref"/>
391
                    </sch:assert>
392
                </sch:rule>
393
 
394
            </sch:pattern>
395
            <!-- **************************************************************************** -->
396
 
397
            <!-- RULE 5: Web Content Resource Validation -->
398
            <sch:pattern abstract="false" name="RULE SET 5">
399
                <sch:title>RULE SET 5: The set of rules to ensure that resources for Web Content are correctly provided</sch:title>
400
 
401
                <sch:rule abstract="false" context="cp:resource[@type='webcontent']">
402
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsdt_xmlv1p0']/@identifier]) = 0">
403
                        [RULE 5a] The Web Content has a prohibited dependency on a Discussion Topic: <sch:value-of select="cp:dependency/@identifierref"/>.
404
                    </sch:assert>
405
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imswl_xmlv1p0']/@identifier]) = 0">
406
                        [RULE 5b] The Web Content has a prohibited dependency on a Web Link: <sch:value-of select="cp:dependency/@identifierref"/>.
407
                    </sch:assert>
408
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment']/@identifier]) = 0">
409
                        [RULE 5c] The Web Content has a prohibited dependency on an Assessment: <sch:value-of select="cp:dependency/@identifierref"/>.
410
                    </sch:assert>
411
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']/@identifier]) = 0">
412
                        [RULE 5d] The Web Content has a prohibited dependency on a Question Bank: <sch:value-of select="cp:dependency/@identifierref"/>.
413
                    </sch:assert>
414
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='associatedcontent/imscc_xmlv1p0/learning-application-resource']/@identifier]) = 0">
415
                        [RULE 5e] The Web Content has a prohibited dependency on an Associated Content: <sch:value-of select="cp:dependency/@identifierref"/>.
416
                    </sch:assert>
417
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsbasiclti_xmlv1p0']/@identifier]) = 0">
418
                        [RULE 5f] The Web Content has a prohibited dependency on a BasicLTI: <sch:value-of select="cp:dependency/@identifierref"/>.
419
                    </sch:assert>
420
                </sch:rule>
421
<!-- UNDER REVIEW
422
                <sch:rule abstract="false" context="cp:resources">
423
                    <sch:assert test="cp:resource[@type='webcontent'][@identifier=//cp:item/@identifierref][@href]">
424
                        [RULE 5g] An Web Content resource has a missing 'href' attribute (required because the resource is directly referenced by an Item).  Check the following resources: <sch:value-of select="cp:resource[@type='webcontent']/@identifier"/>.
425
                    </sch:assert>
426
                </sch:rule>
427
-->
428
            </sch:pattern>
429
            <!-- **************************************************************************** -->
430
 
431
            <!-- RULE 6: Associated Content Resource Validation -->
432
            <sch:pattern abstract="false" name="RULE SET 6">
433
                <sch:title>RULE SET 6: The set of rules to ensure that resources for Associated Content are correctly provided</sch:title>
434
 
435
                <sch:rule abstract="false" context="cp:resource[@type='associatedcontent/imscc_xmlv1p0/learning-application-resource']">
436
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsdt_xmlv1p0']/@identifier]) = 0">
437
                        [RULE 6a] The Associated Content Resource has a prohibited dependency on a Discussion Topic: <sch:value-of select="cp:dependency/@identifierref"/>.
438
                    </sch:assert>
439
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imswl_xmlv1p0']/@identifier]) = 0">
440
                        [RULE 6b] The Associated Content Resource has a prohibited dependency on a Web Link: <sch:value-of select="cp:dependency/@identifierref"/>.
441
                    </sch:assert>
442
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment']/@identifier]) = 0">
443
                        [RULE 6c] The Associated Content Resource has a prohibited dependency on an Assessment: <sch:value-of select="cp:dependency/@identifierref"/>.
444
                    </sch:assert>
445
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']/@identifier]) = 0">
446
                        [RULE 6d] The Associated Content Resource has a prohibited dependency on a Question Bank: <sch:value-of select="cp:dependency/@identifierref"/>.
447
                    </sch:assert>
448
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='associatedcontent/imscc_xmlv1p0/learning-application-resource']/@identifier]) = 0">
449
                        [RULE 6e] The Associated Content Resource has a prohibited dependency on an Associated Content: <sch:value-of select="cp:dependency/@identifierref"/>.
450
                    </sch:assert>
451
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsbasiclti_xmlv1p0']/@identifier]) = 0">
452
                        [RULE 6f] The Associated Content Resource has a prohibited dependency on a BasicLTI: <sch:value-of select="cp:dependency/@identifierref"/>.
453
                    </sch:assert>
454
                </sch:rule>
455
<!-- UNDER REVIEW
456
                <sch:rule abstract="false" context="cp:resources">
457
                    <sch:assert test="cp:resource[@type='associatedcontent/imscc_xmlv1p0/learning-application-resource'][@identifier=//cp:item/@identifierref][@href]">
458
                        [RULE 6g] An Associated Content resource has a missing 'href' attribute (required because the resource is directly referenced by an Item).  Check the following resources: <sch:value-of select="cp:resource[@type='associatedcontent/imscc_xmlv1p0/learning-application-resource']/@identifier"/>.
459
                    </sch:assert>
460
                </sch:rule>
461
-->
462
            </sch:pattern>
463
            <!-- **************************************************************************** -->
464
 
465
            <!-- RULE 7: General Dependency Validation -->
466
            <sch:pattern abstract="false" name="RULE SET 7">
467
                <sch:title>RULE SET 7: The set of rules to ensure that Dependencies are used correctly.</sch:title>
468
 
469
                <sch:rule abstract="false" context="cp:dependency">
470
                    <sch:assert test="@identifierref != parent::cp:resource/@identifier">
471
                        [RULE 7a] A 'dependency' element has a circular reference to its host 'resource' element with identifier: <sch:value-of select="@identifierref"/>.
472
                    </sch:assert>
473
                </sch:rule>
474
                <sch:rule abstract="false" context="cp:resource">
475
                    <sch:assert test="not(cp:dependency[@identifierref = preceding-sibling::cp:dependency/@identifierref])">
476
                        [RULE 7b] In a 'resource' element at least two 'dependency' elements reference the same 'resource' element. <sch:value-of select="cp:dependency/@identifierref"/>.
477
                    </sch:assert>
478
                </sch:rule>
479
 
480
            </sch:pattern>
481
            <!-- **************************************************************************** -->
482
 
483
            <!-- RULE 8: General Item Validation -->
484
            <sch:pattern abstract="false" name="RULE SET 8">
485
                <sch:title>RULE SET 8: The set of rules to ensure that Items are defined correctly.</sch:title>
486
 
487
                <sch:rule abstract="false" context="cp:resources">
488
                    <sch:assert test="count(cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank'][@identifier=//cp:item/@identifierref]) = 0">
489
                        [RULE 8a] An Item has a prohibited reference(s) to a Question Bank Resource: <sch:value-of select="cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']/@identifier"/>.
490
                    </sch:assert>
491
                </sch:rule>
492
                <sch:rule abstract="false" context="cp:item/cp:item[@identifierref]">
493
                    <sch:assert test="count(cp:item) = 0">
494
                        [RULE 8b] A Learning Object Item contains prohibited child Item(s): <sch:value-of select="cp:item/@identifier"/>.
495
                    </sch:assert>
496
                </sch:rule>
497
 
498
            </sch:pattern>
499
            <!-- **************************************************************************** -->
500
 
501
            <!-- RULE 9: General File Validation -->
502
            <sch:pattern abstract="false" name="RULE SET 9">
503
                <sch:title>RULE SET 9: The set of rules to ensure that Files are used correctly.</sch:title>
504
 
505
                <sch:rule abstract="false" context="cp:resource">
506
                    <sch:assert test="not(cp:file[@href = preceding-sibling::cp:file/@href])">
507
                        [RULE 9a] In a 'resource' element at least two 'file' elements have the same 'href' attribute: <sch:value-of select="cp:file/@href"/>.
508
                    </sch:assert>
509
                </sch:rule>
510
 
511
            </sch:pattern>
512
            <!-- **************************************************************************** -->
513
 
514
            <!-- RULE 10: General Resource Validation -->
515
            <sch:pattern abstract="false" name="RULE SET 10">
516
                <sch:title>RULE SET 10: The set of general rules to ensure that Resources are used correctly.</sch:title>
517
 
518
                <sch:rule abstract="false" context="cp:resource[@href]">
519
                    <sch:assert test="count(cp:file) &gt; 0">
520
                        [RULE 10a] For a 'resource' element with the 'href' attribute the 'file' element is missing: <sch:value-of select="@identifier"/>.
521
                    </sch:assert>
522
                    <sch:assert test="@href=cp:file/@href">
523
                        [RULE 10b] For a 'resource' element with the 'href' attribute there is no 'file' element with the correct 'href' attribute: <sch:value-of select="@identifier"/>.
524
                    </sch:assert>
525
                </sch:rule>
526
 
527
            </sch:pattern>
528
            <!-- **************************************************************************** -->
529
 
530
            <!-- RULE 11: BasicLTI Resource Validation -->
531
            <sch:pattern abstract="false" name="RULE SET 11">
532
                <sch:title>RULE SET 11: The set of rules to ensure that resources for BasicLTI are correctly provided</sch:title>
533
 
534
                <sch:rule abstract="false" context="cp:resource[@type='imsbasiclti_xmlv1p0']">
535
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsdt_xmlv1p0']/@identifier]) = 0">
536
                        [RULE 11a] The BasicLTI has a prohibited dependency on a Discussion Topic: <sch:value-of select="cp:dependency/@identifierref"/>.
537
                    </sch:assert>
538
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imswl_xmlv1p0']/@identifier]) = 0">
539
                        [RULE 11b] The BasicLTI has a prohibited dependency on a Web Link: <sch:value-of select="cp:dependency/@identifierref"/>.
540
                    </sch:assert>
541
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/assessment']/@identifier]) = 0">
542
                        [RULE 11c] The Web Content has a prohibited dependency on an Assessment: <sch:value-of select="cp:dependency/@identifierref"/>.
543
                    </sch:assert>
544
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsqti_xmlv1p2/imscc_xmlv1p0/question-bank']/@identifier]) = 0">
545
                        [RULE 11d] The Web Content has a prohibited dependency on a Question Bank: <sch:value-of select="cp:dependency/@identifierref"/>.
546
                    </sch:assert>
547
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='webcontent']/@identifier]) = 0">
548
                        [RULE 11e] The Web Content has a prohibited dependency on an Associated Content: <sch:value-of select="cp:dependency/@identifierref"/>.
549
                    </sch:assert>
550
                    <sch:assert test="count(cp:dependency[@identifierref=//cp:resource[@type='imsbasiclti_xmlv1p0']/@identifier]) = 0">
551
                        [RULE 11f] The Web Content has a prohibited dependency on a BasicLTI: <sch:value-of select="cp:dependency/@identifierref"/>.
552
                    </sch:assert>
553
                </sch:rule>
554
 
555
            </sch:pattern>
556
            <!-- **************************************************************************** -->
557
 
558
        </xs:appinfo>
559
 
560
    </xs:annotation>
561
 
562
    <!-- Generate Global Attributes *********************************************************************** -->
563
 
564
    <xs:attributeGroup name="protected.Resource.Attr">
565
        <xs:attribute ref="autz:protected" use="optional" default="false"/>
566
    </xs:attributeGroup>
567
 
568
    <!-- ================================================================================================== -->
569
 
570
    <!-- Generate Global List Types *********************************************************************** -->
571
 
572
    <!-- ================================================================================================== -->
573
 
574
    <!-- Generate Namespaced extension Group  ************************************************************* -->
575
 
576
    <xs:group name="grpStrict.any">
577
        <xs:annotation>
578
            <xs:documentation>
579
                Any namespaced element from any namespace may be included within an "any" element.
580
                The namespace for the imported element must be defined in the instance, and the schema must be imported.
581
                The extension has a definition of "strict" i.e. they must have their own namespace.
582
            </xs:documentation>
583
        </xs:annotation>
584
        <xs:sequence>
585
            <xs:any namespace = "##other" processContents = "strict" minOccurs = "0" maxOccurs = "unbounded"/>
586
        </xs:sequence>
587
    </xs:group>
588
 
589
    <!-- ================================================================================================== -->
590
 
591
    <!-- Generate Special DataTypes  ********************************************************************** -->
592
 
593
    <!-- ================================================================================================== -->
594
 
595
    <!-- Generate the enumerated simpleType declarations ************************************************** -->
596
 
597
    <!-- ================================================================================================== -->
598
 
599
    <!-- Generate the simpleType elements based IMS data-types  ******************************************* -->
600
 
601
    <!-- ================================================================================================== -->
602
 
603
    <!-- Generate the derived data-type elements based upon simpleType ************************************ -->
604
 
605
    <!-- ================================================================================================== -->
606
 
607
    <!-- Generate the derived data-type elements based upon derived simpleType **************************** -->
608
 
609
    <!-- ================================================================================================== -->
610
 
611
    <!-- Generate the data-type ComplexTypes ************************************************************** -->
612
 
613
    <xs:complexType name="Dependency.Type" mixed="false">
614
        <xs:annotation>
615
            <xs:documentation source="umldocumentation">
616
                <p>This identifies a resource whose files this resource depends upon. The reference to an identifier in the resources section is contained in the Identifierref attribute.</p>
617
            </xs:documentation>
618
        </xs:annotation>
619
        <xs:sequence>
620
        </xs:sequence>
621
        <xs:attribute name="identifierref" use="required" type="xs:IDREF"/>
622
    </xs:complexType>
623
 
624
    <xs:complexType name="File.Type" mixed="false">
625
        <xs:annotation>
626
            <xs:documentation source="umldocumentation">
627
                <p>A listing of file that this resource is dependent on. The href attribute identifies the location of the file. This may have some meta-data.</p>
628
            </xs:documentation>
629
        </xs:annotation>
630
        <xs:sequence>
631
            <xs:element name="metadata" type="Metadata.Type" minOccurs = "0" maxOccurs = "1"/>
632
        </xs:sequence>
633
        <xs:attribute name="href" use="required" type="xs:anyURI"/>
634
    </xs:complexType>
635
 
636
    <xs:complexType name="Item.Type" mixed="false">
637
        <xs:annotation>
638
            <xs:documentation source="umldocumentation">
639
                <p>This is the structure that describes the shape of the organization. It is used in a hierarchical organizational scheme by ordering and nesting. Each Item has an identifier that is unique within the Manifest file. Identifierref acts as a reference to an identifier in the resources section. An Item has a title and may have meta-data. The parameters and isvisible attributes have been removed for this profile.</p>
640
            </xs:documentation>
641
        </xs:annotation>
642
        <xs:sequence>
643
            <xs:element name="title" type="xs:string" minOccurs = "1" maxOccurs = "1"/>
644
            <xs:element name="item" type="Item.Type" minOccurs = "0" maxOccurs = "unbounded"/>
645
            <xs:element name="metadata" type="Metadata.Type" minOccurs = "0" maxOccurs = "1"/>
646
        </xs:sequence>
647
        <xs:attribute name="identifier" use="required" type="xs:ID"/>
648
        <xs:attribute name="identifierref" use="optional" type="xs:IDREF"/>
649
    </xs:complexType>
650
 
651
    <xs:complexType name="ItemOrg.Type" mixed="false">
652
        <xs:annotation>
653
            <xs:documentation source="umldocumentation">
654
                <p>This is the structure that describes the top-level shape of the organization and so only a single Item is permitted. The top-level has an identifier that is unique within the Manifest file.  It may have meta-data but it has not title. It can contain any number of Items. The parameters and isvisible attributes have been removed for this profile</p>
655
            </xs:documentation>
656
        </xs:annotation>
657
        <xs:sequence>
658
            <xs:element name="item" type="Item.Type" minOccurs = "0" maxOccurs = "unbounded"/>
659
            <xs:element name="metadata" type="Metadata.Type" minOccurs = "0" maxOccurs = "1"/>
660
        </xs:sequence>
661
        <xs:attribute name="identifier" use="required" type="xs:ID"/>
662
    </xs:complexType>
663
 
664
    <xs:complexType name="Manifest.Type" mixed="false">
665
        <xs:annotation>
666
            <xs:documentation source="umldocumentation">
667
                <p>A reusable unit of instruction. It encapsulates meta-data, organizations, resource references and authorization.<br/> It must have an identifier that is unique within the Manifest. The version and reference base is optional.<br/> The base provides the relative path offset for the content file(s).</p>
668
            </xs:documentation>
669
        </xs:annotation>
670
        <xs:sequence>
671
            <xs:element name="metadata" type="ManifestMetadata.Type" minOccurs = "1" maxOccurs = "1"/>
672
            <xs:element name="organizations" type="Organizations.Type" minOccurs = "1" maxOccurs = "1"/>
673
            <xs:element name="resources" type="Resources.Type" minOccurs = "1" maxOccurs = "1"/>
674
            <xs:element ref="autz:authorizations" minOccurs = "0" maxOccurs = "1"/>
675
        </xs:sequence>
676
        <xs:attribute name="identifier" use="required" type="xs:ID"/>
677
        <xs:attribute ref="xml:base" use="optional"/>
678
    </xs:complexType>
679
 
680
    <xs:complexType name="ManifestMetadata.Type" mixed="false">
681
        <xs:annotation>
682
            <xs:documentation source="umldocumentation">
683
                <p>This is the meta-data describing the Manifest. The schema describes the schema that defines and controls the Manifest.<br/> Schemaversion describes the version of the above schema (e.g., 1,0, 1.1). In Common Cartridge all of the meta-data is described<br/> using the iEEE LOM standard format. CC manifest metadata is required.</p>
684
            </xs:documentation>
685
        </xs:annotation>
686
        <xs:sequence>
687
            <xs:element name="schema" minOccurs = "1" maxOccurs = "1">
688
                <xs:simpleType>
689
                    <xs:annotation>
690
                        <xs:documentation source="umldocumentation">
691
                            <p>This is the meta-data describing the associated class (but not the manifest which has its own meta-data structure). <br/> In Common Cartridge all of the meta-data is described using the IEEE LOM standard format.</p>
692
                        </xs:documentation>
693
                    </xs:annotation>
694
                    <xs:restriction base="xs:string">
695
                        <xs:enumeration value="IMS Common Cartridge"/>
696
                    </xs:restriction>
697
                </xs:simpleType>
698
            </xs:element>
699
            <xs:element name="schemaversion" minOccurs = "1" maxOccurs = "1">
700
                <xs:simpleType>
701
                    <xs:annotation>
702
                        <xs:documentation source="umldocumentation">
703
                            <p>This is the meta-data describing the associated class (but not the manifest which has its own meta-data structure). <br/> In Common Cartridge all of the meta-data is described using the IEEE LOM standard format.</p>
704
                        </xs:documentation>
705
                    </xs:annotation>
706
                    <xs:restriction base="xs:string">
707
                        <xs:enumeration value="1.1.0"/>
708
                    </xs:restriction>
709
                </xs:simpleType>
710
            </xs:element>
711
            <xs:element ref="lomm:lom" minOccurs = "1" maxOccurs = "1"/>
712
        </xs:sequence>
713
    </xs:complexType>
714
 
715
    <xs:complexType name="Metadata.Type" mixed="false">
716
        <xs:annotation>
717
            <xs:documentation source="umldocumentation">
718
                <p>This is the meta-data describing the associated class (but not the manifest which has its own meta-data structure). <br/> In Common Cartridge all of the meta-data is described using the IEEE LOM standard format.</p>
719
            </xs:documentation>
720
        </xs:annotation>
721
        <xs:sequence>
722
            <xs:group ref="grpStrict.any"/>
723
        </xs:sequence>
724
    </xs:complexType>
725
 
726
    <xs:complexType name="Organization.Type" mixed="false">
727
        <xs:annotation>
728
            <xs:documentation source="umldocumentation">
729
                <p>Describes a particular hierarchical organization in this profile; this is the only type of oranization that is permitted. The identifier, for the organization, that is unique within the Manifest file. The organization may have meta-data.</p>
730
            </xs:documentation>
731
        </xs:annotation>
732
        <xs:sequence>
733
            <xs:element name="title" type="xs:string" minOccurs = "0" maxOccurs = "1"/>
734
            <xs:element name="item" type="ItemOrg.Type" minOccurs = "1" maxOccurs = "1"/>
735
            <xs:element name="metadata" type="Metadata.Type" minOccurs = "0" maxOccurs = "1"/>
736
        </xs:sequence>
737
        <xs:attribute name="identifier" use="required" type="xs:ID"/>
738
        <xs:attribute name="structure" use="required" fixed="rooted-hierarchy" type="xs:string"/>
739
    </xs:complexType>
740
 
741
    <xs:complexType name="Organizations.Type" mixed="false">
742
        <xs:annotation>
743
            <xs:documentation source="umldocumentation">
744
                <p>Describes zero or one structures or organizations for the Cartridge. Only one organization is permitted so the default attribute has been removed for this Profile.</p>
745
            </xs:documentation>
746
        </xs:annotation>
747
        <xs:sequence>
748
            <xs:element name="organization" type="Organization.Type" minOccurs = "0" maxOccurs = "1"/>
749
        </xs:sequence>
750
    </xs:complexType>
751
 
752
    <xs:complexType name="Resource.Type" mixed="false">
753
        <xs:annotation>
754
            <xs:documentation source="umldocumentation">
755
                <p>A reference to a resource which consists of one or more physical files. The Identifer of the resource is unique within the scope of its containing Manifest file. The Type attribute indicates the type of resource - for the Cartridge this is an enumerated set. The resource may have meta-data, zero or more files references, and zero or more dependencies.</p>
756
<p>CCV1.1 PROFILE: The authorizations 'protected' attribute and the 'intendedUse' attribute are added.</p>
757
            </xs:documentation>
758
        </xs:annotation>
759
        <xs:sequence>
760
            <xs:element name="metadata" type="ResourceMetadata.Type" minOccurs = "0" maxOccurs = "1"/>
761
            <xs:element name="file" type="File.Type" minOccurs = "0" maxOccurs = "unbounded"/>
762
            <xs:element name="dependency" type="Dependency.Type" minOccurs = "0" maxOccurs = "unbounded"/>
763
        </xs:sequence>
764
        <xs:attribute name="identifier" use="required" type="xs:ID"/>
765
        <xs:attribute name="type" use="required">
766
            <xs:simpleType>
767
                <xs:restriction base="xs:string">
768
                    <xs:enumeration value="webcontent"/>
769
                    <xs:enumeration value="imsqti_xmlv1p2/imscc_xmlv1p1/assessment"/>
770
                    <xs:enumeration value="imsqti_xmlv1p2/imscc_xmlv1p1/question-bank"/>
771
                    <xs:enumeration value="associatedcontent/imscc_xmlv1p1/learning-application-resource"/>
772
                    <xs:enumeration value="imsdt_xmlv1p1"/>
773
                    <xs:enumeration value="imswl_xmlv1p1"/>
774
                    <xs:enumeration value="imsbasiclti_xmlv1p0"/>
775
                </xs:restriction>
776
            </xs:simpleType>
777
        </xs:attribute>
778
        <xs:attribute name="href" use="optional" type="xs:anyURI"/>
779
        <xs:attribute ref="xml:base" use="optional"/>
780
        <xs:attribute name="intendeduse" use="optional">
781
            <xs:simpleType>
782
                <xs:restriction base="xs:string">
783
                    <xs:enumeration value="lessonplan"/>
784
                    <xs:enumeration value="syllabus"/>
785
                    <xs:enumeration value="unspecified"/>
786
                </xs:restriction>
787
            </xs:simpleType>
788
        </xs:attribute>
789
        <xs:attributeGroup ref="protected.Resource.Attr"/>
790
    </xs:complexType>
791
 
792
    <xs:complexType name="ResourceMetadata.Type" mixed="false">
793
        <xs:annotation>
794
            <xs:documentation source="umldocumentation">
795
                <p>This is the container for resource specific metadata..</p>
796
            </xs:documentation>
797
        </xs:annotation>
798
        <xs:sequence>
799
            <xs:element ref="lomr:lom" minOccurs = "1" maxOccurs = "1"/>
800
        </xs:sequence>
801
    </xs:complexType>
802
 
803
    <xs:complexType name="Resources.Type" mixed="false">
804
        <xs:annotation>
805
            <xs:documentation source="umldocumentation">
806
                <p>A collection of references to resources. There is no assumption of order or hierarchy. The base attribute provides the relative path offset for the content file(s).</p>
807
            </xs:documentation>
808
        </xs:annotation>
809
        <xs:sequence>
810
            <xs:element name="resource" type="Resource.Type" minOccurs = "0" maxOccurs = "unbounded"/>
811
        </xs:sequence>
812
        <xs:attribute ref="xml:base" use="optional"/>
813
    </xs:complexType>
814
 
815
    <!-- ================================================================================================== -->
816
 
817
    <!-- Declaration of the elements ********************************************************************** -->
818
 
819
    <!-- ================================================================================================== -->
820
 
821
    <!-- Declaration of the root element(s) *************************************************************** -->
822
 
823
    <xs:element name="manifest" type="Manifest.Type"/>
824
 
825
    <!-- ================================================================================================== -->
826
 
827
</xs:schema>