diff options
Diffstat (limited to 'doc/html/ddl.html')
-rw-r--r-- | doc/html/ddl.html | 130 |
1 files changed, 48 insertions, 82 deletions
diff --git a/doc/html/ddl.html b/doc/html/ddl.html index 81228ca..038bf0d 100644 --- a/doc/html/ddl.html +++ b/doc/html/ddl.html @@ -44,36 +44,35 @@ of the some symbols used. <attr_name> ::= <identifier> -<datatype> ::= datatype "<datatype_name>" ; | // shared data type - datatype { <scalar_datatype> } ; | - datatype { <dt_definition>+ } ; +<datatype> ::= datatype { "<datatype_name>" } | // shared data type + datatype { <scalar_datatype> } | + datatype { <dt_definition>+ } <datatype_name> ::= <identifier> -<scalar_datatype> ::= int8 | uint8 | ... // data types supported by HDF5 +<scalar_datatype> ::= H5T_NATIVE_CHAR | H5T_NATIVE_INT | ... // data types supported by HDF5 -<dt_definition> ::= "<datatype_name>" <field_name> ; | <scalar_datatype> <field_name> ; +<dt_definition> ::= <scalar_datatype> <field_name> ; -<field_name> ::= one or more field names separated by "," +<field_name> ::= <identifier> -<dataspace> ::= dataspace "<dataspace_name>" ; | - dataspace {array <current_dims> <max_dims>} ; | - dataspace {other <ds_definition>+ } ; +<dataspace> ::= dataspace { "<dataspace_name>" } | + dataspace { array <current_dims> <max_dims>} | + dataspace { other <ds_definition>+ } <dataspace_name> ::= <identifier> -<current_dims> ::= a list of integers represented of the form ( , , .. , ) +<current_dims> ::= a list of integers represented as (<i>i<FONT SIZE=1.0>1</i></FONT>, <i>i<FONT SIZE=1.0>2</i></FONT>, ... ) where <i>i<FONT SIZE=1.0>k</i></FONT> is an integer, <i>k</i> = 1,2,... -<max_dims> ::= a list of integers or H5S_UNLIMITED represented of the form ( , , .. , ) +<max_dims> ::= (<i>i<FONT SIZE=1.0>1</i></FONT>, <i>i<FONT SIZE=1.0>2</i></FONT>, ... ) where <i>i<FONT SIZE=1.0>k</i></FONT> is an integer or H5S_UNLIMITED <ds_definition> ::= TBD -<data> ::= data {TBD} ; +<data> ::= data {TBD} <group_member> ::= <named_datatype> | <named_dataspace> | <group> | <dataset> | <link> -<named_datatype> ::= datatype "<datatype_name>" { <scalar_datatype> } | - datatype "<datatype_name>" { <dt_definition>+ } +<named_datatype> ::= datatype "<datatype_name>" { <dt_definition>+ } <named_dataspace> ::= dataspace "<dataspace_name>" {array <current_dims> <max_dims> } | dataspace "<dataspace_name>" { other <ds_definition>+ } @@ -94,18 +93,18 @@ of the some symbols used. <dataset_name> ::= <identifier> -<storagelayout> :: = storagelayout <contiguous_layout> ; | - storagelayout <chunked_layout> ; | - storagelayout <compact_layout> ; | - storagelayout <external_layout> ; +<storagelayout> :: = storagelayout <contiguous_layout> | + storagelayout <chunked_layout> | + storagelayout <compact_layout> | + storagelayout <external_layout> <contiguous_layout> ::= {contiguous} // default <chunked_layout> ::= {chunked <dims> } -<dims> ::= a list of integers represented of the form ( , , .. , ) +<dims> ::= (<i>i<FONT SIZE=1.0>1</i></FONT>, <i>i<FONT SIZE=1.0>2</i></FONT>, ... ), <i>i<FONT SIZE=1.0>k</i></FONT> is an integer, <i>k</i> = 1,2,... -<compact_layout> ::= TBD // not implemented yet +<compact_layout> ::= TBD <external_layout> ::= {external <external_file>+ } @@ -115,19 +114,19 @@ of the some symbols used. <size> ::= an integer -<compression> :: = compression { TBD } ; //algorithm name and properties? +<compression> :: = compression { TBD } -<dataset_attribute> ::= <attribute> ; +<dataset_attribute> ::= <attribute> <link> ::= <hardlink> | <softlink> -<hardlink> ::= hardlink "<hardlink_name>" { linktarget "<target>"; } +<hardlink> ::= hardlink "<hardlink_name>" { linktarget "<target>" } <hardlink_name> ::= <identifier> <target> ::= <identifier> -<softlink> ::= softlink "<softlink_name>" { linktarget "<target>"; } +<softlink> ::= softlink "<softlink_name>" { linktarget "<target>" } <softlink_name> ::= <identifier> @@ -146,94 +145,61 @@ Consider an HDF5 file, example.h5, with the following structure: / | \ group1 group3 dataset3 - / \ | ^ - group2 dataset2 hardlink --| - / \ ^ - dataset1 softlink | - |------| + / \ | + group2 dataset2 softlink + / + dataset1 + hdf5 "example" { group "/" { - datatype "shared_datatype1" { // named data type - char name[20], address[40]; - int32 id; + datatype "shared_datatype" { // named data type + H5T_NATIVE_CHAR c[20]; + H5T_NATIVE_INT i; } - datatype "shared_datatype2" { - "shared_datatype1" rec[100]; - float32 total; - } - - dataspace "shared_dataspace1" { array (1000) (1000)} // named data space - - - - attribute "group_attribute1" { //group attribute - datatype {int32}; - dataspace "shared_dataspace1"; - } - - attribute "group_attribute2" { - datatype {int32}; - dataspace {array (3,5) (3,5)} ; - data {(0,0,0,0,0) (1,1,1,1,1) (2,2,2,2,2)}; + attribute "group_attribute" { //attribute + datatype {H5T_NATIVE_CHAR} + dataspace {array (20) (20)} + data { "group attribute" } } - group "group1" { - attribute "group1_attribute" { - datatype {char}; - dataspace {array (100) (200)}; - data {("attribute_of_group_1")}; - } - group "group2" { - datatype "shared_datatype3" { - int8 z; - int32 x; - } - dataset "dataset1" { - dataspace "shared_dataspace1"; - datatype "shared_datatype3"; + dataspace {array (4) (4)} + datatype {"shared_datatype"} attribute "dataset1_attr" { - datatype {char}; - dataspace {array (10) (10)}; - data {("data1")}; - }; + datatype {H5T_NATIVE_CHAR} + dataspace {array (10) (10)} + } } - - - softlink "sl" { - linktarget "/group1/dataset2"; - } } dataset "dataset2" { - datatype {int8}; - dataspace {array (2,5) (unlimited, 5)}; - data {(0,0,0,0,0) (0,0,0,0,0)}; + datatype {H5T_NATIVE_INT} + dataspace {array (2,5) (H5S_UNLIMITED, 5)} + data {0,0,0,0,0,0,0,0,0,0} } } group "group3" { - hardlink "hl" { - linktarget "/dataset3" ; + softlink "slink" { + linktarget "/sometarget" } } dataset "dataset3" { - datatype { float32 }; - dataspace {array (1000,1000) (1000,1000) }; - storagelayout {chunked (250,1000)}; + datatype {H5T_NATIVE_FLOAT} + dataspace {array (100,100) (100,100)} } -} // root group +} } |