[svn-r1404]

H5.format.html
	Copy edits
	Beginning of revisions to bring the Specification up-to-date and
	    move it to present tense
	Couple of new intro paragraphs, designed largely to offer the
	    user a bit more context

H5.user.html
Datatypes.html
	Font correction and minor formatting changes.

H5.user.PrintGen.html
H5.user.PrintTpg.html
	New files to enable creating a searchable and printable version
	of the HDF5 User's Guide.  These files enable the creation of a
	PDF file containing the entire document.  H5.user.PrintGen.html
	controls the print job; H5.user.PrintTpg.html is the title page
	for the PDF volume.
This commit is contained in:
Frank Baker
1999-07-01 21:54:33 -05:00
parent 2e69c87e6b
commit a129c4d54e
5 changed files with 302 additions and 4 deletions

View File

@@ -4,7 +4,7 @@
HDF5 Disk-Format Specification
</title>
</head>
<body>
<body bgcolor="#FFFFFF">
<center><h1>HDF5: Disk Format Implementation</h1></center>
<ol type=I>
@@ -81,10 +81,97 @@
<P>The format of a HDF5 file on disk encompasses several
key ideas of the current HDF4 & AIO file formats as well as
addressing some short-comings therein. The new format will be
more self-describing than the HDF4 format and will be more
addressing some short-comings therein. The new format is
more self-describing than the HDF4 format and is more
uniformly applied to data objects in the file.
<P>An HDF5 file can be thought of as a directed graph.
The nodes of this graph are the higher-level HDF5 objects,
including groups, datasets, datatypes, and dataspaces.
This document describes the lower-level data objects used by
the HDF5 library to represent those higher-level objects and
their properties.
<P>At the lowest level, an HDF5 file is made up of the following
objects:
<ul>
<li>A bool block
<li>B-tree nodes (containing either symbol nodes or raw data chunks)
<li>Object headers
<li>Collections
<li>Local heaps
<li>Free space
</ul>
As indicated above, the HDF5 library uses and interprets these
low-level objects to describe the high-level HDF5 objects that
are revealed to the user, and to higher-level applications,
through the HDF5 APIs.
<!--
<blockquote>
<pre>
---------- Edit from here... -------------
Once you know about all these low-level objects you can build bigger
and better things, which is what most people are interested in and
which are the objects that the hdf5 library exposes in the API. They
are:
* Groups
* Datasets
* Datatypes
* Data spaces
For instance, a group is an object header that contains a message that
points to a local heap and to a B-tree which points to symbol nodes.
A dataset is an object header that contains messages that describe
data type, space, layout, filters, external files, fill value, etc
with the layout message pointing to either a raw data chunk or to a
B-tree that points to raw data chunks.
Elena> Would it be more logical to discuss things in this order?
Elena> Intro ( What is HDF5 file, etc.)
Elena> File Header
Elena> File Body
Elena> Objects
Elena> Object Header
Elena> Object Header Message Data
Elena> NOTE: give reference to the detailed discussion of the B-trees
Elena> when needed. Right now we do not have specification (only general one)
Elena> for the Symbol Table B-trees and B-trees used to manage chunked datasets.
Elena> B-trees
Elena> General Discussion
Elena> Object related discussions
Elena> Symbol Tables
Elena> Global heap
Elena> "Free-space object"
That might be a good order for someone that's familiar with the API
but if you're trying to get all the way down to the file format level
it results in a lot of forward references in the documentation. It
might be better to do a bottom-up documentation similar to the order I
used above:
* General file layout
* Boot block
* Format-level objects (B-trees, symbol nodes, object headers, etc).
* Object header messages
* High-level objects (datasets, groups, named types and spaces, etc)
where "high-level objects" description mostly describes which object
header messages are required, optional, mutually exclusive, etc. for
each high-level object.
---------- ...to here. -------------
</pre>
</blockquote>
-->
<P>Three levels of information compose the file format. The level
0 contains basic information for identifying and