<p>One or more <hash/> elements MUST be present when offering a file, but those elements MAY be empty if the hash has not yet been computed. If there is no computed hash value, the <hash/> element(s) MUST possess an 'algo' attribute specifying which hash algorithm will be used. Once a hash has been calculated by the File Sender, the File Sender SHOULD inform the File Receiver of the hash value as described in <linkurl='#checksum'>Checksum</link>.</p>
<p>One or more <hash/> elements MUST be present when offering a file, but those elements MAY be empty if the hash has not yet been computed. If there is no computed hash value, the <hash/> element(s) MUST possess an 'algo' attribute specifying which hash algorithm will be used. Once a hash has been calculated by the File Sender, the File Sender SHOULD inform the File Receiver of the hash value as described in <linkurl='#hash'>Checksum</link>.</p>
<p>Additional elements MAY be included as children of the <file/> element to provide additional metadata about the file, such as &xep0264;.</p>
<p>The optional <range/> element MAY possess two attributes:</p>