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

            if (($format = $this->getDOMElementAttributeAs($element, 'format')) !== null) {
                $component->setFormat($format);
            }

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

            if (($base = $this->getDOMElementAttributeAs($element, 'base')) !== null) {
                $component->setBase((Format::isInteger($base) === true) ? intval($base) : $base);
            }

            if (($index = $this->getDOMElementAttributeAs($element, 'index')) !== null) {
                $component->setIndex((Format::isInteger($index) === true) ? intval($index) : $base);
            }

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

            if (($field = $this->getDOMElementAttributeAs($element, 'field')) !== null) {
                $component->setField($field);
            }

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

            if (($xmlBase = self::getXmlBase($element)) !== false) {
                $component->setXmlBase($xmlBase);
            }

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

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

            if (($format = $this->getDOMElementAttributeAs($element, 'format')) !== null) {
                $component->setFormat($format);
            }

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

            if (($base = $this->getDOMElementAttributeAs($element, 'base')) !== null) {
                $component->setBase((Format::isInteger($base) === true) ? intval($base) : $base);
            }

            if (($index = $this->getDOMElementAttributeAs($element, 'index')) !== null) {
                $component->setIndex((Format::isInteger($index) === true) ? intval($index) : $base);
            }

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

            if (($field = $this->getDOMElementAttributeAs($element, 'field')) !== null) {
                $component->setField($field);
            }

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

            if (($xmlBase = self::getXmlBase($element)) !== false) {
                $component->setXmlBase($xmlBase);
            }

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

            return $component;
        } else {
            $msg = "The mandatory 'identifier' attribute is missing from the 'printedVariable' element.";
            throw new UnmarshallingException($msg, $element);
        }
    }
protected function unmarshall ( DOMElement $ element ) { $ version = $ this -> getVersion ( ) ; if ( ( $ identifier = $ this -> getDOMElementAttributeAs ( $ element , 'identifier' ) ) !== null ) { $ component = new PrintedVariable ( $ identifier ) ; if ( ( $ format = $ this -> getDOMElementAttributeAs ( $ element , 'format' ) ) !== null ) { $ component -> setFormat ( $ format ) ; } if ( Version :: compare ( $ version , '2.1.0' , '>=' ) === true && ( $ powerForm = $ this -> getDOMElementAttributeAs ( $ element , 'powerForm' , 'boolean' ) ) !== null ) { $ component -> setPowerForm ( $ powerForm ) ; } if ( ( $ base = $ this -> getDOMElementAttributeAs ( $ element , 'base' ) ) !== null ) { $ component -> setBase ( ( Format :: isInteger ( $ base ) === true ) ? intval ( $ base ) : $ base ) ; } if ( ( $ index = $ this -> getDOMElementAttributeAs ( $ element , 'index' ) ) !== null ) { $ component -> setIndex ( ( Format :: isInteger ( $ index ) === true ) ? intval ( $ index ) : $ base ) ; } if ( Version :: compare ( $ version , '2.1.0' , '>=' ) === true && ( $ delimiter = $ this -> getDOMElementAttributeAs ( $ element , 'delimiter' ) ) !== null ) { $ component -> setDelimiter ( $ delimiter ) ; } if ( ( $ field = $ this -> getDOMElementAttributeAs ( $ element , 'field' ) ) !== null ) { $ component -> setField ( $ field ) ; } if ( Version :: compare ( $ version , '2.1.0' , '>=' ) === true && ( $ mappingIndicator = $ this -> getDOMElementAttributeAs ( $ element , 'mappingIndicator' ) ) !== null ) { $ component -> setMappingIndicator ( $ mappingIndicator ) ; } if ( ( $ xmlBase = self :: getXmlBase ( $ element ) ) !== false ) { $ component -> setXmlBase ( $ xmlBase ) ; } $ this -> fillBodyElement ( $ component , $ element ) ; return $ component ; } else { $ msg = "The mandatory 'identifier' attribute is missing from the 'printedVariable' element." ; throw new UnmarshallingException ( $ msg , $ element ) ; } }
Unmarshall a DOMElement object corresponding to a printedVariable element.

@param \DOMElement $element A DOMElement object.
@return \qtism\data\QtiComponent A PrintedVariable object.
@throws \qtism\data\storage\xml\marshalling\UnmarshallingException
Unmarshall a DOMElement object corresponding to a printedVariable element .