summaryrefslogtreecommitdiffstats
path: root/doxygen/examples/TableSpec.html
blob: 474176e14d557f9ab9b93249e6de8fced9fb75ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
<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>