hdf5/doxygen/examples/TableSpec.html

194 lines
4.6 KiB
HTML
Raw Normal View History

Merge doxygen2 into develop (#553) * Fixed warnings and started H5Epublic.h. * Include H5FD* headers to correctly resolve references. * Doxygen2 (#330) * H5Eauto_is_v2. * Added a few more calls. * Added a few more H5E calls. * First cut of H5E v2. * Added the deprecated v1 calls. * Updated spacing. * Once more. * Taking some inspiration from Eigen3. * Add doxygen for the assigned functions: H5Pregister1,H5Pinsert1,H5Pen… (#352) * Add doxygen for the assigned functions: H5Pregister1,H5Pinsert1,H5Pencode1, H5Pget_filter_by_id1,H5Pget_version, H5Pset_file_space,H5Pget_file_space. Someone already adds H5Pget_filter1. Also fixs an extra parameter 'close' call back function for HPregister2. * doxygen work. fixs format by using clang-format. * doxgen work for H5Pregister1 etc. Addressed Barbara and Gerd's comments. For Quincey's comments, since we are not supposed to change the source code. I leave this to future improvements. * added documentation for H5P APIs (#350) * add documenation for H5Pget_buffer,H5Pget_data_transform,H5Pget_edc_check,H5Pget_hyper_vector_size,H5Pget_preserve,H5Pget_type_conv_cb,H5Pget_vlen_mem_manager,H5Pset_btree_ratios * format corrections * fixed grammer * fixed herr_t * Better name. * A fresh look. * add doxygen to H5Ppublic.h * use attention instead of warning * Add doxygen comments in H5Ppublic.h (#375) * Add doxygen comments in H5Ppublic.h * H5Pset_meta_block_size * H5Pset_metadata_read_attempts * H5Pset_multi_type * H5Pset_object_flush_cb * H5Pset_sieve_buf_size * H5Pset_small_data_block_size * H5Pset_all_coll_metadata_ops * H5Pget_all_coll_metadata_ops * Add DOXYGEN_EXAMPLES_DIR to src/CMakeLists.txt * Fix clang-format errors * Fix filenames in doxygen/examples * add doxygen to H5Ppublic.h (#378) * add doxygen to H5Ppublic.h * use attention instead of warning Co-authored-by: Kimmy Mu <kmu@hdfgroup.org> * Revert "add doxygen to H5Ppublic.h (#378)" This reverts commit 2ee1821b138a5c00b15ea57ce9e950367480f5f2. * Updated Doxygen variables. * I forgot to copy two images. * Enable desktop search by default. * Add my assigned Doxygen documentation. * Remove whitespace at EOL. Appease clang-format. * Addressed Chris' comments. * Added an alias for asynchronous functions. * One space is enough for all of us. * Slightly restructured RM page. * address some issues * reformatting * Style external links. * reformatting * reformatting * Added "Metadata Caching in HDF5" as a technical note example. * Revise this soon! * Added specification examples. * Fixed references. * Added H5AC cache image stuff and file format study. * Added older FMT versions. Where did 1.0 go? * Updated C/C++ note and replaced ambiguous labels. * Reformat source with clang v10.0.1. * Added the VFL technical note. * Added what I believe might be called version 1.0 of the format. * Added the remaining specs. * Added H5Z callback documentation and fixed a few mistakes. * Added dox for deprecated H5G calls and fixed a few snippet blockIDs. * clang-format happy? * Ok? * Bonus track: Deprecated H5D functions. * Carry over the more detailed group description. * Added documentation for the missing and deprecated H5R calls. * Life is easier and less repetitive w/ snippets. Use them! * Eliminate the snippet block ID artifacts in the HTML rendering. * Fixed snippet HTML artifacts and added a few missing calls. * Under 20 H5Ps to go! * Almost complete! * "This is a form of pedantry up with which I will not put." (Churchill) * Let's not waste as much space on bulleted lists! * First complete (?) draft of the Doxygen-based RM. * Completeness check and minor fixes along the way. * Pedantry. * Adding missing H5FD calls checkpoint. * Pedantry. * More pedantry. * Added H5Pset_fapl_log. * First draft of H5ES. * Fixed warnings. * Prep. for map module. * First cut of the map module. * Pedantry. * Possible H5F introduction. * Fix the indentation. * Pedantry. * Ditto. * Thanks to the reviewers for their comments. * Added missing images. * Line numbers are a distraction here. * More examples, references, and clean-up. Don't repeat yourself! * Clang pedantry. * Ditto. * More reviewer comments... * Templatized references and cleaned up \todos. * Committing clang-format changes * Fixed MANIFEST. * Addressed Quincey's comments. (OCPLs) * Fixed a few more \todo items. * Fixed more \todo items. * Added attribute life cycle. * Forgot the examples file. * Committing clang-format changes * Pedantry. * Live and learn! * Added a sample H5D life cycle. * Committing clang-format changes * Pedantry. Co-authored-by: kyang2014 <kyang2014@users.noreply.github.com> Co-authored-by: Scot Breitenfeld <brtnfld@hdfgroup.org> Co-authored-by: Kimmy Mu <kmu@hdfgroup.org> Co-authored-by: Christopher Hogan <ChristopherHogan@users.noreply.github.com> Co-authored-by: jya-kmu <53388330+jya-kmu@users.noreply.github.com> Co-authored-by: David Young <dyoung@hdfgroup.org> Co-authored-by: Larry Knox <lrknox@hdfgroup.org> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-04-27 03:07:29 +08:00
<html>
<head>
<title>HDF5 Table Specification</title>
</head>
The HDF5 specification defines the standard objects and storage for the
standard HDF5 objects. (For information about the HDF5 library, model and
specification, see the HDF documentation.)&nbsp; This document is an additional
specification do define a standard profile for how to store tables in HDF5.
Table data in HDF5 is stored as HDF5 datasets with standard attributes to define
the properties of the tables.
<h2>
1. Overview</h2>
A generic table is a sequence of records, each record has a name and a type.
Table data is stored as an HDF5 one dimensional compound dataset.&nbsp; A table
is defined as a collection of records whose values are stored in fixed-length
fields. All records have the same structure and all values in each field have
the same data type.
<p>The dataset for a table is distinguished from other datasets by giving
it an attribute &quot;CLASS=TABLE&quot;.&nbsp;&nbsp;
Optional attributes allow the storage of a title for the Table and for
each column, and a fill value for each column.
<h2>
2.&nbsp; Table Attributes</h2>
The attributes for the Table are strings.&nbsp;They are written with the <a href="RM_H5LT.html#H5LTset_attribute_string"><code>H5LTset_attribute_string</code></a>
Lite API function.&nbsp; "Required" attributes must always be used. "Optional" attributes
must be used when required.
<br>&nbsp;
<h4>
Attributes</h4>
<dl>
<dt>
Attribute name="<b>CLASS</b>" (Required)</dt>
<dd>
This attribute is type H5T_C_S1, with size 5.</dd>
<dd>
For all Tables, the value of this attribute is &quot;TABLE&quot;.</dd>
<dd>
This attribute identifies this data set as intended to be interpreted as Table that conforms to the specifications on this page.</dd>
</dl>
<dl>
Attribute name="<b>VERSION</b>" (Required)
<dd>
This attribute is of type H5T_C_S1, with size corresponding to the length
of the version string.&nbsp; This attribute identifies the version number
of this specification to which it conforms.&nbsp; The current version number
is &quot;0.2&quot;.</dd>
</dl>
<dl>
<dt>
Attribute name="<b>TITLE</b>" (Optional)</dt>
<dd>
The <b>TITLE</b> is an optional String that is to be used as the
informative title of the whole table.
The <b>TITLE</b> is set with the parameter <code> table_title</code> of the function
<a href="RM_H5TB.html#H5TBmake_table"> <code> H5TBmake_table</code></a>.&nbsp;</dd>
</dl>
<dl>
<dt>
Attribute name="<b>FIELD_(n)_NAME</b>" (Required)</dt>
<dd>
The <b>FIELD_(n)_NAME</b> is an optional String that is to be used as the
informative title of column <b>n</b> of the table.
For each of the fields the word FIELD_ is concatenated with
the zero based field (n) index together with the name of the field.</dd>
</dl>
<dl>
<dt>
Attribute name="<b>FIELD_(n)_FILL</b>" (Optional)</dt>
<dd>
The <b>FIELD_(n)_FILL</b> is an optional String that is the fill value for
column <b>n</b> of the table.
For each of the fields the word FIELD_ is concatenated with
the zero based field (n) index together with the fill value, if present.
This value is written only when a fill value is defined for the table.</dd>
</dl>
<dl>
<br>&nbsp;
<center><table BORDER=2 BGCOLOR="#FFFFFF" >
<caption><b>Table 1. Attributes of an Image Dataset</b></caption>
<tr>
<td><b>Attribute Name</b></td>
<td><b>(R = Required</b>
<br><b>O= Optional)</b></td>
<td><b>Type</b></td>
<td><b>String Size</b></td>
<td><b>Value</b></td>
</tr>
<tr>
<td>CLASS</td>
<td>R</td>
<td>String</td>
<td>5</td>
<td>&quot;TABLE&quot;</td>
</tr>
<tr>
<td>VERSION</td>
<td>R</td>
<td>String</td>
<td>3</td>
<td>&quot;0.2&quot;</td>
</tr>
<tr>
<td>TITLE</td>
<td>O</td>
<td>String</td>
<td>&nbsp;</td>
<td>
<tr>
<td>FIELD_(n)_NAME</td>
<td>R</td>
<td>String</td>
<td>&nbsp;</td>
<td>
&nbsp;
<tr>
<td>FIELD_(n)_FILL</td>
<td>O*</td>
<td>String</td>
<td>&nbsp;</td>
<td>
&nbsp;
</table>
</center>
</dl>
<p>
<center>
&nbsp;
</center>
<i>* </i>The attribute FIELD_(n)_FILL is written to the table if a fill value is
specified on the creation of the Table. Otherwise, it is not.<p>The following
section of code shows the calls necessary to the creation of a table.
<p><code>/* Create a new HDF5 file using default properties. */<br>
file_id = H5Fcreate( &quot;my_table.h5&quot;, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT );</code> </p>
<p><code>/* Call the make table function */<br>
</code> <code>H5TBmake_table( "Table Title", file_id, "Table1", NFIELDS, NRECORDS, dst_size,&nbsp;<br>
field_names, dst_offset, field_type,&nbsp;<br>
chunk_size, fill_data, compress, p_data )&nbsp;</code> </p>
<p><code> /* Close the file. */<br>
status = H5Fclose( file_id );</code> </p>
</body>