public static function fromXml(\DOMElement $xml)
    {
        $static = new static();

        $title = $xml->getElementsByTagName('title');
        $static->title = StringLiteral::fromXml($title);

        $author = $xml->getElementsByTagName('author');
        $static->author = StringLiteral::fromXml($author);

        $year = $xml->getElementsByTagName('year');
        $static->year = StringLiteral::fromXml($year);

        $imprint = $xml->getElementsByTagName('imprint');
        $static->imprint = StringLiteral::fromXml($imprint);

        $url = $xml->getElementsByTagName('docUrl');
        $static->url = Path::fromXml($url);

        $isbnIssn = $xml->getElementsByTagName('isbn_issn');
        $static->isbnIssn = StringLiteral::fromXml($isbnIssn);

        $docNumber = $xml->getElementsByTagName('docNumber');
        $static->docNumber = StringLiteral::fromXml($docNumber);

        $itemId = $xml->getElementsByTagName('itemId');
        $static->itemId = StringLiteral::fromXml($itemId);

        return $static;
    }