SCORM packages must include XML control document files in order to allow validation of the package manifest and metadata. The ADL SCORM self-test certification test suite will fail a package that does not include those control documents.
For SCORM 1.2, the following files are required in the "root" directory of the package, i.e. the same directory that contains the imsmanifest.xml file. This list assumes that there are metadata as well, either inline or in a separate metadata file. These documents must be exact copies of the XSD files published by the IMS Global Learning Consortium and by ADL. If you install the SCORM 1.2 Conformance Test Suite version 1.2.7 with the default installation path, you will find copies of those files in the following directory on your computer: C:\ADL\TestSuite1_2_7\xml
adlcp_rootv1p2.xsd imscp_rootv1p1p2.xsd imsmd_rootv1p2p1.xsd ims_xml.xsd
For SCORM 2004, the required schema files are listed below. They must be in the "root" directory of the package, i.e. the same directory that contains the imsmanifest.xml file. These documents must be exact copies of the XSD and DTD files published by the W3C, IMS Global Learning Consortium and ADL, with one possible exception explained below. If you install the SCORM 2004 3rd Edition Conformance Test Suite with the default installation path, you will find copies of those files in the following directory on your computer: C:\ADL\SCORM_2004_3rd_Ed_CTS_V1.0_ST\xml\xsd
adlcp_v1p3.xsd adlnav_v1p3.xsd adlseq_v1p3.xsd datatypes.dtd imscp_v1p1.xsd imsss_v1p0.xsd imsss_v1p0auxresource.xsd imsss_v1p0control.xsd imsss_v1p0delivery.xsd imsss_v1p0limit.xsd imsss_v1p0objective.xsd imsss_v1p0random.xsd imsss_v1p0rollup.xsd imsss_v1p0seqrule.xsd imsss_v1p0util.xsd ims_xml.xsd xml.xsd XMLSchema.dtd
If you have trouble validating a package without Internet connectivity, or if the package is intended for use on an offline system without Internet connectivity, see the ADL bulletin
Issue 8573: Content Package Validation without Internet Connectivity
for information about the proper way to reference the schema files in your manifest.
In addition, if your SCORM 2004 manifest includes LOM metadata or references a LOM metadata file as described in the SCORM 2004 spec, control documents must be provided to validate the metadata XML document. The control documents must be either exact copies of the XSD and DTD files published by IEEE as samples with IEEE Standard 1484.12.3, or some other combination of XSD and DTD files that conforms to that standard.
If you use the generic sample XML control documents from IEEE 1484.12.3, you need some combination of the files listed below. If the metadata file or files are in the same package "root" directory as the imsmanifest.xml file, these schema files will usually also be in that directory, with some subsidiary files in specific subdirectories. The XML instance that contains the LOM metadata must specify a target namespace named http://ltsc.ieee.org/xsd/LOM and associate the file lom.xsd with that namespace in a schemaLocation attribute. A typical metadata XML instance would thus be enclosed in an XML element named lom as follows:
<lom xmlns="http://ltsc.ieee.org/xsd/LOM" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ltsc.ieee.org/xsd/LOM lom.xsd">
A specific namespace prefix might be declared instead of the default prefix as shown in the example above. If the metadata are included in line in the manifest, the namespace and schema location declarations might be included in the attributes for the top level element of the manifest. In that case, an arbitrary prefix will usually be associated with the http://ltsc.ieee.org/xsd/LOM namespace. For example, if the prefix is md, the prefix association is done through
xmlns:md="http://ltsc.ieee.org/xsd/LOM"
and each metadata element name will be prefixed with "md:" in the XML instance.
If the "lom.xsd" file is not in the same directory as the metadata XML file, a proper relative path must be specified. For example, if the metadata file is in a subdirectory named sco1; and you want to reference a common set of XSD files in the root directory of the package, the value of the targetNameSpace attribute would be
http://ltsc.ieee.org/xsd/LOM ../lom.xsd
How to specify the schema location for a particular namespace in an XML instance is beyond the scope of this brief document. If you don't understand how this works, you might want to do a web search on the terms "namespace and schemaLocation and attribute". In any case, note that In theory the LOM schema files are not all required, depending on which profile of the LOM schema standard is used, but in case of doubt or if you don't understand the intricacies of XML schema, just include them all, including the subdirectories listed here:
lom.xsd
lomCustom.xsd
lomLoose.xsd
lomStrict.xsd
in the subdirectory named common:
anyElement.xsd dataTypes.xsd elementNames.xsd elementTypes.xsd rootElement.xsd vocabTypes.xsd vocabValues.xsd
in the subdirectory named extend:
custom.xsd strict.xsd
in the subdirectory named unique:
loose.xsd strict.xsd
in the subdirectory named vocab:
custom.xsd loose.xsd strict.xsd
The above may seem overly complicated. Juggling all those files and subdirectories is inefficient and can easily lead to confusion and possibly errors. But there is a simpler alternative. Other IEEE 1484.12.3 conformant control documents can also be used to validate LOM metadata instances instead of the overly complex samples provided with IEEE 1484.11.3. In that case the configuration of the XSD file(s) to validate the metadata XML may be different. For example, all the metadata schema files and subdirectories above can be consolidated into a single XSD file for a particular profile, such as the schema for the "custom" profile of IEEE 1484.12.3 and which is available on this web site. If you use such a simplified schema, it is not necessary to include all the files and directories listed above to validate LOM metadata. Assuming that such a consolidated schema file is named lomcustomco.xsd, the LOM instance in XML would be something like
<lom xmlns="http://ltsc.ieee.org/xsd/LOM" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ltsc.ieee.org/xsd/LOM lomcustomco.xsd">
and you need to include only lomcustomco.xsd in the package. There is no need to create subdirectories.
If you use a simpler consolidated metadata schema file as described above, the list of control files is as follows. No subdirectories need to be created for some of the files. Of course, you may have to substitute another name for lomcustomco.xsd if you use a different metadata schema file.
adlcp_v1p3.xsd adlnav_v1p3.xsd adlseq_v1p3.xsd datatypes.dtd imscp_v1p1.xsd imsss_v1p0.xsd imsss_v1p0auxresource.xsd imsss_v1p0control.xsd imsss_v1p0delivery.xsd imsss_v1p0limit.xsd imsss_v1p0objective.xsd imsss_v1p0random.xsd imsss_v1p0rollup.xsd imsss_v1p0seqrule.xsd imsss_v1p0util.xsd ims_xml.xsd xml.xsd XMLSchema.dtd lomcustomco.xsd
This work is licensed under a Creative
Commons Attribution-ShareAlike2.5 License.
USE AT YOUR OWN RISK
THIS WORK IS PROVIDED "AS IS", WITHOUT WARRANTY OF
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR OR
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
WORK OR THE USE OR OTHER DEALINGS IN THE WORK.