Sharebar?

customInteraction / portableCustomInteraction content

customInteraction / portableCustomInteraction content

Quick question: I've been working on implementing a portableCustomInteraction, and I found that the outer customInteraction allows "grpLax.any" content, but the inner portableCustomInteraction only allows "grpStrict.any" content. I found that interesting and was wondering about the rationale behind it, as I was expecting the portableCustomInteraction to also use "grpLax.any".

I found this while testing the following content with Java code generated from the QTI XSDs. For example, this XML fragment validates according to the spec and it preserves the embedded text (and the "ABCDE" text is just an example: our real XML is some JavaScript instead of "ABCDE"):

<customInteraction responseIdentifier="YYYY">

   <pci:instance>ABCDE</pci:instance>

</customInteraction>
 
However, when I move the instance inside a portableCustomInteraction, it still validates, but it does not preserve the embedded text:
 
<customInteraction responseIdentifier="YYYY">

   <portableCustomInteraction customInteractionIdentifierType="XXXXX" xmlns="http://www.imsglobal.org/xsd/portableCustomInteraction">

      <pci:instance>ABCDE</pci:instance>

   </portableCustomInteraction>

</customInteraction>