/**
  * Unmarshall a Substring object into a QTI substring element.
  * 
  * @param QtiComponent The Substring object to marshall.
  * @param array An array of child DOMEelement objects.
  * @return DOMElement The marshalled QTI substring element.
  */
 protected function marshallChildrenKnown(QtiComponent $component, array $elements)
 {
     $element = self::getDOMCradle()->createElement($component->getQtiClassName());
     self::setDOMElementAttribute($element, 'caseSensitive', $component->isCaseSensitive());
     foreach ($elements as $elt) {
         $element->appendChild($elt);
     }
     return $element;
 }
 /**
  * Marshall a MapEntry object into a DOMElement object.
  * 
  * @param QtiComponent $component A MapEntry object.
  * @return DOMElement The according DOMElement object.
  */
 protected function marshall(QtiComponent $component)
 {
     $element = static::getDOMCradle()->createElement($component->getQtiClassName());
     self::setDOMElementAttribute($element, 'mapKey', $component->getMapKey());
     self::setDOMElementAttribute($element, 'mappedValue', $component->getMappedValue());
     self::setDOMElementAttribute($element, 'caseSensitive', $component->isCaseSensitive());
     return $element;
 }
 /**
  * Marshall a MapEntry object into a DOMElement object.
  *
  * @param \qtism\data\QtiComponent $component A MapEntry object.
  * @return \DOMElement The according DOMElement object.
  */
 protected function marshall(QtiComponent $component)
 {
     $element = static::getDOMCradle()->createElement($component->getQtiClassName());
     self::setDOMElementAttribute($element, 'mapKey', $component->getMapKey());
     self::setDOMElementAttribute($element, 'mappedValue', $component->getMappedValue());
     if (Version::compare($this->getVersion(), '2.0.0', '>') === true) {
         self::setDOMElementAttribute($element, 'caseSensitive', $component->isCaseSensitive());
     }
     return $element;
 }