public static function getInteractionDocumentation()
 {
     $documentation['@attributes'] = QtiDoc::defaultCommonInteractionAttributeRow();
     $documentation = array_replace_recursive($documentation, ['@notes' => "\n                The element 'matchInteraction' map to our 'choicematrix' question.\n                Read the documentation: <a href='http://docs.learnosity.com/assessment/questions/questiontypes#choicematrix'>\n                http://docs.learnosity.com/assessment/questions/questiontypes#choicematrix</a>.\n                <br/><br/>\n                We currently only support validation template `map_response` and `match_correct` for this interaction.\n            ", '@attributes' => ['shuffle' => QtiDoc::none('This feature is not supported'), 'maxAssociations' => QtiDoc::none('We do not rely on this attribute.'), 'minAssociations' => QtiDoc::none('We do not rely on this attribute.')], 'prompt' => QtiDoc::support(), 'simpleMatchSet' => ['simpleAssociableChoice' => ['@attributes' => ['id' => QtiDoc::none(), 'class' => QtiDoc::none(), 'xmllang' => QtiDoc::none(), 'label' => QtiDoc::none(), 'identifier' => QtiDoc::support(), 'fixed' => QtiDoc::none(), 'templateIdentifier' => QtiDoc::none(), 'showHide' => QtiDoc::none(), 'matchGroup' => QtiDoc::none(), 'matchMax' => QtiDoc::none('We do not rely on this attribute.'), 'matchMin' => QtiDoc::none('We do not rely on this attribute.')]]]]);
     $documentation['simpleMatchSet']['simpleAssociableChoice'] = array_merge($documentation['simpleMatchSet']['simpleAssociableChoice'], QtiDoc::defaultFlowStaticRow());
     return $documentation;
 }
 public static function getInteractionDocumentation()
 {
     $documentation['@attributes'] = QtiDoc::defaultCommonInteractionAttributeRow();
     $documentation = array_replace_recursive($documentation, ['@notes' => "\n                The element 'textEntryInteraction' map to our 'clozetext' question.\n                Read the documentation: <a href='http://docs.learnosity.com/assessment/questions/questiontypes#clozetext'>\n                http://docs.learnosity.com/assessment/questions/questiontypes#clozetext</a>.\n                <br/><br/>\n                Currently support `exactMatch` and `map_response` validation.\n            ", '@attributes' => ['base' => QtiDoc::none('We always assume base to be 10.'), 'stringIdentifier' => QtiDoc::none(), 'expectedLength' => QtiDoc::none('We ignore this value for now. We do support `max_length` as a
                                         validity constraint.'), 'patternMask' => QtiDoc::none(), 'placeholderText' => QtiDoc::none('Our `clozetext` question type does not support placeholder text.')]]);
     return $documentation;
 }
 public static function getInteractionDocumentation()
 {
     $documentation['@attributes'] = QtiDoc::defaultCommonInteractionAttributeRow();
     $documentation = array_replace_recursive($documentation, ['@notes' => "\n                The element 'inlineChoiceInteraction' map to our 'clozedropdown' question.\n                Read the documentation: <a href='http://docs.learnosity.com/assessment/questions/questiontypes#clozedropdown'>\n                http://docs.learnosity.com/assessment/questions/questiontypes#clozedropdown</a>\n                <br/><br/>\n                Currently support `exactMatch` and `map_response` validation.\n            ", '@attributes' => ['shuffle' => QtiDoc::none('Unfortunately `clozedropdown` does not support shuffling possible responses.'), 'required' => QtiDoc::none('`clozedropdown` does not enforce a choice to be selected')], 'inlineChoice' => ['@notes' => 'Attributes are ignored and elements are simply marshalled as HTML content and mapped to
                 value in `possible_responses`', '@attributes' => ['id' => QtiDoc::none(), 'class' => QtiDoc::none(), 'xmllang' => QtiDoc::none(), 'label' => QtiDoc::none(), 'identifier' => QtiDoc::none(), 'fixed' => QtiDoc::none('We do not support partial shuffle.'), 'templateIdentifier' => QtiDoc::none(), 'showHide' => QtiDoc::none()], 'printedVariable' => QtiDoc::none()]]);
     return $documentation;
 }
 public static function getInteractionDocumentation()
 {
     $documentation['@attributes'] = QtiDoc::defaultCommonInteractionAttributeRow();
     $documentation = array_replace_recursive($documentation, ['@notes' => "\n                The element 'orderInteraction' map to our 'orderlist' question.\n                Read the documentation: <a href='http://docs.learnosity.com/assessment/questions/questiontypes#orderlist'>\n                http://docs.learnosity.com/assessment/questions/questiontypes#orderlist</a>.\n                <br/><br/>\n                We currently only support validation template `match_correct` for this interaction.\n            ", '@attributes' => ['shuffle' => QtiDoc::none('This feature is not supported'), 'minChoices' => QtiDoc::none(), 'maxChoices' => QtiDoc::none(), 'orientation' => QtiDoc::none()], 'prompt' => QtiDoc::support(), 'simpleChoice' => ['@attributes' => ['identifier' => QtiDoc::support(), 'fixed' => QtiDoc::none(), 'showHide' => QtiDoc::none(), 'templateIdentifier' => QtiDoc::none()]]]);
     $documentation = array_merge($documentation, QtiDoc::defaultBlockStaticRow());
     return $documentation;
 }
 public static function getInteractionDocumentation()
 {
     $documentation['@attributes'] = QtiDoc::defaultCommonInteractionAttributeRow();
     $documentation = array_replace_recursive($documentation, ['@notes' => "\n                The element 'gapMatchInteraction' map to our 'clozeassociation' question.\n                Read the documentation: <a href='http://docs.learnosity.com/assessment/questions/questiontypes#clozeassociation'>\n                http://docs.learnosity.com/assessment/questions/questiontypes#clozeassociation</a>\n                <br /><br />\n                Currently support `exactMatch` and `map_response` validation.\n            ", '@attributes' => ['shuffle' => QtiDoc::none('No support for `shuffle` on `clozeassociation`')], 'prompt' => QtiDoc::support('We map this to our question `stimulus`.'), 'gapText' => ['@attributes' => ['id' => QtiDoc::none(), 'class' => QtiDoc::none(), 'xmllang' => QtiDoc::none(), 'label' => QtiDoc::none(), 'identifier' => QtiDoc::support(), 'fixed' => QtiDoc::none(), 'templateIdentifier' => QtiDoc::none(), 'showHide' => QtiDoc::none(), 'matchGroup' => QtiDoc::none(), 'matchMax' => QtiDoc::none('This is ignored, `clozeassociation` can only match to a maximum of 0 response'), 'matchMin' => QtiDoc::none('This is ignored, `clozeassociation` allow zero responses')], 'printedVariable' => QtiDoc::none(), 'textRun' => QtiDoc::support()], 'gapImg' => ['@attributes' => ['id' => QtiDoc::none(), 'class' => QtiDoc::none(), 'xmllang' => QtiDoc::none(), 'label' => QtiDoc::none(), 'identifier' => QtiDoc::support(), 'fixed' => QtiDoc::none(), 'templateIdentifier' => QtiDoc::none(), 'showHide' => QtiDoc::none(), 'matchGroup' => QtiDoc::none(), 'matchMax' => QtiDoc::none('This is ignored, `clozeassociation` can only match to a maximum of 0 response'), 'matchMin' => QtiDoc::none('This is ignored, `clozeassociation` allow zero responses'), 'objectLabel' => QtiDoc::none()], 'object' => QtiDoc::support()]]);
     $documentation = array_merge($documentation, QtiDoc::defaultBlockStaticRow());
     return $documentation;
 }
 public static function getInteractionDocumentation()
 {
     $documentation['@attributes'] = QtiDoc::defaultCommonInteractionAttributeRow();
     $documentation = array_replace_recursive($documentation, ['@notes' => "\n                The element 'hottextInteraction' map to our 'tokenhighlight' question.\n                Read the documentation: <a href='http://docs.learnosity.com/assessment/questions/questiontypes#tokenhighlight'>\n                http://docs.learnosity.com/assessment/questions/questiontypes#tokenhighlight</a>\n                <br /><br />\n                Currently support `exactMatch` and `map_response` validation.\n            ", '@attributes' => ['maxChoices' => QtiDoc::support('This map to `max_selection`'), 'minChoices' => QtiDoc::none('By default this would be zero since we allow no response.')], 'prompt' => QtiDoc::support('We map this to our question `stimulus`.')]);
     $documentation = array_merge($documentation, QtiDoc::defaultBlockStaticRow());
     return $documentation;
 }
 public static function getInteractionDocumentation()
 {
     $documentation['@attributes'] = QtiDoc::defaultCommonInteractionAttributeRow();
     $documentation = array_replace_recursive($documentation, ['@notes' => "\n                The element 'hotspotInteraction' map to our 'hotspot' question.\n                Read the documentation: <a href='http://docs.learnosity.com/assessment/questions/questiontypes#hotspot'>\n                http://docs.learnosity.com/assessment/questions/questiontypes#hotspot</a>\n                <br /><br />\n                Currently only support `exactMatch` validation.\n            ", '@attributes' => ['maxChoices' => QtiDoc::partial('Learnosity does not support specifying the count of choices. If this value
                                         is more than one, then mcq `multiple_responses` is set to true.'), 'minChoices' => QtiDoc::none('By default this would be zero since we allow no response.')], 'prompt' => QtiDoc::support('We map this to our question `stimulus`.'), 'object' => QtiDoc::support('We map this to the background image. MIME type should be set correctly. Say "image/png"'), 'hotspotChoice' => ['@notes' => 'Attributes are ignored and coordinates are converted to percentage based so they can be mapped to
                 `x`(s) and `y`(s) in `areas`', '@attributes' => ['id' => QtiDoc::none(), 'class' => QtiDoc::none(), 'xmllang' => QtiDoc::none(), 'label' => QtiDoc::none(), 'identifier' => QtiDoc::none(), 'fixed' => QtiDoc::none('We do not support partial shuffle.'), 'templateIdentifier' => QtiDoc::none(), 'showHide' => QtiDoc::none(), 'shape' => QtiDoc::partial('Rectangle, circle, and poly shape support only'), 'coords' => QtiDoc::partial('See attribute shape'), 'hotspotLabel' => QtiDoc::none()]]]);
     return $documentation;
 }
 public static function getInteractionDocumentation()
 {
     $documentation['@attributes'] = QtiDoc::defaultCommonInteractionAttributeRow();
     $documentation = array_replace_recursive($documentation, ['@notes' => "\n                The element 'extendedTextInteraction' map to our 'longtext' question.\n                Read the documentation: <a href='http://docs.learnosity.com/assessment/questions/questiontypes#longtext'>\n                http://docs.learnosity.com/assessment/questions/questiontypes#longtext</a>.\n            ", '@attributes' => ['base' => QtiDoc::none('We always assume base to be 10.'), 'stringIdentifier' => QtiDoc::none(), 'expectedLength' => QtiDoc::support('The number defined is used to determine `max_length` with the assumption of
                                         5 characters per sentence and set `submit_over_limit` to
                                         `true` since it is not a validity constraint.'), 'patternMask' => QtiDoc::none(), 'placeholderText' => QtiDoc::support(), 'maxStrings' => QtiDoc::none('Always assumed to be 1. `longtext` question type does not support multiple
                                         separate strings.'), 'minStrings' => QtiDoc::none('Always assumed to be 1.'), 'expectedLines' => QtiDoc::none(), 'format' => QtiDoc::none('We capture response as plain text.')], 'prompt' => QtiDoc::support('We map this to our question `stimulus`.')]);
     return $documentation;
 }
 public static function getInteractionDocumentation()
 {
     $documentation['@attributes'] = QtiDoc::defaultCommonInteractionAttributeRow();
     $documentation = array_replace_recursive($documentation, ['@notes' => "\n                The element 'choiceInteraction' map to our 'mcq' question.\n                Read the documentation: <a href='http://docs.learnosity.com/assessment/questions/questiontypes#mcq'>\n                http://docs.learnosity.com/assessment/questions/questiontypes#mcq</a>\n                <br /><br />\n                Currently only support simple `exactMatch` validation.\n            ", '@attributes' => ['shuffle' => QtiDoc::support('Learnosity does not support partial shuffle,
                                         thus ignoring simpleChoice @fixed attribute.'), 'maxChoices' => QtiDoc::partial('Learnosity does not support specifying the count of choices. If this value
                                         is more than one, then mcq `multiple_responses` is set to true.'), 'minChoices' => QtiDoc::none('By default this would be zero since we allow no response.'), 'orientation' => QtiDoc::support('By default mcq would be displayed vertically. We support do `horizontal`
                                         orientation and map to the question `ui_style`, ie. `type` of `horizontal` and `columns`
                                         will be number of the multiple choice options')], 'prompt' => QtiDoc::support('We map this to our question `stimulus`.'), 'simpleChoice' => ['@notes' => 'Attributes are ignored and elements are simply marshalled as HTML content and mapped to
                 `value` in `options`', '@attributes' => ['id' => QtiDoc::none(), 'class' => QtiDoc::none(), 'xmllang' => QtiDoc::none(), 'label' => QtiDoc::none(), 'identifier' => QtiDoc::none(), 'fixed' => QtiDoc::none('We do not support partial shuffle.'), 'templateIdentifier' => QtiDoc::none(), 'showHide' => QtiDoc::none()]]]);
     $documentation['simpleChoice'] = array_merge($documentation['simpleChoice'], QtiDoc::defaultFlowStaticRow());
     return $documentation;
 }
 public static function getInteractionDocumentation()
 {
     $documentation['@attributes'] = QtiDoc::defaultCommonInteractionAttributeRow();
     $documentation = array_replace_recursive($documentation, ['@notes' => "\n                The element 'graphicGapMatchInteraction' map to our 'imageclozeassociation' question.\n                Read the documentation: <a href='http://docs.learnosity.com/assessment/questions/questiontypes#imageclozeassociation'>\n                http://docs.learnosity.com/assessment/questions/questiontypes#imageclozeassociation</a>\n                <br /><br />\n                Currently support `exactMatch` and `map_response` validation.\n            ", '@attributes' => ['responseIdentifier' => QtiDoc::support()], 'prompt' => QtiDoc::support('We map this to our question `stimulus`.'), 'object' => QtiDoc::support('We map this to the background image. MIME type should be set correctly. Say "image/png"'), 'gapImg' => ['@attributes' => ['id' => QtiDoc::none(), 'class' => QtiDoc::none(), 'xmllang' => QtiDoc::none(), 'label' => QtiDoc::none(), 'identifier' => QtiDoc::support(), 'fixed' => QtiDoc::none(), 'templateIdentifier' => QtiDoc::none(), 'showHide' => QtiDoc::none(), 'matchGroup' => QtiDoc::none(), 'matchMax' => QtiDoc::none('This is ignored, `clozeassociation` can only match to a maximum of 0 response'), 'matchMin' => QtiDoc::none('This is ignored, `clozeassociation` allow zero responses'), 'objectLabel' => QtiDoc::none()], 'object' => QtiDoc::support()], 'associableHotspot' => ['@attributes' => ['identifier' => QtiDoc::support(), 'fixed' => QtiDoc::none(), 'templateIdentifier' => QtiDoc::none(), 'showHide' => QtiDoc::none(), 'matchGroup' => QtiDoc::none(), 'shape' => QtiDoc::partial('Rectangle shape support only'), 'coords' => QtiDoc::partial('See attribute shape'), 'hotspotLabel' => QtiDoc::none(), 'matchMax' => QtiDoc::none('We calculate this value based on responseDeclaration data'), 'matchMin' => QtiDoc::none('We calculate this value based on responseDeclaration data')]]]);
     return $documentation;
 }