I spent the day today working with the most minute of the SCORM minutiae.

The XML Schema Definition files (XSD) that define the structure of the SCORM manifest aren’t something most people give much thought to. Mostly these files, and their associated XML header, are just copied from some other course. I’ll admit it, that’s what I do.

If you take a closer look though, you’ll find that different people are copying from different sources and that the files they deliver have slight variations. Today I set out to examine these variations in detail and ensure that the versions we have available for download are the most accurate and compatible files available.

I (think I) succeeded, but not without spending the better portion of the day neck deep in XML validators, reference manuals and emails to the don of content packaging, metadata and all things minute in SCORM, Schawn Thropp (many thanks by the way).

To give you an idea of the types of minutiae that need to be resolved:

The imscp_v1p1.xsd file imports the namespace http://www.w3.org/XML/1998/namespace. In some files, the associated schema location is referenced remotely on the W3C servers. In other files, the schema is referenced locally in an xml.xsd file. Apparently both are valid. But, which is the best to offer for download to somebody who just doesn’t want to think about these things?

The remote reference is cleaner and more inline with industry norms. However, if an LMS does strict XML validation on import in an environment where there is no internet connection, the validation could fail. The local reference is a bit ugly and requires 3 extra files to be delivered in every content package, BUT it will always validate properly. Which to choose? In keeping with the spirit of providing completely self-contained PIF files and in order to ensure the broadest possible compatibility, the local reference wins.

Sure, the local reference is uglier, but it’s only the uber-SCORM nerds like me who will ever know. The rest is just copying and pasting.

Mike is the Founder and was President of Rustici Software until 2016. Most recently he was the CEO of Watershed Systems. He helped guide the first draft of the Tin Can API (xAPI) and believes ice cream is the "elixir of life."