Dear greg,
Regarding your question:
[i]Does XML Spy validate XML, or can it also validate against specific schemas (IMS CP 1.1.2 etc.). I'd question the validity of the manifest against the IMS CP 1.1.2/SCORM 1.2, though I haven't checked. [/i]
XML Spy checks not only if an XML document is well formed but also if it is valid according to a specific XML Schema.
The empty metadata which is optional does not seem to be the problem. In a first version of this package I didn't use it and the problem remained. In another version I just did a copy-paste of the metadata section of a ATutor-generated manifest file, but the result was the same.
So, I think that the real problem is that -as you already said- ATutor does not know what to do with items that have no identifierref to associate it with a piece of content. But this is not right because it is not mandatory for an item to point to a resource. In this case it is just a container.
According to the version 1.2 of SCORM, container-items can optionally point to a resource. I include some words of the SCORM 1.2 CAM Specification which mention this point:
[i]"...in the older SCORM CSF only leaf nodes (lowest items in a tree containing no other item) were permitted to point to SCOs. Now any level can optionally point to a learning resource."[/i]
However, in the latest version of SCORM (SCORM 2004) the old fashion (before SCORM 1.2) comes back. Here, only leaf elements can (and to be precise -must) point to resources, which in my opinion is better because it solves many problems. Here is the corresponding fragment of the SCORM 2004 CAM Specification:
[i]"The <item> element can act as a container of other <item> elements or as a leaf node. If an <item> is a leaf node, then the <item> shall reference a <resource> element. If an <item> element is a parent element, the <item> itself is not permitted to reference a <resource> element (only leaf <item> elements are permitted to reference resources)."[/i]
I think that the above is also the answer to your question:
[i]The question is Does the LMS need to assume empty content when there is no identifierref and generate a place holder for content, or does the content packager need to generate a place holder for an empty page when it creates the package. [/i]
When the LMS encounters an item which does not point anywhere there is no need to generate a place holder for content. Morever, the content packager does not need to generate a place holder for an empty page when it creates the package. Before generating the content package, ATutor should check if an item which is container point to any page (which of course is not empty) and then and only then should generate a place holder for the page.
To conclude, I think that an updated version of ATutor should fix this point.
[i]Also keep in mind also that ATutor does not support SCO's, which you can find discussed in the Community Discussions forum.[/i]
I know that ATutor does not support SCOs. But when a SCORM package get imported to ATutor, ATutor can only ignore the CMI part of SCOs and generate the hierarchical structure normally. Most SCORM viewers (which are not LMSs) do that. I am not sure but I think that ATutor does the same.
Best regards,
Polyxeni Arapi