protected function unmarshall(DOMElement $element)
    {
        // href is a mandatory value, retrieve it first.
        if (($value = $this->getDOMElementAttributeAs($element, 'href', 'string')) !== null) {
            $object = new Stylesheet($value);

            if (($value = $this->getDOMElementAttributeAs($element, 'type', 'string')) !== null) {
                $object->setType($value);
            }

            if (($value = $this->getDOMElementAttributeAs($element, 'media', 'string')) !== null) {
                $object->setMedia($value);
            }

            if (($value = $this->getDOMElementAttributeAs($element, 'title', 'string')) !== null) {
                $object->setTitle($value);
            }
        } else {
            $msg = "The mandatory attribute 'href' is missing.";
            throw new UnmarshallingException($msg, $element);
        }

        return $object;
    }