protected function unmarshall(DOMElement $element)
    {
        $version = $this->getVersion();
        if (($identifier = $this->getDOMElementAttributeAs($element, 'identifier')) !== null) {

            $component = new Gap($identifier);

            if (($fixed = $this->getDOMElementAttributeAs($element, 'fixed', 'boolean')) !== null) {
                $component->setFixed($fixed);
            }

            if (Version::compare($version, '2.1.0', '>=') === true && ($templateIdentifier = $this->getDOMElementAttributeAs($element, 'templateIdentifier')) !== null) {
                $component->setTemplateIdentifier($templateIdentifier);
            }

            if (Version::compare($version, '2.1.0', '>=') === true && ($showHide = $this->getDOMElementAttributeAs($element, 'showHide')) !== null) {
                $component->setShowHide(ShowHide::getConstantByName($showHide));
            }

            if (Version::compare($version, '2.1.0', '>=') === true && ($required = $this->getDOMElementAttributeAs($element, 'required', 'boolean')) !== null) {
                $component->setRequired($required);
            }
            
            if (Version::compare($version, '2.1.0', '<') === true && ($matchGroup = $this->getDOMElementAttributeAs($element, 'matchGroup')) !== null) {
                $component->setMatchGroup(new IdentifierCollection(explode("\x20", $matchGroup)));
            }

            $this->fillBodyElement($component, $element);

            return $component;

        } else {
            $msg = "The mandatory 'identifier' attribute is missing from the 'gap' element.";
            throw new UnmarshallingException($msg, $element);
        }
    }
protected function unmarshall(DOMElement $element)
    {
        $version = $this->getVersion();
        if (($identifier = $this->getDOMElementAttributeAs($element, 'identifier')) !== null) {

            $component = new Gap($identifier);

            if (($fixed = $this->getDOMElementAttributeAs($element, 'fixed', 'boolean')) !== null) {
                $component->setFixed($fixed);
            }

            if (Version::compare($version, '2.1.0', '>=') === true && ($templateIdentifier = $this->getDOMElementAttributeAs($element, 'templateIdentifier')) !== null) {
                $component->setTemplateIdentifier($templateIdentifier);
            }

            if (Version::compare($version, '2.1.0', '>=') === true && ($showHide = $this->getDOMElementAttributeAs($element, 'showHide')) !== null) {
                $component->setShowHide(ShowHide::getConstantByName($showHide));
            }

            if (Version::compare($version, '2.1.0', '>=') === true && ($required = $this->getDOMElementAttributeAs($element, 'required', 'boolean')) !== null) {
                $component->setRequired($required);
            }
            
            if (Version::compare($version, '2.1.0', '<') === true && ($matchGroup = $this->getDOMElementAttributeAs($element, 'matchGroup')) !== null) {
                $component->setMatchGroup(new IdentifierCollection(explode("\x20", $matchGroup)));
            }

            $this->fillBodyElement($component, $element);

            return $component;

        } else {
            $msg = "The mandatory 'identifier' attribute is missing from the 'gap' element.";
            throw new UnmarshallingException($msg, $element);
        }
    }
protected function unmarshall ( DOMElement $ element ) { $ version = $ this -> getVersion ( ) ; if ( ( $ identifier = $ this -> getDOMElementAttributeAs ( $ element , 'identifier' ) ) !== null ) { $ component = new Gap ( $ identifier ) ; if ( ( $ fixed = $ this -> getDOMElementAttributeAs ( $ element , 'fixed' , 'boolean' ) ) !== null ) { $ component -> setFixed ( $ fixed ) ; } if ( Version :: compare ( $ version , '2.1.0' , '>=' ) === true && ( $ templateIdentifier = $ this -> getDOMElementAttributeAs ( $ element , 'templateIdentifier' ) ) !== null ) { $ component -> setTemplateIdentifier ( $ templateIdentifier ) ; } if ( Version :: compare ( $ version , '2.1.0' , '>=' ) === true && ( $ showHide = $ this -> getDOMElementAttributeAs ( $ element , 'showHide' ) ) !== null ) { $ component -> setShowHide ( ShowHide :: getConstantByName ( $ showHide ) ) ; } if ( Version :: compare ( $ version , '2.1.0' , '>=' ) === true && ( $ required = $ this -> getDOMElementAttributeAs ( $ element , 'required' , 'boolean' ) ) !== null ) { $ component -> setRequired ( $ required ) ; } if ( Version :: compare ( $ version , '2.1.0' , '<' ) === true && ( $ matchGroup = $ this -> getDOMElementAttributeAs ( $ element , 'matchGroup' ) ) !== null ) { $ component -> setMatchGroup ( new IdentifierCollection ( explode ( "\x20" , $ matchGroup ) ) ) ; } $ this -> fillBodyElement ( $ component , $ element ) ; return $ component ; } else { $ msg = "The mandatory 'identifier' attribute is missing from the 'gap' element." ; throw new UnmarshallingException ( $ msg , $ element ) ; } }
Unmarshall a DOMElement object corresponding to an XHTML gap element.

@param \DOMElement $element A DOMElement object.
@return \qtism\data\QtiComponent A Gap object.
@throws \qtism\data\storage\xml\marshalling\UnmarshallingException
Unmarshall a DOMElement object corresponding to an XHTML gap element .